[Bug middle-end/28581] Illegal loading the address of a label with -O2

steven at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Sun Nov 18 16:05:00 GMT 2007



------- Comment #12 from steven at gcc dot gnu dot org  2007-11-18 16:05 -------
This is not a smal thing to fix at all.

"Fixing" this involves teaching the compiler that some labels cannot be moved;
that these labels are optimization barriers (i.e. no insn can be safely moved
up or down across the label); that basic blocks beginning with an addressable
label cannot be merged with other basic blocks, duplicated for e.g. unrolling
or versioning, or removed if they have become unreachable; and probably many
more things.

This is not "spoiling" the idea of the extension.  You're just using it in a
way that the extension is not intended for.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28581



More information about the Gcc-bugs mailing list