From: Julian Seward Date: Thu, 21 Apr 2005 01:35:48 +0000 (+0000) Subject: Add an identity, Or8(x,0) --> x. X-Git-Tag: svn/VALGRIND_3_0_1^2~201 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=853a2de0ae165f49bf0b043a583275628a0ab4d0;p=thirdparty%2Fvalgrind.git Add an identity, Or8(x,0) --> x. git-svn-id: svn://svn.valgrind.org/vex/trunk@1133 --- diff --git a/VEX/priv/ir/iropt.c b/VEX/priv/ir/iropt.c index 724b8036e6..2f5769de82 100644 --- a/VEX/priv/ir/iropt.c +++ b/VEX/priv/ir/iropt.c @@ -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