From: Julian Seward Date: Mon, 15 Nov 2004 13:54:26 +0000 (+0000) Subject: Get rid of some unused primops: And1 Or1 Neg8/16/32/64. X-Git-Tag: svn/VALGRIND_3_0_1^2~780 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=221e2e8c3b45a10a9501f5d0281e2a79c6de5f8d;p=thirdparty%2Fvalgrind.git Get rid of some unused primops: And1 Or1 Neg8/16/32/64. git-svn-id: svn://svn.valgrind.org/vex/trunk@554 --- diff --git a/VEX/priv/guest-x86/toIR.c b/VEX/priv/guest-x86/toIR.c index 3189178e10..74146d0270 100644 --- a/VEX/priv/guest-x86/toIR.c +++ b/VEX/priv/guest-x86/toIR.c @@ -35,7 +35,6 @@ /* TODO: SBB reg with itself - is Iop_Neg* used? MOVAPS fix (vg_to_ucode rev 1.143) check flag settings for cmpxchg FUCOMI(P): what happens to A and S flags? Currently are forced @@ -593,7 +592,7 @@ static IROp mkSizedOp ( IRType ty, IROp op8 ) || op8 == Iop_Or8 || op8 == Iop_And8 || op8 == Iop_Xor8 || op8 == Iop_Shl8 || op8 == Iop_Shr8 || op8 == Iop_Sar8 || op8 == Iop_CmpEQ8 || op8 == Iop_CmpNE8 - || op8 == Iop_Not8 || op8 == Iop_Neg8 ); + || op8 == Iop_Not8 ); adj = ty==Ity_I8 ? 0 : (ty==Ity_I16 ? 1 : 2); return adj + op8; } diff --git a/VEX/priv/ir/irdefs.c b/VEX/priv/ir/irdefs.c index 6064b3c685..7fdb14e915 100644 --- a/VEX/priv/ir/irdefs.c +++ b/VEX/priv/ir/irdefs.c @@ -127,8 +127,6 @@ void ppIROp ( IROp op ) str = "CmpEQ"; base = Iop_CmpEQ8; break; case Iop_CmpNE8 ... Iop_CmpNE64: str = "CmpNE"; base = Iop_CmpNE8; break; - case Iop_Neg8 ... Iop_Neg64: - str = "Neg"; base = Iop_Neg8; break; case Iop_Not8 ... Iop_Not64: str = "Not"; base = Iop_Not8; break; /* other cases must explicitly "return;" */ @@ -142,8 +140,6 @@ void ppIROp ( IROp op ) case Iop_32Uto64: vex_printf("32Uto64"); return; case Iop_32to8: vex_printf("32to8"); return; - case Iop_And1: vex_printf("And1"); return; - case Iop_Or1: vex_printf("Or1"); return; case Iop_Not1: vex_printf("Not1"); return; case Iop_32to1: vex_printf("32to1"); return; case Iop_1Uto8: vex_printf("1Uto8"); return; @@ -968,14 +964,10 @@ void typeOfPrimop ( IROp op, IRType* t_dst, IRType* t_arg1, IRType* t_arg2 ) case Iop_Shl64: case Iop_Shr64: case Iop_Sar64: BINARY(Ity_I64,Ity_I64,Ity_I8); - case Iop_Not8: case Iop_Neg8: - UNARY(Ity_I8,Ity_I8); - case Iop_Not16: case Iop_Neg16: - UNARY(Ity_I16,Ity_I16); - case Iop_Not32: case Iop_Neg32: - UNARY(Ity_I32,Ity_I32); - case Iop_Not64: case Iop_Neg64: - UNARY(Ity_I64,Ity_I64); + case Iop_Not8: UNARY(Ity_I8,Ity_I8); + case Iop_Not16: UNARY(Ity_I16,Ity_I16); + case Iop_Not32: UNARY(Ity_I32,Ity_I32); + case Iop_Not64: UNARY(Ity_I64,Ity_I64); case Iop_CmpEQ8: case Iop_CmpNE8: COMPARISON(Ity_I8); @@ -1016,8 +1008,6 @@ void typeOfPrimop ( IROp op, IRType* t_dst, IRType* t_arg1, IRType* t_arg2 ) case Iop_32HLto64: BINARY(Ity_I64,Ity_I32,Ity_I32); - case Iop_And1: - case Iop_Or1: BINARY(Ity_Bit,Ity_Bit,Ity_Bit); case Iop_Not1: UNARY(Ity_Bit,Ity_Bit); case Iop_1Uto8: UNARY(Ity_I8,Ity_Bit); case Iop_1Sto8: UNARY(Ity_I8,Ity_Bit); diff --git a/VEX/pub/libvex_ir.h b/VEX/pub/libvex_ir.h index ae62adff36..9ef49fd915 100644 --- a/VEX/pub/libvex_ir.h +++ b/VEX/pub/libvex_ir.h @@ -180,7 +180,6 @@ typedef Iop_CmpNE8, Iop_CmpNE16, Iop_CmpNE32, Iop_CmpNE64, /* Tags for unary ops */ Iop_Not8, Iop_Not16, Iop_Not32, Iop_Not64, - Iop_Neg8, Iop_Neg16, Iop_Neg32, Iop_Neg64, /* Widening multiplies */ Iop_MullS8, Iop_MullS16, Iop_MullS32, Iop_MullU8, Iop_MullU16, Iop_MullU32, @@ -222,8 +221,6 @@ typedef Iop_32HLto64, // :: (I32,I32) -> I64 /* 1-bit stuff */ Iop_Not1, /* :: Ity_Bit -> Ity_Bit */ - Iop_Or1, /* :: Ity_Bit, Ity_Bit -> Ity_Bit */ - Iop_And1, /* :: Ity_Bit, Ity_Bit -> Ity_Bit */ Iop_32to1, /* :: Ity_I32 -> Ity_Bit, just select bit[0] */ Iop_1Uto8, /* :: Ity_Bit -> Ity_I8, unsigned widen */ Iop_1Uto32, /* :: Ity_Bit -> Ity_I32, unsigned widen */