summaryrefslogtreecommitdiff
path: root/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2004-11-30 07:01:15 +0000
committerChris Lattner <sabre@nondot.org>2004-11-30 07:01:15 +0000
commit5a85d9c664f0687b4fc89f3b38594b9555a9f193 (patch)
tree541d295aea584574381a2b02d1da632c4d4710f7 /lib/Transforms/Utils/PromoteMemoryToRegister.cpp
parent35f2bbe8c644f3c1efbbeb61d2da3695a34aa87b (diff)
downloadllvm-5a85d9c664f0687b4fc89f3b38594b9555a9f193.tar.gz
llvm-5a85d9c664f0687b4fc89f3b38594b9555a9f193.tar.bz2
llvm-5a85d9c664f0687b4fc89f3b38594b9555a9f193.tar.xz
Fix test/Regression/Transforms/LICM/2004-09-14-AliasAnalysisInvalidate.llx
This only fails on darwin or on X86 under valgrind. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18377 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/Utils/PromoteMemoryToRegister.cpp')
-rw-r--r--lib/Transforms/Utils/PromoteMemoryToRegister.cpp2
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;