/* Forwards */
#if 0 /* UNUSED */
static IRBB* ac_instrument ( IRBB*, VexGuestLayout*, IRType );
-static IRBB* mc_instrument ( IRBB*, VexGuestLayout*, IRType );
+static IRBB* mc_instrument ( IRBB*, VexGuestLayout*, IRType, IRType );
#endif
static Bool chase_into_not_ok ( Addr64 dst ) { return False; }
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
+#if 0 /* UNUSED */
+
static
__attribute((noreturn))
void panic ( HChar* s )
failure_exit();
}
-#if 0 /* UNUSED */
static
IRBB* ac_instrument (IRBB* bb_in, VexGuestLayout* layout, IRType hWordTy )
{
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
+#if 0 /* UNUSED */
+
#define tl_assert(xxx) assert(xxx)
#define VG_(xxxx) xxxx
#define tool_panic(zzz) panic(zzz)
static void MC_helperc_LOADV4 ( void );
static void MC_helperc_LOADV2 ( void );
static void MC_helperc_LOADV1 ( void );
-//static void MC_helperc_STOREV8( void );
-//static void MC_helperc_STOREV4( void );
-//static void MC_helperc_STOREV2( void );
-//static void MC_helperc_STOREV1( void );
+static void MC_helperc_STOREV8( void );
+static void MC_helperc_STOREV4( void );
+static void MC_helperc_STOREV2( void );
+static void MC_helperc_STOREV1( void );
static void MC_helperc_value_check0_fail( void );
static void MC_helperc_value_check1_fail( void );
static void MC_helperc_value_check4_fail( void );
static void MC_helperc_LOADV4 ( void ) { }
static void MC_helperc_LOADV2 ( void ) { }
static void MC_helperc_LOADV1 ( void ) { }
-//static void MC_helperc_STOREV8( void ) { }
-//static void MC_helperc_STOREV4( void ) { }
-//static void MC_helperc_STOREV2( void ) { }
-//static void MC_helperc_STOREV1( void ) { }
+static void MC_helperc_STOREV8( void ) { }
+static void MC_helperc_STOREV4( void ) { }
+static void MC_helperc_STOREV2( void ) { }
+static void MC_helperc_STOREV1( void ) { }
static void MC_helperc_value_check0_fail( void ) { }
static void MC_helperc_value_check1_fail( void ) { }
static void MC_helperc_value_check4_fail( void ) { }
}
-#if 0 /* UNUSED */
/* Generate into bb suitable actions to shadow this Put. If the state
slice is marked 'always defined', do nothing. Otherwise, write the
supplied V bits to the shadow state. We can pass in either an
stmt( mce->bb, IRStmt_PutI( new_descr, ix, bias, vatom ));
}
}
-#endif /* UNUSED */
/* Return an expression which contains the V bits corresponding to the
}
-#if 0 /* UNUSED */
/*------------------------------------------------------------*/
/*--- Generating expensive sequences for exact carry-chain ---*/
/*--- propagation in add/sub and related operations. ---*/
)
);
}
-#endif /* UNUSED */
/*------------------------------------------------------------*/
}
}
-#if 0 /* UNUSED */
/*------------------------------------------------------------*/
/*--- Generate shadow stmts from all kinds of IRStmts. ---*/
/*------------------------------------------------------------*/
}
}
-#endif /* UNUSED */
/*------------------------------------------------------------*/
/*--- Memcheck main ---*/
/*------------------------------------------------------------*/
-#if 0 /* UNUSED */
static Bool isBogusAtom ( IRAtom* at )
{
ULong n = 0;
return isBogusAtom(st->Ist.STle.addr)
|| isBogusAtom(st->Ist.STle.data);
case Ist_Exit:
- return isBogusAtom(st->Ist.Exit.cond);
+ return isBogusAtom(st->Ist.Exit.guard);
default:
unhandled:
ppIRStmt(st);
VG_(tool_panic)("hasBogusLiterals");
}
}
-#endif /* UNUSED */
-
-#if 0 /* UNUSED */
-IRBB* mc_instrument ( IRBB* bb_in, VexGuestLayout* layout, IRType hWordTy )
+IRBB* mc_instrument ( IRBB* bb_in, VexGuestLayout* layout,
+ IRType gWordTy, IRType hWordTy )
{
Bool verboze = False; //True;
do_shadow_Dirty( &mce, st->Ist.Dirty.details );
break;
+ case Ist_IMark:
+ case Ist_NoOp:
+ break;
+
default:
VG_(printf)("\n");
ppIRStmt(st);