aboutsummaryrefslogtreecommitdiff
path: root/gcc/loop.c
diff options
context:
space:
mode:
authorMichael Meissner <meissner@cygnus.com>1999-02-06 00:46:54 +0000
committerJeff Law <law@gcc.gnu.org>1999-02-05 17:46:54 -0700
commit3603fb785f5e7fd3e2e618186aaaebe671ea5a39 (patch)
treeb7178d810ca8e09610f05458a5c3152e2600e979 /gcc/loop.c
parent5f3db57e5223051200369d2f799d49119ac24b32 (diff)
downloadgcc-3603fb785f5e7fd3e2e618186aaaebe671ea5a39.zip
gcc-3603fb785f5e7fd3e2e618186aaaebe671ea5a39.tar.gz
gcc-3603fb785f5e7fd3e2e618186aaaebe671ea5a39.tar.bz2
loop.c (check_dbra_loop): A store using an address giv for which we have no life information is not...
* loop.c (check_dbra_loop): A store using an address giv for which we have no life information is not reversible. From-SVN: r25051
Diffstat (limited to 'gcc/loop.c')
-rw-r--r--gcc/loop.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/loop.c b/gcc/loop.c
index 29ef980..d5b73a6 100644
--- a/gcc/loop.c
+++ b/gcc/loop.c
@@ -7713,8 +7713,9 @@ check_dbra_loop (loop_end, insn_count, loop_start, loop_info)
if (v->giv_type == DEST_REG
&& reg_mentioned_p (v->dest_reg,
XEXP (loop_store_mems, 0))
- && (INSN_LUID (v->insn)
- > INSN_LUID (first_loop_store_insn)))
+ && (INSN_UID (v->insn) >= max_uid_for_loop
+ || (INSN_LUID (v->insn)
+ > INSN_LUID (first_loop_store_insn))))
reversible_mem_store = 0;
}
}