aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1995-03-30 15:34:12 -0800
committerJim Wilson <wilson@gcc.gnu.org>1995-03-30 15:34:12 -0800
commitd6c8056260b2a70d1f48200b7c6cc9677c2951a5 (patch)
treed23b192e3e3c0c04006c37cf1d1596437a60c9ff
parent1ff5cbcd768d56843a97decde31be4d0ea587417 (diff)
downloadgcc-d6c8056260b2a70d1f48200b7c6cc9677c2951a5.zip
gcc-d6c8056260b2a70d1f48200b7c6cc9677c2951a5.tar.gz
gcc-d6c8056260b2a70d1f48200b7c6cc9677c2951a5.tar.bz2
(get_last_value): Revert back to use prev_nonnote_insn instead of prev_real_insn.
(get_last_value): Revert back to use prev_nonnote_insn instead of prev_real_insn. Modify test that ignores USE insns. From-SVN: r9268
-rw-r--r--gcc/combine.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/gcc/combine.c b/gcc/combine.c
index 0ec186b..b25191e 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -9869,11 +9869,13 @@ get_last_value (x)
/* Skip over USE insns. They are not useful here, and they may have
been made by combine, in which case they do not have a INSN_CUID
- value. */
- for (insn = prev_real_insn (subst_insn);
- insn && (GET_CODE (PATTERN (insn)) == USE
+ value. We can't use prev_real_insn, because that would incorrectly
+ take us backwards across labels. */
+ for (insn = prev_nonnote_insn (subst_insn);
+ insn && ((GET_CODE (insn) == INSN
+ && GET_CODE (PATTERN (insn)) == USE)
|| INSN_CUID (insn) >= subst_low_cuid);
- insn = prev_real_insn (insn))
+ insn = prev_nonnote_insn (insn))
;
if (insn