commit | 529bd53411c6f583fd8ed435adf4c0f923d185fd | [log] [tgz] |
---|---|---|
author | Torok Edwin <edwintorok@gmail.com> | Sun May 04 08:51:25 2008 +0000 |
committer | Torok Edwin <edwintorok@gmail.com> | Sun May 04 08:51:25 2008 +0000 |
tree | c159ffbb43b5fd94f6071fd825a698dbf1b9b18d | |
parent | 9d9dc7d17648b7a4b560f51c900c02dc35b1078b [diff] [blame] |
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
diff --git a/lib/Transforms/Scalar/MemCpyOptimizer.cpp b/lib/Transforms/Scalar/MemCpyOptimizer.cpp index d6e5f39..8036bf8 100644 --- a/lib/Transforms/Scalar/MemCpyOptimizer.cpp +++ b/lib/Transforms/Scalar/MemCpyOptimizer.cpp
@@ -718,8 +718,7 @@ 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); } }