diff options
Diffstat (limited to 'lib/Transforms/Utils/PromoteMemoryToRegister.cpp')
-rw-r--r-- | lib/Transforms/Utils/PromoteMemoryToRegister.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/Transforms/Utils/PromoteMemoryToRegister.cpp b/lib/Transforms/Utils/PromoteMemoryToRegister.cpp index 213b3d742f..ff68f4e69e 100644 --- a/lib/Transforms/Utils/PromoteMemoryToRegister.cpp +++ b/lib/Transforms/Utils/PromoteMemoryToRegister.cpp @@ -342,6 +342,8 @@ void PromoteMem2Reg::run() { if (PNs[i]) { if (Value *V = hasConstantValue(PNs[i])) { if (!isa<Instruction>(V) || dominates(cast<Instruction>(V), PNs[i])) { + if (AST && isa<PointerType>(PNs[i]->getType())) + AST->deleteValue(PNs[i]); PNs[i]->replaceAllUsesWith(V); PNs[i]->eraseFromParent(); PNs[i] = 0; |