[Bug target/88308] ICE in maybe_record_trace_start, at dwarf2cfi.c:2309

acsawdey at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Feb 13 00:01:00 GMT 2019


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

--- Comment #4 from acsawdey at gcc dot gnu.org ---
Tracked down the difference between -m32 and -m64. In the -m64 case,
rs6000_emit_move calls force_const_mem and that will set LABEL_PRESERVE_P on a
label_ref that it finds, which is what marks the jump table label for
preservation. In the -m32 case, none of this if tests succeed inside the case
E_SImode/E_DImode and as a result rs6000_emit_move does not call
force_const_mem.

It really seems to me like the label for the jump table should be marked for
preservation somewhere more definite than this.


More information about the Gcc-bugs mailing list