public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug optimization/8967] [3.4 regression] Making class data members `const' pessimizes code
       [not found] <20021216151600.8967.martin@xemacs.org>
@ 2003-06-03 19:04 ` pinskia@physics.uc.edu
  2003-06-05 18:39 ` bangerth@dealii.org
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 4+ messages in thread
From: pinskia@physics.uc.edu @ 2003-06-03 19:04 UTC (permalink / raw)
  To: gcc-bugs

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.


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug optimization/8967] [3.4 regression] Making class data members `const' pessimizes code
       [not found] <20021216151600.8967.martin@xemacs.org>
  2003-06-03 19:04 ` [Bug optimization/8967] [3.4 regression] Making class data members `const' pessimizes code pinskia@physics.uc.edu
@ 2003-06-05 18:39 ` bangerth@dealii.org
  2003-09-12 15:08 ` cvs-commit at gcc dot gnu dot org
  2003-09-23 18:51 ` pinskia at gcc dot gnu dot org
  3 siblings, 0 replies; 4+ messages in thread
From: bangerth@dealii.org @ 2003-06-05 18:39 UTC (permalink / raw)
  To: gcc-bugs

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


bangerth@dealii.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |critical
           Priority|P4                          |P2
   Target Milestone|---                         |3.4





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


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug optimization/8967] [3.4 regression] Making class data members `const' pessimizes code
       [not found] <20021216151600.8967.martin@xemacs.org>
  2003-06-03 19:04 ` [Bug optimization/8967] [3.4 regression] Making class data members `const' pessimizes code pinskia@physics.uc.edu
  2003-06-05 18:39 ` bangerth@dealii.org
@ 2003-09-12 15:08 ` cvs-commit at gcc dot gnu dot org
  2003-09-23 18:51 ` pinskia at gcc dot gnu dot org
  3 siblings, 0 replies; 4+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2003-09-12 15:08 UTC (permalink / raw)
  To: gcc-bugs

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 cvs-commit at gcc dot gnu dot org  2003-09-12 15:08 -------
Subject: Bug 8967

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	sayle@gcc.gnu.org	2003-09-12 15:07:52

Modified files:
	gcc            : ChangeLog alias.c rtl.h flow.c 

Log message:
	PR optimization/8967
	* alias.c (write_dependence_p): Modify to take an additional constp
	argument that controls whether the UNCHANGING_RTX_P flags are used.
	(anti_dependence, output_dependence): Adjust write_dependence_p
	callers to pass this additional argument, to return the same result.
	(unchanging_anti_dependence): New variant of anti_dependence that
	ignores the UNCHANGING_RTX_P property on memory references.
	* rtl.h (unchaning_anti_dependence): Prototype here.
	* flow.c (init_propagate_block): Place fake constant mem writes on
	the mem_set_list so that dead writes to const variables are deleted.
	(insn_dead_p): Change anti_dependence to unchanging_anti_dependence.
	(mark_used_regs): Likewise.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.1036&r2=2.1037
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/alias.c.diff?cvsroot=gcc&r1=1.199&r2=1.200
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/rtl.h.diff?cvsroot=gcc&r1=1.434&r2=1.435
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/flow.c.diff?cvsroot=gcc&r1=1.561&r2=1.562


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug optimization/8967] [3.4 regression] Making class data members `const' pessimizes code
       [not found] <20021216151600.8967.martin@xemacs.org>
                   ` (2 preceding siblings ...)
  2003-09-12 15:08 ` cvs-commit at gcc dot gnu dot org
@ 2003-09-23 18:51 ` pinskia at gcc dot gnu dot org
  3 siblings, 0 replies; 4+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2003-09-23 18:51 UTC (permalink / raw)
  To: gcc-bugs

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


pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED


------- Additional Comments From pinskia at gcc dot gnu dot org  2003-09-23 17:51 -------
Fixed by the patch.


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2003-09-23 17:51 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20021216151600.8967.martin@xemacs.org>
2003-06-03 19:04 ` [Bug optimization/8967] [3.4 regression] Making class data members `const' pessimizes code pinskia@physics.uc.edu
2003-06-05 18:39 ` bangerth@dealii.org
2003-09-12 15:08 ` cvs-commit at gcc dot gnu dot org
2003-09-23 18:51 ` pinskia at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).