I tested my two patches independently and forgot to test together and
one used a variable which I removed in the other.
Anyways this patch changes the code to be correct and fixes the bootstrap issue.

Committed as obvious after building stage1.

Thanks,
Andrew Pinski

ChangeLog:
2012-04-24  Andrew Pinski  <apin...@cavium.com>

        * tree-ssa-forwprop.c (simplify_bitwise_binary):
        Don't directly use def1/def2.
Index: ChangeLog
===================================================================
--- ChangeLog   (revision 186756)
+++ ChangeLog   (working copy)
@@ -1,3 +1,8 @@
+2012-04-24  Andrew Pinski  <apin...@cavium.com>
+
+       * tree-ssa-forwprop.c (simplify_bitwise_binary):
+       Don't directly use def1/def2.
+
 2012-04-24  Richard Guenther  <rguent...@suse.de>
 
        PR tree-optimization/53098
Index: tree-ssa-forwprop.c
===================================================================
--- tree-ssa-forwprop.c (revision 186755)
+++ tree-ssa-forwprop.c (working copy)
@@ -1913,10 +1913,10 @@ simplify_bitwise_binary (gimple_stmt_ite
    /* Simplify (A & B) OP0 (C & B) to (A OP0 C) & B. */
    if (def1_code == def2_code
        && def1_code == BIT_AND_EXPR
-       && operand_equal_for_phi_arg_p (gimple_assign_rhs2 (def1),
-                                      gimple_assign_rhs2 (def2)))
+       && operand_equal_for_phi_arg_p (def1_arg2,
+                                      def2_arg2))
     {
-      tree b = gimple_assign_rhs2 (def1);
+      tree b = def1_arg2;
       tree a = def1_arg1;
       tree c = def2_arg1;
       tree inner = fold_build2 (code, TREE_TYPE (arg2), a, c);

Reply via email to