Changes to track r2664, which changed the type of the condition field
of Mux0X from Ity_I8 to Ity_I1.  Patch from Florian Krohm.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13267 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/memcheck/mc_translate.c b/memcheck/mc_translate.c
index 78132cc..62c89f9 100644
--- a/memcheck/mc_translate.c
+++ b/memcheck/mc_translate.c
@@ -473,6 +473,7 @@
                                  IRExpr_Triop((_op),(_arg1),(_arg2),(_arg3))
 #define binop(_op, _arg1, _arg2) IRExpr_Binop((_op),(_arg1),(_arg2))
 #define unop(_op, _arg)          IRExpr_Unop((_op),(_arg))
+#define mkU1(_n)                 IRExpr_Const(IRConst_U1(_n))
 #define mkU8(_n)                 IRExpr_Const(IRConst_U8(_n))
 #define mkU16(_n)                IRExpr_Const(IRConst_U16(_n))
 #define mkU32(_n)                IRExpr_Const(IRConst_U32(_n))
@@ -1379,7 +1380,7 @@
             that is already stored in the guest state slot */
          IRAtom *cond, *iffalse;
 
-         cond    = assignNew('V', mce, Ity_I8, unop(Iop_1Uto8, guard));
+         cond    = assignNew('V', mce, Ity_I1, guard);
          iffalse = assignNew('V', mce, ty,
                              IRExpr_Get(offset + mce->layout->total_sizeB, ty));
          vatom   = assignNew('V', mce, ty, IRExpr_Mux0X(cond, iffalse, vatom));
@@ -4227,9 +4228,7 @@
    /* Prepare the cond for the Mux0X.  Convert a NULL cond into
       something that iropt knows how to fold out later. */
    IRAtom* cond
-      = guard == NULL
-           ? mkU8(1)
-           : assignNew('V', mce, Ity_I8, unop(Iop_1Uto8, guard));
+      = guard == NULL  ? mkU1(1)  : guard;
    /* And assemble the final result. */
    return assignNew('V', mce, tyWide, IRExpr_Mux0X(cond, iffalse, iftrue2));
 }
@@ -4744,7 +4743,7 @@
                all-bits-defined bit pattern */
             IRAtom *cond, *iffalse, *iftrue;
 
-            cond    = assignNew('V', mce, Ity_I8, unop(Iop_1Uto8, d->guard));
+            cond    = assignNew('V', mce, Ity_I1, d->guard);
             iftrue  = assignNew('V', mce, tySrc, shadow_GET(mce, gOff, tySrc));
             iffalse = assignNew('V', mce, tySrc, definedOfType(tySrc));
             src     = assignNew('V', mce, tySrc,
@@ -6231,9 +6230,7 @@
    /* Prepare the cond for the Mux0X.  Convert a NULL cond into
       something that iropt knows how to fold out later. */
    IRAtom* cond
-      = guard == NULL
-           ? mkU8(1)
-           : assignNew('B', mce, Ity_I8, unop(Iop_1Uto8, guard));
+      = guard == NULL  ? mkU1(1)  : guard;
    /* And assemble the final result. */
    return assignNew('B', mce, Ity_I32, IRExpr_Mux0X(cond, iffalse, iftrue));
 }
@@ -6507,7 +6504,7 @@
                   nothing is known about the origin */
                IRAtom *cond, *iffalse, *iftrue;
 
-               cond = assignNew( 'B', mce, Ity_I8, unop(Iop_1Uto8, d->guard));
+               cond = assignNew( 'B', mce, Ity_I1, d->guard);
                iffalse = mkU32(0);
                iftrue  = assignNew( 'B', mce, Ity_I32,
                                     IRExpr_Get(b_offset
@@ -6606,8 +6603,8 @@
                   the value that is already stored in the guest state slot */
                IRAtom *cond, *iffalse;
 
-               cond    = assignNew('B', mce, Ity_I8,
-                                   unop(Iop_1Uto8, d->guard));
+               cond    = assignNew('B', mce, Ity_I1,
+                                   d->guard);
                iffalse = assignNew('B', mce, Ity_I32,
                                    IRExpr_Get(b_offset +
                                               2*mce->layout->total_sizeB,