diff options
author | Torok Edwin <edwintorok@gmail.com> | 2008-05-04 08:51:25 +0000 |
---|---|---|
committer | Torok Edwin <edwintorok@gmail.com> | 2008-05-04 08:51:25 +0000 |
commit | 2d7a4d70c3b8efb18d2997d55e210ee8a6263cbe (patch) | |
tree | 4d3b19db1a6c5be89890d503c3606e898c8cd985 /llvm/lib/Transforms | |
parent | 0a9718eab099688d4a9fa189ffce9a670a9fa7ea (diff) | |
download | bcm5719-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')
-rw-r--r-- | llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp | 3 |
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); } } |