[Bug rtl-optimization/40667] [4.4/4.5 Regression] stack frames are generated even with -fomit-frame-pointer

ubizjak at gmail dot com gcc-bugzilla@gcc.gnu.org
Thu Jul 9 09:05:00 GMT 2009



------- Comment #4 from ubizjak at gmail dot com  2009-07-09 09:05 -------
For some reason IRA reloads argp using ebp-relative address as:

Reloads for insn # 22
Reload 0: reload_in (DI) = (mem/c/i:DI (plus:SI (reg/f:SI 6 bp)
                                                        (const_int 8 [0x8])) [2
x+0 S8 A32])
        GENERAL_REGS, RELOAD_FOR_INPUT (opnum = 1), optional
        reload_in_reg: (mem/c/i:DI (plus:SI (reg/f:SI 6 bp)
                                                        (const_int 8 [0x8])) [2
x+0 S8 A32])


Without IRA (4.3.x), gcc reloads argp through esp-relative addr:

Reloads for insn # 23
Reload 0: reload_in (DI) = (mem/c/i:DI (plus:SI (reg/f:SI 7 sp)
                                                        (const_int 12 [0xc]))
[2 x+0 S8 A32])
        GENERAL_REGS, RELOAD_FOR_INPUT (opnum = 1), optional
        reload_in_reg: (mem/c/i:DI (plus:SI (reg/f:SI 7 sp)
                                                        (const_int 12 [0xc]))
[2 x+0 S8 A32])


Confirmed, regression from 4.3.


-- 

ubizjak at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |vmakarov at gcc dot gnu dot
                   |                            |org
             Status|UNCONFIRMED                 |NEW
          Component|regression                  |rtl-optimization
     Ever Confirmed|0                           |1
           Keywords|                            |ra
      Known to work|                            |4.3.4
   Last reconfirmed|0000-00-00 00:00:00         |2009-07-09 09:05:17
               date|                            |
            Summary|Performance regression:     |[4.4/4.5 Regression] stack
                   |stack frames are generated  |frames are generated even
                   |even with -fomit-frame-     |with -fomit-frame-pointer
                   |pointer                     |


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



More information about the Gcc-bugs mailing list