summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
diff options
context:
space:
mode:
authorTorok Edwin <edwintorok@gmail.com>2008-05-04 08:51:25 +0000
committerTorok Edwin <edwintorok@gmail.com>2008-05-04 08:51:25 +0000
commit2d7a4d70c3b8efb18d2997d55e210ee8a6263cbe (patch)
tree4d3b19db1a6c5be89890d503c3606e898c8cd985 /llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
parent0a9718eab099688d4a9fa189ffce9a670a9fa7ea (diff)
downloadbcm5719-llvm-2d7a4d70c3b8efb18d2997d55e210ee8a6263cbe.tar.gz
bcm5719-llvm-2d7a4d70c3b8efb18d2997d55e210ee8a6263cbe.zip
processStore may delete the instruction, avoid
using dyn_cast<> on already freed memory. llvm-svn: 50618
Diffstat (limited to 'llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp')
-rw-r--r--llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp3
1 files changed, 1 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp b/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
index d6e5f3964bb..8036bf89d5f 100644
--- a/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
+++ b/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
@@ -718,8 +718,7 @@ bool MemCpyOpt::iterateOnFunction(Function &F) {
if (StoreInst *SI = dyn_cast<StoreInst>(I))
changed_function |= processStore(SI, BI);
-
- if (MemCpyInst* M = dyn_cast<MemCpyInst>(I)) {
+ else if (MemCpyInst* M = dyn_cast<MemCpyInst>(I)) {
changed_function |= processMemCpy(M);
}
}
OpenPOWER on IntegriCloud