[Bug rtl-optimization/48156] [4.6/4.7 Regression] wrong code with -fcrossjumping
steven at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Mar 17 00:58:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48156
--- Comment #1 from Steven Bosscher <steven at gcc dot gnu.org> 2011-03-17 00:24:52 UTC ---
Cross-jumping changes this:
24 NOTE_INSN_BASIC_BLOCK
25 si:SI=bx:SI
REG_DEAD: bx:SI
26 di:SI=0x8
27 call <...>
REG_DEAD: di:SI
REG_DEAD: si:SI
REG_EH_REGION: 0
48 pc=L37
i 49: barrier
L30:
31 NOTE_INSN_BASIC_BLOCK
32 si:SI=bx:SI
REG_DEAD: bx:SI
33 di:SI=0x4
34 call <...>
REG_DEAD: di:SI
REG_DEAD: si:SI
REG_EH_REGION: 0
L37:
38 NOTE_INSN_BASIC_BLOCK
55 NOTE_INSN_EPILOGUE_BEG
to this:
24 NOTE_INSN_BASIC_BLOCK
26 di:SI=0x8
62 pc=L61
i 63: barrier
L30:
31 NOTE_INSN_BASIC_BLOCK
33 di:SI=0x4
L61:
59 NOTE_INSN_BASIC_BLOCK
34 call <...>
REG_DEAD: di:SI
REG_DEAD: si:SI
REG_EH_REGION: 0
55 NOTE_INSN_EPILOGUE_BEG
So the call is unified, and that looks OK to me. Investigating...
More information about the Gcc-bugs
mailing list