From d29ce1783cabce806d94d20ca27920e9c7093c62 Mon Sep 17 00:00:00 2001 From: Nick Lewycky Date: Wed, 30 Jan 2008 07:45:37 +0000 Subject: [PATCH] Don't DCE FreeInst's. We were using those! Patch from Owen Anderson. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46553 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Transforms/Scalar/DeadStoreElimination.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Transforms/Scalar/DeadStoreElimination.cpp b/lib/Transforms/Scalar/DeadStoreElimination.cpp index 7e2588ab77d..ba0d1bdf2bd 100644 --- a/lib/Transforms/Scalar/DeadStoreElimination.cpp +++ b/lib/Transforms/Scalar/DeadStoreElimination.cpp @@ -420,7 +420,7 @@ bool DSE::handleEndBlock(BasicBlock& BB, } else { // For any non-memory-affecting non-terminators, DCE them as we reach them Instruction *CI = BBI; - if (!CI->isTerminator() && CI->getNumUses() == 0) { + if (!CI->isTerminator() && CI->getNumUses() == 0 && !isa(CI)) { // DCE instructions only used to calculate that load for (Instruction::op_iterator OI = CI->op_begin(), OE = CI->op_end();