[Bug c/92276] Embedded __attribute__ ((optimize("unroll-loops"))) is not working together with '__attribute__ ((__always_inline__))'

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Oct 30 13:10:00 GMT 2019


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92276

--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Lijian Zhang from comment #4)
> (In reply to Richard Biener from comment #1)
> > Instead of trying to force the compiler to unroll with -funroll-loops you can
> > use #pragma GCC unroll N on individual loops instead.
> > 
> > The attributes should not conflict in any way.
> 
> Hi Richard,
> Does it make sense to you that '__attribute__ ((optimize("unroll-loops")))'
> has to be moved ahead of the caller, if the callee is defined with
> '__attribute__ ((__always_inline__))'?

Those attributes apply to a function so once the callee is inlined what
matters is the callers attribute.  So yes.


More information about the Gcc-bugs mailing list