aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/combine.c5
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index fa80ec7..36267f9 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2003-06-30 Denis Chertykov <denisc@overta.ru>
+ Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * combine.c (gen_binary): Handle the CLOBBER rtx and
+ don't build a binary operation with it.
+
2003-07-10 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
* gcse.c (load_kills_store, find_loads, store_killed_in_insn,
diff --git a/gcc/combine.c b/gcc/combine.c
index 037f583..499e7b9 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -10171,6 +10171,11 @@ gen_binary (enum rtx_code code, enum machine_mode mode, rtx op0, rtx op1)
rtx result;
rtx tem;
+ if (GET_CODE (op0) == CLOBBER)
+ return op0;
+ else if (GET_CODE (op1) == CLOBBER)
+ return op1;
+
if (GET_RTX_CLASS (code) == 'c'
&& swap_commutative_operands_p (op0, op1))
tem = op0, op0 = op1, op1 = tem;