diff options
author | Jan Hubicka <jh@suse.cz> | 2000-04-27 12:57:35 +0000 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2000-04-27 12:57:35 +0000 |
commit | 28b6b9b2d3a5141d5e9055ed884d5ddc5e5dc335 (patch) | |
tree | 172d402a32e47ad7c82ca5132277d43782e4df26 /gcc/loop.c | |
parent | af4464eb46fd1fcec3a8f69b320fa069f3d179a0 (diff) | |
download | gcc-28b6b9b2d3a5141d5e9055ed884d5ddc5e5dc335.zip gcc-28b6b9b2d3a5141d5e9055ed884d5ddc5e5dc335.tar.gz gcc-28b6b9b2d3a5141d5e9055ed884d5ddc5e5dc335.tar.bz2 |
* loop.c (load_mems) Don't use hard registers for the hoisting.
* unroll.c (unroll_loop): Avoid overflow in the n_iterations
calculation; rename const_equiv array in the preconditioning code
from loop_unroll to loop_unroll_precondition
From-SVN: r33480
Diffstat (limited to 'gcc/loop.c')
-rw-r--r-- | gcc/loop.c | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -9887,7 +9887,13 @@ load_mems (loop) { if (CONSTANT_P (equiv->loc)) const_equiv = equiv; - else if (GET_CODE (equiv->loc) == REG) + else if (GET_CODE (equiv->loc) == REG + /* Extending hard register lifetimes cuases crash + on SRC targets. Doing so on non-SRC is + probably also not good idea, since we most + probably have pseudoregister equivalence as + well. */ + && REGNO (equiv->loc) >= FIRST_PSEUDO_REGISTER) best_equiv = equiv; } /* Use the constant equivalence if that is cheap enough. */ |