OSDN Git Service

* gcse.c (want_to_gcse_p): On STACK_REGS targets, look through
authorsayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 19 Feb 2006 22:01:17 +0000 (22:01 +0000)
committersayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 19 Feb 2006 22:01:17 +0000 (22:01 +0000)
commite207fd7ae6bbf4146f40cc68e841a2576695d7ca
tree548133d8c92115bf18fa7c2d6f3e7800dbd456bb
parent3b19d3be1ae915879fa5f404b2cb88242058d980
* gcse.c (want_to_gcse_p): On STACK_REGS targets, look through
constant pool references to identify stack mode constants.
* rtlanal.c (constant_pool_constant_p): New predicate to check
whether operand is a floating point constant in the pool.
* rtl.h (constant_pool_constant_p): Prototype here.
* loop.c (scan_loop): Avoid hoisting constants from the constant
pool on STACK_REGS targets.
(load_mems): Likewise.
* loop-invariant.c (get_inv_cost): Make hoisting constant pool
loads into x87 registers expensive in terms of register pressure.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111283 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/gcse.c
gcc/loop-invariant.c
gcc/loop.c
gcc/rtl.h
gcc/rtlanal.c