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 | 529bd53411c6f583fd8ed435adf4c0f923d185fd (patch) | |
tree | c159ffbb43b5fd94f6071fd825a698dbf1b9b18d /lib/Transforms/Scalar/MemCpyOptimizer.cpp | |
parent | 9d9dc7d17648b7a4b560f51c900c02dc35b1078b (diff) |
processStore may delete the instruction, avoid
using dyn_cast<> on already freed memory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50618 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/Scalar/MemCpyOptimizer.cpp')
-rw-r--r-- | lib/Transforms/Scalar/MemCpyOptimizer.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/lib/Transforms/Scalar/MemCpyOptimizer.cpp b/lib/Transforms/Scalar/MemCpyOptimizer.cpp index d6e5f3964b..8036bf89d5 100644 --- a/lib/Transforms/Scalar/MemCpyOptimizer.cpp +++ b/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); } } |