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
This commit is contained in:
Nick Lewycky 2008-01-30 07:45:37 +00:00
parent e504d76a15
commit d29ce1783c

View File

@ -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();