]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Track Vex API (semantics) changes in rev 1061: introduction of IRStmt_NoOp.
authorJulian Seward <jseward@acm.org>
Mon, 21 Mar 2005 00:27:41 +0000 (00:27 +0000)
committerJulian Seward <jseward@acm.org>
Mon, 21 Mar 2005 00:27:41 +0000 (00:27 +0000)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3396

addrcheck/ac_main.c
cachegrind/cg_main.c
memcheck/mc_translate.c

index 93ae96ea70d4f620fef0034790cafe6499b5c9dc..e93981aad8e0fbeaa6648a2923fdf5781eeef5d1 100644 (file)
@@ -1007,7 +1007,7 @@ IRBB* TL_(instrument)(IRBB* bb_in, VexGuestLayout* layout, IRType hWordTy )
 
    for (i = 0; i <  bb_in->stmts_used; i++) {
       st = bb_in->stmts[i];
-      if (!st) continue;
+      tl_assert(st);
 
       /* Examine each stmt in turn to figure out if it needs to be
          preceded by a memory access check.  If so, collect up the
@@ -1061,6 +1061,7 @@ IRBB* TL_(instrument)(IRBB* bb_in, VexGuestLayout* layout, IRType hWordTy )
              }
              break;
 
+         case Ist_NoOp:
          case Ist_IMark:
          case Ist_MFence:
             break;
index 03feacb9494b7ce4fb814aada3983b0a4a70c63f..d6e18ee2e44f657380a45a62144c9ef08acd57d5 100644 (file)
@@ -384,9 +384,6 @@ BB_info* get_BB_info(IRBB* bbIn, Addr origAddr, Bool* bbSeenBefore)
    return bbInfo;
 }
 
-// XXX: remove eventually
-#define Ist_Nop  99
-
 static 
 void handleOneStatement(IRTypeEnv* tyenv, IRBB* bbOut, IRStmt* st,
                         Addr* instrAddr, UInt* instrLen,
@@ -394,7 +391,7 @@ void handleOneStatement(IRTypeEnv* tyenv, IRBB* bbOut, IRStmt* st,
                         UInt* dataSize)
 {
    switch (st->tag) {
-   case Ist_Nop:
+   case Ist_NoOp:
       break;
 
    case Ist_IMark:
@@ -573,15 +570,6 @@ IRBB* TL_(instrument) ( IRBB* bbIn, VexGuestLayout* layout, IRType hWordTy )
    UInt     instrLen;
    IRExpr  *loadAddrExpr, *storeAddrExpr;
 
-   // Add Nops
-   // XXX: remove eventually
-   IRStmt xxx = { Ist_Nop };
-   IRStmt* myNOP = &xxx;
-   for (i = 0; i <  bbIn->stmts_used; i++) {
-      st = bbIn->stmts[i];
-      if (!st) bbIn->stmts[i] = myNOP;
-   }
-   
    /* Set up BB */
    bbOut           = emptyIRBB();
    bbOut->tyenv    = dopyIRTypeEnv(bbIn->tyenv);
index 7de3e06dc2e1ae95bcdc12dbd3f045699f95a685..5dc79be613dcc2e88789473a7839fc5318dc53da 100644 (file)
@@ -2371,6 +2371,7 @@ static Bool checkForBogusLiterals ( /*FLAT*/ IRStmt* st )
                 || isBogusAtom(st->Ist.STle.data);
       case Ist_Exit:
          return isBogusAtom(st->Ist.Exit.guard);
+      case Ist_NoOp:
       case Ist_IMark:
       case Ist_MFence:
          return False;
@@ -2411,7 +2412,7 @@ IRBB* TL_(instrument) ( IRBB* bb_in, VexGuestLayout* layout, IRType hWordTy )
 
    for (i = 0; i <  bb_in->stmts_used; i++) {
       st = bb_in->stmts[i];
-      if (!st) continue;
+      tl_assert(st);
 
       tl_assert(isFlatIRStmt(st));
 
@@ -2465,6 +2466,7 @@ IRBB* TL_(instrument) ( IRBB* bb_in, VexGuestLayout* layout, IRType hWordTy )
             complainIfUndefined( &mce, st->Ist.Exit.guard );
             break;
 
+         case Ist_NoOp:
          case Ist_IMark:
          case Ist_MFence:
             break;