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 optimization/8967] [3.4 regression] Making class data members `const' pessimizes code


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

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



------- Additional Comments From pinskia@physics.uc.edu  2003-06-03 19:04 -------
Still happens on the mainline (20030603):
Here is the diff of the rtl right before the life analysis (cse2):
--- pr8967c.cc.19.cse2  Tue Jun  3 14:54:28 2003
+++ pr8967m.cc.19.cse2  Tue Jun  3 14:54:27 2003
@@ -1,5 +1,5 @@
 
-;; Function Const Const_foo()
+;; Function Mutable Mutable_foo()
 
 81 registers.
 
@@ -28,32 +28,32 @@
 
 (note 4 3 24 0 NOTE_INSN_FUNCTION_BEG)
 
-(insn 24 4 27 0 0x400b61b8 (set (mem/s/u:SI (plus:SI (reg/f:SI 20 frame)
+(insn 24 4 27 0 0x400b61b8 (set (mem/s:SI (plus:SI (reg/f:SI 20 frame)
                 (const_int -8 [0xfffffff8])) [4 S4 A32])
         (const_int 1 [0x1])) 38 {*movsi_1} (nil)
     (nil))
 
-(insn 27 24 44 0 0x400b61b8 (set (mem/s/u:SI (plus:SI (reg/f:SI 20 frame)
+(insn 27 24 44 0 0x400b61b8 (set (mem/s:SI (plus:SI (reg/f:SI 20 frame)
                 (const_int -4 [0xfffffffc])) [4 <variable>.y+0 S4 A32])
         (const_int 2 [0x2])) 38 {*movsi_1} (nil)
     (nil))
 
-(insn 44 27 47 0 0x400b6210 (set (mem/s/u:SI (plus:SI (reg/f:SI 20 frame)
+(insn 44 27 47 0 0x400b6210 (set (mem/s:SI (plus:SI (reg/f:SI 20 frame)
                 (const_int -16 [0xfffffff0])) [4 S4 A32])
         (const_int 8 [0x8])) 38 {*movsi_1} (nil)
     (nil))
 
-(insn 47 44 75 0 0x400b6210 (set (mem/s/u:SI (plus:SI (reg/f:SI 20 frame)
+(insn 47 44 75 0 0x400b6210 (set (mem/s:SI (plus:SI (reg/f:SI 20 frame)
                 (const_int -12 [0xfffffff4])) [4 <variable>.y+0 S4 A32])
         (const_int 9 [0x9])) 38 {*movsi_1} (nil)
     (nil))
 
-(insn 75 47 78 0 0x400b62c0 (set (mem/s/u:SI (plus:SI (reg/f:SI 20 frame)
+(insn 75 47 78 0 0x400b62c0 (set (mem/s:SI (plus:SI (reg/f:SI 20 frame)
                 (const_int -24 [0xffffffe8])) [4 S4 A32])
         (const_int 9 [0x9])) 38 {*movsi_1} (nil)
     (nil))
 
-(insn 78 75 91 0 0x400b62c0 (set (mem/s/u:SI (plus:SI (reg/f:SI 20 frame)
+(insn 78 75 91 0 0x400b62c0 (set (mem/s:SI (plus:SI (reg/f:SI 20 frame)
                 (const_int -20 [0xffffffec])) [4 <variable>.y+0 S4 A32])
         (const_int 11 [0xb])) 38 {*movsi_1} (nil)
     (nil))


Looks like the /u is what is causing life analysis to go wrong.



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


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