This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug optimization/8967] [3.4 regression] Making class data members `const' pessimizes code
- From: "cvs-commit at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 12 Sep 2003 15:08:11 -0000
- Subject: [Bug optimization/8967] [3.4 regression] Making class data members `const' pessimizes code
- References: <20021216151600.8967.martin@xemacs.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
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