cmc-rep wrote:
> Missing documentation in clang/docs/LanguageExtensions.rst. Missing release
> note.
>
> It's not clear to me how, exactly, we expect users to use this. "Disabling
> LICM" disables the pass itself, but there are other passes which can
> effectively perform hosting. So it's basically "do less hoisting", where
> exactly how much less is undefined.
Without further details, we have some domain-specific cases, in which the code
pattern looks like the following:
kernel ( ... )
Loop:
RealKernel( ... )
The real kernel will be inlined, fully optimized as the loop-body. However, we
really want to minimize the code hoisting out of the outer-loop. In our case,
LICM is the main culprit.
Take one step back: this change simply exposes the already-existing llvm meta
data: llvm.loop.licm.disable. It is up to users to decide when to use it.
https://github.com/llvm/llvm-project/pull/188108
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits