summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/flow.c10
2 files changed, 14 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e0e8ae61d50..85690c53204 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+Mon Jun 19 23:26:40 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * Take REG_INC notes into account.
+
2000-06-19 Zack Weinberg <zack@wolery.cumb.org>
* c-parse.in (undeclared_variable_notice): Moved to c-typeck.c.
diff --git a/gcc/flow.c b/gcc/flow.c
index 99cfbfcff12..dab034ecc49 100644
--- a/gcc/flow.c
+++ b/gcc/flow.c
@@ -4152,8 +4152,18 @@ mark_set_regs (pbi, x, insn)
rtx x, insn;
{
rtx cond = NULL_RTX;
+ rtx link;
enum rtx_code code;
+ if (insn)
+ for (link = REG_NOTES (insn); link; link = XEXP (link, 1))
+ {
+ if (REG_NOTE_KIND (link) == REG_INC)
+ mark_set_1 (pbi, SET, XEXP (link, 0),
+ (GET_CODE (x) == COND_EXEC
+ ? COND_EXEC_TEST (x) : NULL_RTX),
+ insn, pbi->flags);
+ }
retry:
switch (code = GET_CODE (x))
{
OpenPOWER on IntegriCloud