[Bug middle-end/33699] [4.3/4.4/4.5 regression], missing optimization on const addr area store
nemet at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Thu May 28 07:43:00 GMT 2009
------- Comment #6 from nemet at gcc dot gnu dot org 2009-05-28 07:43 -------
Subject: Bug 33699
Author: nemet
Date: Thu May 28 07:42:52 2009
New Revision: 147944
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=147944
Log:
PR middle-end/33699
* target.h (struct gcc_target): Fix indentation. Add
const_anchor.
* target-def.h (TARGET_CONST_ANCHOR): New macro.
(TARGET_INITIALIZER): Use it.
* cse.c (CHEAPER): Move it up to the other macros.
(insert): Rename this ...
(insert_with_costs): ... to this. Add cost parameters. Update
function comment.
(insert): New function. Call insert_with_costs.
(compute_const_anchors, insert_const_anchor, insert_const_anchors,
find_reg_offset_for_const, try_const_anchors): New functions.
(cse_insn): Call try_const_anchors. Adjust cost of src_related
when using a const-anchor. Call insert_const_anchors.
* config/mips/mips.c (mips_set_mips16_mode): Set
targetm.const_anchor.
* doc/tm.texi (Misc): Document TARGET_CONST_ANCHOR.
testsuite/
* gcc.target/mips/const-anchor-1.c: New test.
* gcc.target/mips/const-anchor-2.c: New test.
Added:
trunk/gcc/testsuite/gcc.target/mips/const-anchor-1.c
trunk/gcc/testsuite/gcc.target/mips/const-anchor-2.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/mips/mips.c
trunk/gcc/cse.c
trunk/gcc/doc/tm.texi
trunk/gcc/target-def.h
trunk/gcc/target.h
trunk/gcc/testsuite/ChangeLog
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33699
More information about the Gcc-bugs
mailing list