aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/flow.c13
2 files changed, 12 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 71c99bc..5f5960a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2000-08-15 Richard Henderson <rth@cygnus.com>
+
+ * flow.c (mark_used_reg): Set reg_cond_reg appropriately.
+
2000-08-15 Richard Earnshaw <rearnsha@arm.com>
* arm.c (arm_function_ok_for_sibcall): New function.
diff --git a/gcc/flow.c b/gcc/flow.c
index e5df347..98ed692 100644
--- a/gcc/flow.c
+++ b/gcc/flow.c
@@ -4617,8 +4617,7 @@ mark_regno_cond_dead (pbi, regno, cond)
splay_tree_insert (pbi->reg_cond_dead, regno,
(splay_tree_value) rcli);
- SET_REGNO_REG_SET (pbi->reg_cond_reg,
- REGNO (XEXP (cond, 0)));
+ SET_REGNO_REG_SET (pbi->reg_cond_reg, REGNO (XEXP (cond, 0)));
/* Not unconditionaly dead. */
return 0;
@@ -4639,8 +4638,7 @@ mark_regno_cond_dead (pbi, regno, cond)
{
rcli->condition = ncond;
- SET_REGNO_REG_SET (pbi->reg_cond_reg,
- REGNO (XEXP (cond, 0)));
+ SET_REGNO_REG_SET (pbi->reg_cond_reg, REGNO (XEXP (cond, 0)));
/* Not unconditionaly dead. */
return 0;
@@ -5240,7 +5238,10 @@ mark_used_reg (pbi, reg, cond, insn)
splay_tree_remove (pbi->reg_cond_dead, regno);
}
else
- rcli->condition = ncond;
+ {
+ rcli->condition = ncond;
+ SET_REGNO_REG_SET (pbi->reg_cond_reg, REGNO (XEXP (cond, 0)));
+ }
}
}
else
@@ -5251,6 +5252,8 @@ mark_used_reg (pbi, reg, cond, insn)
rcli->condition = not_reg_cond (cond);
splay_tree_insert (pbi->reg_cond_dead, regno,
(splay_tree_value) rcli);
+
+ SET_REGNO_REG_SET (pbi->reg_cond_reg, REGNO (XEXP (cond, 0)));
}
}
else if (some_was_live)