Changes in directory llvm/lib/CodeGen/SelectionDAG:
ScheduleDAG.cpp updated: 1.112 -> 1.113 --- Log message: CopyToReg source operand can be a register as well. e.g. Copy from GlobalBaseReg. --- Diffs of the changes: (+6 -2) ScheduleDAG.cpp | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-) Index: llvm/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp diff -u llvm/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp:1.112 llvm/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp:1.113 --- llvm/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp:1.112 Thu Dec 7 14:04:42 2006 +++ llvm/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp Fri Jan 5 14:59:06 2007 @@ -307,7 +307,7 @@ } else if (ConstantSDNode *C = dyn_cast<ConstantSDNode>(Op)) { MI->addImmOperand(C->getValue()); - } else if (RegisterSDNode*R = + } else if (RegisterSDNode *R = dyn_cast<RegisterSDNode>(Op)) { MI->addRegOperand(R->getReg(), false); } else if (GlobalAddressSDNode *TGA = @@ -457,7 +457,11 @@ case ISD::TokenFactor: break; case ISD::CopyToReg: { - unsigned InReg = getVR(Node->getOperand(2), VRBaseMap); + unsigned InReg; + if (RegisterSDNode *R = dyn_cast<RegisterSDNode>(Node->getOperand(2))) + InReg = R->getReg(); + else + InReg = getVR(Node->getOperand(2), VRBaseMap); unsigned DestReg = cast<RegisterSDNode>(Node->getOperand(1))->getReg(); if (InReg != DestReg) // Coalesced away the copy? MRI->copyRegToReg(*BB, BB->end(), DestReg, InReg, _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits