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