]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Add an identity, Or8(x,0) --> x.
authorJulian Seward <jseward@acm.org>
Thu, 21 Apr 2005 01:35:48 +0000 (01:35 +0000)
committerJulian Seward <jseward@acm.org>
Thu, 21 Apr 2005 01:35:48 +0000 (01:35 +0000)
git-svn-id: svn://svn.valgrind.org/vex/trunk@1133

VEX/priv/ir/iropt.c

index 724b8036e6df55c95839e46b11af8acdc605adc5..2f5769de82794fca8f3b55b94cc39ec76680138f 100644 (file)
@@ -1228,6 +1228,13 @@ static IRExpr* fold_Expr ( IRExpr* e )
             e2 = e->Iex.Binop.arg1;
          } else
 
+         /* Or8(x,0) ==> x */
+         if ((e->Iex.Binop.op == Iop_Or8)
+             && e->Iex.Binop.arg2->tag == Iex_Const
+             && e->Iex.Binop.arg2->Iex.Const.con->Ico.U8 == 0) {
+            e2 = e->Iex.Binop.arg1;
+         } else
+
          /* Or32/Add32(x,0) ==> x */
          if ((e->Iex.Binop.op == Iop_Add32 || e->Iex.Binop.op == Iop_Or32)
              && e->Iex.Binop.arg2->tag == Iex_Const