summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTanya Lattner <tonic@nondot.org>2008-01-21 20:43:02 +0000
committerTanya Lattner <tonic@nondot.org>2008-01-21 20:43:02 +0000
commitc1dde534b1cb13c667621465f61d2e275abf9b3d (patch)
tree763a3bd738013fe2b0eb2f229bd49e05cdf2f0c6
parenta489619ead15a10ea31dcc74f96beb5aa89e73ef (diff)
downloadllvm-c1dde534b1cb13c667621465f61d2e275abf9b3d.tar.gz
Merge from mainline.
Make sure the caller doesn't use freed memory. Fixes PR1935. llvm-svn: 46213
-rw-r--r--llvm/lib/Transforms/Scalar/CodeGenPrepare.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/Scalar/CodeGenPrepare.cpp b/llvm/lib/Transforms/Scalar/CodeGenPrepare.cpp
index 8d6c923ab134..5c572a640ed0 100644
--- a/llvm/lib/Transforms/Scalar/CodeGenPrepare.cpp
+++ b/llvm/lib/Transforms/Scalar/CodeGenPrepare.cpp
@@ -401,8 +401,10 @@ static bool OptimizeNoopCopyExpression(CastInst *CI, const TargetLowering &TLI){
}
// If we removed all uses, nuke the cast.
- if (CI->use_empty())
+ if (CI->use_empty()) {
CI->eraseFromParent();
+ MadeChange = true;
+ }
return MadeChange;
}