[llvm-branch-commits] [llvm-branch] r106001 - in /llvm/branches/Apple/Troughton: ./ lib/CodeGen/SelectionDAG/InstrEmitter.cpp test/CodeGen/X86/2010-06-09-FastAllocRegisters.ll
Jakob Stoklund Olesen
stoklund at 2pi.dk
Tue Jun 15 09:36:19 PDT 2010
Author: stoklund
Date: Tue Jun 15 11:36:19 2010
New Revision: 106001
URL: http://llvm.org/viewvc/llvm-project?rev=106001&view=rev
Log:
$ svn merge -c 105665 https://llvm.org/svn/llvm-project/llvm/trunk
--- Merging r105665 into '.':
U lib/CodeGen/SelectionDAG/InstrEmitter.cpp
$ svn merge -c 105749 https://llvm.org/svn/llvm-project/llvm/trunk
--- Merging r105749 into '.':
A test/CodeGen/X86/2010-06-09-FastAllocRegisters.ll
G lib/CodeGen/SelectionDAG/InstrEmitter.cpp
Added:
llvm/branches/Apple/Troughton/test/CodeGen/X86/2010-06-09-FastAllocRegisters.ll
- copied unchanged from r105749, llvm/trunk/test/CodeGen/X86/2010-06-09-FastAllocRegisters.ll
Modified:
llvm/branches/Apple/Troughton/ (props changed)
llvm/branches/Apple/Troughton/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
Propchange: llvm/branches/Apple/Troughton/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Jun 15 11:36:19 2010
@@ -1 +1 @@
-/llvm/trunk:105358,105361,105369,105372,105399,105427,105437,105439,105441,105470,105473,105481,105498,105541,105554,105557,105585-105586,105634,105653,105669,105677,105745,105774-105775,105836,105845,105862,105938,105959,105965,105982
+/llvm/trunk:105358,105361,105369,105372,105399,105427,105437,105439,105441,105470,105473,105481,105498,105541,105554,105557,105585-105586,105634,105653,105665,105669,105677,105745,105749,105774-105775,105836,105845,105862,105938,105959,105965,105982
Modified: llvm/branches/Apple/Troughton/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Troughton/lib/CodeGen/SelectionDAG/InstrEmitter.cpp?rev=106001&r1=106000&r2=106001&view=diff
==============================================================================
--- llvm/branches/Apple/Troughton/lib/CodeGen/SelectionDAG/InstrEmitter.cpp (original)
+++ llvm/branches/Apple/Troughton/lib/CodeGen/SelectionDAG/InstrEmitter.cpp Tue Jun 15 11:36:19 2010
@@ -821,14 +821,22 @@
case InlineAsm::Kind_RegDef:
for (; NumVals; --NumVals, ++i) {
unsigned Reg = cast<RegisterSDNode>(Node->getOperand(i))->getReg();
- MI->addOperand(MachineOperand::CreateReg(Reg, true));
+ // FIXME: Add dead flags for physical and virtual registers defined.
+ // For now, mark physical register defs as implicit to help fast
+ // regalloc. This makes inline asm look a lot like calls.
+ MI->addOperand(MachineOperand::CreateReg(Reg, true,
+ /*isImp=*/ TargetRegisterInfo::isPhysicalRegister(Reg)));
}
break;
case InlineAsm::Kind_RegDefEarlyClobber:
for (; NumVals; --NumVals, ++i) {
unsigned Reg = cast<RegisterSDNode>(Node->getOperand(i))->getReg();
- MI->addOperand(MachineOperand::CreateReg(Reg, true, false, false,
- false, false, true));
+ MI->addOperand(MachineOperand::CreateReg(Reg, /*isDef=*/ true,
+ /*isImp=*/ TargetRegisterInfo::isPhysicalRegister(Reg),
+ /*isKill=*/ false,
+ /*isDead=*/ false,
+ /*isUndef=*/false,
+ /*isEarlyClobber=*/ true));
}
break;
case InlineAsm::Kind_RegUse: // Use of register.
More information about the llvm-branch-commits
mailing list