[Bug optimization/10528] Unexpected loop un-optimization when removing a field of a class

pinskia@physics.uc.edu gcc-bugzilla@gcc.gnu.org
Thu Jun 5 15:35:00 GMT 2003


PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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


pinskia@physics.uc.edu changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
   Last reconfirmed|0000-00-00 00:00:00         |2003-06-05 15:35:30
               date|                            |


------- Additional Comments From pinskia@physics.uc.edu  2003-06-05 15:35 -------
It is still happens on the mainline (20030604) but it infacts adds an extra load on the one 
with the optimization field that is not need.  It removes a jump though so the mainline will 
be faster than 3.3 because of that.

without the optimization field:
.L18:   
        addl    (%eax), %ecx    #, c
        addl    $4, %eax        #, tmp108 
        movl    %eax, 4(%ebx)   # tmp108, <variable>._M_current
.L5:    
        movl    4(%ebx), %eax   #, tmp96
        cmpl    %edx, %eax      # <variable>._M_finish, tmp96
        jne     .L18    #,  


with the optimization field

.L18:   
        movl    (%eax), %edx    #* <variable>._M_start,  <-- extra load
        addl    $4, %eax        #, <variable>._M_start
        addl    %edx, %ebx      #, c
.L5:    
        cmpl    %ecx, %eax      # <variable>._M_finish, <variable>._M_start
        jne     .L18    #,  





------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.



More information about the Gcc-bugs mailing list