]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/rtlanal.c
gcse.c (want_to_gcse_p): On STACK_REGS targets...
authorRoger Sayle <roger@eyesopen.com>
Sun, 19 Feb 2006 22:01:17 +0000 (22:01 +0000)
committerRoger Sayle <sayle@gcc.gnu.org>
Sun, 19 Feb 2006 22:01:17 +0000 (22:01 +0000)
commit3d8504ac3262976d2c63d547a07aef0874f530b6
tree548133d8c92115bf18fa7c2d6f3e7800dbd456bb
parentc2a8530e21c7a3bc4824d00e0bb8ff39009da43a
gcse.c (want_to_gcse_p): On STACK_REGS targets...

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

Co-Authored-By: Steven Bosscher <stevenb.gcc@gmail.com>
From-SVN: r111283
gcc/ChangeLog
gcc/gcse.c
gcc/loop-invariant.c
gcc/loop.c
gcc/rtl.h
gcc/rtlanal.c