aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2006-11-11 07:19:36 +0000
committerEvan Cheng <evan.cheng@apple.com>2006-11-11 07:19:36 +0000
commit490ce1ea6f85395127f62ba521ce9d20d1f569fe (patch)
treea6b3ae58a72645ea4ee69c308691d8d267f921a0
parent5b3bbc7cd7bff4275b94003d4bf1fa296c6a10d0 (diff)
Add all implicit defs to FP_REG_KILL mi.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31674 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/X86/X86ISelDAGToDAG.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/Target/X86/X86ISelDAGToDAG.cpp b/lib/Target/X86/X86ISelDAGToDAG.cpp
index 68b89a4d16..ddc730d959 100644
--- a/lib/Target/X86/X86ISelDAGToDAG.cpp
+++ b/lib/Target/X86/X86ISelDAGToDAG.cpp
@@ -525,7 +525,12 @@ void X86DAGToDAGISel::InstructionSelectBasicBlock(SelectionDAG &DAG) {
// Finally, if we found any FP code, emit the FP_REG_KILL instruction.
if (ContainsFPCode) {
- BuildMI(*BB, BB->getFirstTerminator(), X86::FP_REG_KILL, 0);
+ const TargetInstrDescriptor &II= TM.getInstrInfo()->get(X86::FP_REG_KILL);
+ MachineInstrBuilder MIB =
+ BuildMI(*BB, BB->getFirstTerminator(), X86::FP_REG_KILL, 0);
+ for (const unsigned *ImplicitDefs = II.ImplicitDefs;
+ *ImplicitDefs; ++ImplicitDefs)
+ MIB = MIB.addReg(*ImplicitDefs, true, true);
++NumFPKill;
}
}