OSDN Git Service

Strip old implicit operands after foldMemoryOperand.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Thu, 10 Nov 2011 00:17:03 +0000 (00:17 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Thu, 10 Nov 2011 00:17:03 +0000 (00:17 +0000)
commit17afb0664861507c9bd968f1678d8cca69b2851d
tree6a8e639d87cc0f83d2d178d81186a0230b717077
parent1ad1246bbc48aa27e00c413cefffd88654a910df
Strip old implicit operands after foldMemoryOperand.

The TII.foldMemoryOperand hook preserves implicit operands from the
original instruction.  This is not what we want when those implicit
operands refer to the register being spilled.

Implicit operands referring to other registers are preserved.

This fixes PR11347.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144247 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/InlineSpiller.cpp
test/CodeGen/X86/2011-11-09-FoldImpDefs.ll [new file with mode: 0644]