diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e0e8ae61d50eca3f25b1e8b5d3ebe76d26d408e3..85690c532048b2a3fd8bde4247c63bf4abc31ee0 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 99cfbfcff1222e2a6039af9838dcea2eb624d2b4..dab034ecc491162cefd3916136a5566ad2382c5a 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))
     {