From 529bd53411c6f583fd8ed435adf4c0f923d185fd Mon Sep 17 00:00:00 2001 From: Torok Edwin Date: Sun, 4 May 2008 08:51:25 +0000 Subject: [PATCH] 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 --- lib/Transforms/Scalar/MemCpyOptimizer.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/Transforms/Scalar/MemCpyOptimizer.cpp b/lib/Transforms/Scalar/MemCpyOptimizer.cpp index d6e5f3964bb..8036bf89d5f 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(I)) changed_function |= processStore(SI, BI); - - if (MemCpyInst* M = dyn_cast(I)) { + else if (MemCpyInst* M = dyn_cast(I)) { changed_function |= processMemCpy(M); } }