Tracing or debug-printing a newly formed instruction should not crash.
authorAndrew Trick <atrick@apple.com>
Fri, 30 Sep 2011 19:50:40 +0000 (19:50 +0000)
committerAndrew Trick <atrick@apple.com>
Fri, 30 Sep 2011 19:50:40 +0000 (19:50 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140874 91177308-0d34-0410-b5e6-96231b3b80d8

lib/VMCore/AsmWriter.cpp

index 59dea228d0c4c6fb8f8d40bd2b9885abe1ef3e26..18308f27cfe4bc092aa45afebe27c257716148e1 100644 (file)
@@ -386,7 +386,8 @@ static SlotTracker *createSlotTracker(const Value *V) {
     return new SlotTracker(FA->getParent());
 
   if (const Instruction *I = dyn_cast<Instruction>(V))
-    return new SlotTracker(I->getParent()->getParent());
+    if (I->getParent())
+      return new SlotTracker(I->getParent()->getParent());
 
   if (const BasicBlock *BB = dyn_cast<BasicBlock>(V))
     return new SlotTracker(BB->getParent());