PR middle-end/33699
commit01c8e4c99172c7e03bbb48b54e6dccd99fe489d9
authornemet <nemet@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 28 May 2009 07:42:52 +0000 (28 07:42 +0000)
committernemet <nemet@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 28 May 2009 07:42:52 +0000 (28 07:42 +0000)
treeb6849b0da1547659fc7e169123e25b958cc36e69
parent4c13df3500f6e9d7b6e11914ba735f4a08d2d97b
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147944 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/mips/mips.c
gcc/cse.c
gcc/doc/tm.texi
gcc/target-def.h
gcc/target.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/mips/const-anchor-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/const-anchor-2.c [new file with mode: 0644]