[Bug middle-end/124707] Provide `#pragma GCC loop nolim` which disables gimple level lim (NOT PRE) for a specific loop
amonakov at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Mar 31 11:22:43 GMT 2026
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124707
--- Comment #5 from Alexander Monakov <amonakov at gcc dot gnu.org> ---
I believe if the user is advanced enough to think "I want to limit LICM here",
they are also advanced enough to know how to achieve that with an empty asm
that pretends to modify all invariants that need to be kept in the loop, e.g.:
asm("" : "+r"(inv1), ... : "r"(loop_counter));
except that "r" only works for integers, "+X" doesn't work reliably, and so
they need to fish out the target-specific constraint letter for floats/vectors.
How about making "+X" and "=X" work reliably for operands that are not
mentioned in the asm template string?
Or offering another way to inject non-transparent data dependencies?
More information about the Gcc-bugs
mailing list