Add an assertion to the ScheduleDAGInstrs class to catch SUnits
authorDan Gohman <gohman@apple.com>
Mon, 22 Dec 2008 21:08:08 +0000 (21:08 +0000)
committerDan Gohman <gohman@apple.com>
Mon, 22 Dec 2008 21:08:08 +0000 (21:08 +0000)
reallocations. We don't do cloning on MachineInstr schedule DAGs,
but this is a worthwhile sanity check regardless.

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

include/llvm/CodeGen/ScheduleDAGInstrs.h

index c74ef57674ff279e400654a881b5d0f989e234c7..cfea3e08895c9766af04d28461f1aba8bb44d4a9 100644 (file)
@@ -36,7 +36,11 @@ namespace llvm {
     /// NewSUnit - Creates a new SUnit and return a ptr to it.
     ///
     SUnit *NewSUnit(MachineInstr *MI) {
+#ifndef NDEBUG
+      const SUnit *Addr = &SUnits[0];
+#endif
       SUnits.push_back(SUnit(MI, (unsigned)SUnits.size()));
+      assert(Addr == &SUnits[0] && "SUnits std::vector reallocated on the fly!");
       SUnits.back().OrigNode = &SUnits.back();
       return &SUnits.back();
     }