[WebAssembly] Add an assert to sanity-check dead flags.
authorDan Gohman <dan433584@gmail.com>
Mon, 14 Dec 2015 21:53:54 +0000 (21:53 +0000)
committerDan Gohman <dan433584@gmail.com>
Mon, 14 Dec 2015 21:53:54 +0000 (21:53 +0000)
The WebAssemblyStoreResults pass runs before LiveVariables, so it doesn't
expect to have to keep dead flags up to date; check this with an assert.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@255551 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/WebAssembly/WebAssemblyStoreResults.cpp

index 650143a94095393dc32c563800a481686d865926..4e08b2b079eb0e6bb3085a5696165be87f4b327c 100644 (file)
@@ -113,6 +113,9 @@ bool WebAssemblyStoreResults::runOnMachineFunction(MachineFunction &MF) {
           DEBUG(dbgs() << "Setting operand " << O << " in " << *Where
                        << " from " << MI << "\n");
           O.setReg(ToReg);
           DEBUG(dbgs() << "Setting operand " << O << " in " << *Where
                        << " from " << MI << "\n");
           O.setReg(ToReg);
+          // If the store's def was previously dead, it is no longer. But the
+          // dead flag shouldn't be set yet.
+          assert(!MI.getOperand(0).isDead() && "Dead flag set on store result");
         }
       }
   }
         }
       }
   }