diff options
author | m.hayes <m.hayes@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-01-19 11:17:13 +0000 |
---|---|---|
committer | m.hayes <m.hayes@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-01-19 11:17:13 +0000 |
commit | c5aaf45f53d93931fec068df657565d321019c82 (patch) | |
tree | bfb4d9d9ee38a783e6b9356016d8465cae06d590 /gcc/unroll.c | |
parent | dd2acd8374435c683ec974b753193dfdd6065a14 (diff) | |
download | gcc-c5aaf45f53d93931fec068df657565d321019c82.tar.gz |
loop.c
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31500 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/unroll.c')
-rw-r--r-- | gcc/unroll.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/gcc/unroll.c b/gcc/unroll.c index 9225a9c1e9b..b166298653e 100644 --- a/gcc/unroll.c +++ b/gcc/unroll.c @@ -3702,10 +3702,14 @@ loop_iterations (loop) return 0; } - /* The only new registers that care created before loop iterations are - givs made from biv increments, so this should never occur. */ - - if ((unsigned) REGNO (iteration_var) >= reg_iv_type->num_elements) + /* The only new registers that are created before loop iterations + are givs made from biv increments or registers created by + load_mems. In the latter case, it is possible that try_copy_prop + will propagate a new pseudo into the old iteration register but + this will be marked by having the REG_USERVAR_P bit set. */ + + if ((unsigned) REGNO (iteration_var) >= reg_iv_type->num_elements + && ! REG_USERVAR_P (iteration_var)) abort (); iteration_info (iteration_var, &initial_value, &increment, |