|
From: <sv...@va...> - 2015-02-27 12:51:29
|
Author: sewardj
Date: Fri Feb 27 12:51:22 2015
New Revision: 3094
Log:
fold_Expr: add rules
Xor8/16/32/64(0,t) ==> t
Xor8/16/32/64(t,0) ==> t
Modified:
trunk/priv/ir_opt.c
Modified: trunk/priv/ir_opt.c
==============================================================================
--- trunk/priv/ir_opt.c (original)
+++ trunk/priv/ir_opt.c Fri Feb 27 12:51:22 2015
@@ -2292,6 +2292,17 @@
// e2 = e->Iex.Binop.arg2;
// break;
//}
+ } else {
+ /* Xor8/16/32/64(0,t) ==> t */
+ if (isZeroU(e->Iex.Binop.arg1)) {
+ e2 = e->Iex.Binop.arg2;
+ break;
+ }
+ /* Xor8/16/32/64(t,0) ==> t */
+ if (isZeroU(e->Iex.Binop.arg2)) {
+ e2 = e->Iex.Binop.arg1;
+ break;
+ }
}
break;
|