aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Transforms/Scalar/DeadStoreElimination.cpp
diff options
context:
space:
mode:
authorNick Lewycky <nicholas@mxc.ca>2008-01-30 07:45:37 +0000
committerNick Lewycky <nicholas@mxc.ca>2008-01-30 07:45:37 +0000
commita671c34fc2d7535a2767f2e8e5ea541424798cb5 (patch)
treef6c9acba94ea89884faef3613dd8ab04e64f0bab /lib/Transforms/Scalar/DeadStoreElimination.cpp
parent8f909fa04b44c9a25cdbee231c1c6f0756dc98d5 (diff)
downloadexternal_llvm-a671c34fc2d7535a2767f2e8e5ea541424798cb5.tar.gz
external_llvm-a671c34fc2d7535a2767f2e8e5ea541424798cb5.tar.bz2
external_llvm-a671c34fc2d7535a2767f2e8e5ea541424798cb5.zip
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
Diffstat (limited to 'lib/Transforms/Scalar/DeadStoreElimination.cpp')
-rw-r--r--lib/Transforms/Scalar/DeadStoreElimination.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/Transforms/Scalar/DeadStoreElimination.cpp b/lib/Transforms/Scalar/DeadStoreElimination.cpp
index 7e2588ab77..ba0d1bdf2b 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<FreeInst>(CI)) {
// DCE instructions only used to calculate that load
for (Instruction::op_iterator OI = CI->op_begin(), OE = CI->op_end();