This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug rtl-optimization/48156] [4.6/4.7 Regression] wrong code with -fcrossjumping


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...


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]