@@ -82,8 +82,7 @@ static unsigned countOperands(SDNode *Node, unsigned NumExpUses,
8282// / EmitCopyFromReg - Generate machine code for an CopyFromReg node or an
8383// / implicit physical register output.
8484void InstrEmitter::EmitCopyFromReg (SDNode *Node, unsigned ResNo, bool IsClone,
85- Register SrcReg,
86- DenseMap<SDValue, Register> &VRBaseMap) {
85+ Register SrcReg, VRBaseMapType &VRBaseMap) {
8786 Register VRBase;
8887 if (SrcReg.isVirtual ()) {
8988 // Just use the input register directly!
@@ -187,7 +186,7 @@ void InstrEmitter::CreateVirtualRegisters(SDNode *Node,
187186 MachineInstrBuilder &MIB,
188187 const MCInstrDesc &II,
189188 bool IsClone, bool IsCloned,
190- DenseMap<SDValue, Register> &VRBaseMap) {
189+ VRBaseMapType &VRBaseMap) {
191190 assert (Node->getMachineOpcode () != TargetOpcode::IMPLICIT_DEF &&
192191 " IMPLICIT_DEF should have been handled as a special case elsewhere!" );
193192
@@ -265,8 +264,7 @@ void InstrEmitter::CreateVirtualRegisters(SDNode *Node,
265264
266265// / getVR - Return the virtual register corresponding to the specified result
267266// / of the specified node.
268- Register InstrEmitter::getVR (SDValue Op,
269- DenseMap<SDValue, Register> &VRBaseMap) {
267+ Register InstrEmitter::getVR (SDValue Op, VRBaseMapType &VRBaseMap) {
270268 if (Op.isMachineOpcode () &&
271269 Op.getMachineOpcode () == TargetOpcode::IMPLICIT_DEF) {
272270 // Add an IMPLICIT_DEF instruction before every use.
@@ -280,7 +278,7 @@ Register InstrEmitter::getVR(SDValue Op,
280278 return VReg;
281279 }
282280
283- DenseMap<SDValue, Register> ::iterator I = VRBaseMap.find (Op);
281+ VRBaseMapType ::iterator I = VRBaseMap.find (Op);
284282 assert (I != VRBaseMap.end () && " Node emitted out of order - late" );
285283 return I->second ;
286284}
@@ -318,7 +316,7 @@ InstrEmitter::AddRegisterOperand(MachineInstrBuilder &MIB,
318316 SDValue Op,
319317 unsigned IIOpNum,
320318 const MCInstrDesc *II,
321- DenseMap<SDValue, Register> &VRBaseMap,
319+ VRBaseMapType &VRBaseMap,
322320 bool IsDebug, bool IsClone, bool IsCloned) {
323321 assert (Op.getValueType () != MVT::Other &&
324322 Op.getValueType () != MVT::Glue &&
@@ -395,12 +393,10 @@ InstrEmitter::AddRegisterOperand(MachineInstrBuilder &MIB,
395393// / AddOperand - Add the specified operand to the specified machine instr. II
396394// / specifies the instruction information for the node, and IIOpNum is the
397395// / operand number (in the II) that we are adding.
398- void InstrEmitter::AddOperand (MachineInstrBuilder &MIB,
399- SDValue Op,
400- unsigned IIOpNum,
401- const MCInstrDesc *II,
402- DenseMap<SDValue, Register> &VRBaseMap,
403- bool IsDebug, bool IsClone, bool IsCloned) {
396+ void InstrEmitter::AddOperand (MachineInstrBuilder &MIB, SDValue Op,
397+ unsigned IIOpNum, const MCInstrDesc *II,
398+ VRBaseMapType &VRBaseMap, bool IsDebug,
399+ bool IsClone, bool IsCloned) {
404400 if (Op.isMachineOpcode ()) {
405401 AddRegisterOperand (MIB, Op, IIOpNum, II, VRBaseMap,
406402 IsDebug, IsClone, IsCloned);
@@ -499,8 +495,7 @@ Register InstrEmitter::ConstrainForSubReg(Register VReg, unsigned SubIdx,
499495
500496// / EmitSubregNode - Generate machine code for subreg nodes.
501497// /
502- void InstrEmitter::EmitSubregNode (SDNode *Node,
503- DenseMap<SDValue, Register> &VRBaseMap,
498+ void InstrEmitter::EmitSubregNode (SDNode *Node, VRBaseMapType &VRBaseMap,
504499 bool IsClone, bool IsCloned) {
505500 Register VRBase;
506501 unsigned Opc = Node->getMachineOpcode ();
@@ -634,7 +629,7 @@ void InstrEmitter::EmitSubregNode(SDNode *Node,
634629// /
635630void
636631InstrEmitter::EmitCopyToRegClassNode (SDNode *Node,
637- DenseMap<SDValue, Register> &VRBaseMap) {
632+ VRBaseMapType &VRBaseMap) {
638633 Register VReg = getVR (Node->getOperand (0 ), VRBaseMap);
639634
640635 // Create the new VReg in the destination class and emit a copy.
@@ -653,9 +648,8 @@ InstrEmitter::EmitCopyToRegClassNode(SDNode *Node,
653648
654649// / EmitRegSequence - Generate machine code for REG_SEQUENCE nodes.
655650// /
656- void InstrEmitter::EmitRegSequence (SDNode *Node,
657- DenseMap<SDValue, Register> &VRBaseMap,
658- bool IsClone, bool IsCloned) {
651+ void InstrEmitter::EmitRegSequence (SDNode *Node, VRBaseMapType &VRBaseMap,
652+ bool IsClone, bool IsCloned) {
659653 unsigned DstRCIdx = Node->getConstantOperandVal (0 );
660654 const TargetRegisterClass *RC = TRI->getRegClass (DstRCIdx);
661655 Register NewVReg = MRI->createVirtualRegister (TRI->getAllocatableClass (RC));
@@ -703,7 +697,7 @@ void InstrEmitter::EmitRegSequence(SDNode *Node,
703697// /
704698MachineInstr *
705699InstrEmitter::EmitDbgValue (SDDbgValue *SD,
706- DenseMap<SDValue, Register> &VRBaseMap) {
700+ VRBaseMapType &VRBaseMap) {
707701 DebugLoc DL = SD->getDebugLoc ();
708702 assert (cast<DILocalVariable>(SD->getVariable ())
709703 ->isValidLocationForIntrinsic (DL) &&
@@ -755,7 +749,7 @@ MachineOperand GetMOForConstDbgOp(const SDDbgOperand &Op) {
755749void InstrEmitter::AddDbgValueLocationOps (
756750 MachineInstrBuilder &MIB, const MCInstrDesc &DbgValDesc,
757751 ArrayRef<SDDbgOperand> LocationOps,
758- DenseMap<SDValue, Register> &VRBaseMap) {
752+ VRBaseMapType &VRBaseMap) {
759753 for (const SDDbgOperand &Op : LocationOps) {
760754 switch (Op.getKind ()) {
761755 case SDDbgOperand::FRAMEIX:
@@ -786,7 +780,7 @@ void InstrEmitter::AddDbgValueLocationOps(
786780
787781MachineInstr *
788782InstrEmitter::EmitDbgInstrRef (SDDbgValue *SD,
789- DenseMap<SDValue, Register> &VRBaseMap) {
783+ VRBaseMapType &VRBaseMap) {
790784 MDNode *Var = SD->getVariable ();
791785 const DIExpression *Expr = (DIExpression *)SD->getExpression ();
792786 DebugLoc DL = SD->getDebugLoc ();
@@ -862,7 +856,7 @@ InstrEmitter::EmitDbgInstrRef(SDDbgValue *SD,
862856 // Look up the corresponding VReg for the given SDNode, if any.
863857 SDNode *Node = DbgOperand.getSDNode ();
864858 SDValue Op = SDValue (Node, DbgOperand.getResNo ());
865- DenseMap<SDValue, Register> ::iterator I = VRBaseMap.find (Op);
859+ VRBaseMapType ::iterator I = VRBaseMap.find (Op);
866860 // No VReg -> produce a DBG_VALUE $noreg instead.
867861 if (I == VRBaseMap.end ())
868862 break ;
@@ -928,7 +922,7 @@ MachineInstr *InstrEmitter::EmitDbgNoLocation(SDDbgValue *SD) {
928922
929923MachineInstr *
930924InstrEmitter::EmitDbgValueList (SDDbgValue *SD,
931- DenseMap<SDValue, Register> &VRBaseMap) {
925+ VRBaseMapType &VRBaseMap) {
932926 MDNode *Var = SD->getVariable ();
933927 DIExpression *Expr = SD->getExpression ();
934928 DebugLoc DL = SD->getDebugLoc ();
@@ -944,7 +938,7 @@ InstrEmitter::EmitDbgValueList(SDDbgValue *SD,
944938
945939MachineInstr *
946940InstrEmitter::EmitDbgValueFromSingleOp (SDDbgValue *SD,
947- DenseMap<SDValue, Register> &VRBaseMap) {
941+ VRBaseMapType &VRBaseMap) {
948942 MDNode *Var = SD->getVariable ();
949943 DIExpression *Expr = SD->getExpression ();
950944 DebugLoc DL = SD->getDebugLoc ();
@@ -996,7 +990,7 @@ InstrEmitter::EmitDbgLabel(SDDbgLabel *SD) {
996990// /
997991void InstrEmitter::
998992EmitMachineNode (SDNode *Node, bool IsClone, bool IsCloned,
999- DenseMap<SDValue, Register> &VRBaseMap) {
993+ VRBaseMapType &VRBaseMap) {
1000994 unsigned Opc = Node->getMachineOpcode ();
1001995
1002996 // Handle subreg insert/extract specially
@@ -1238,7 +1232,7 @@ EmitMachineNode(SDNode *Node, bool IsClone, bool IsCloned,
12381232// / needed dependencies.
12391233void InstrEmitter::
12401234EmitSpecialNode (SDNode *Node, bool IsClone, bool IsCloned,
1241- DenseMap<SDValue, Register> &VRBaseMap) {
1235+ VRBaseMapType &VRBaseMap) {
12421236 switch (Node->getOpcode ()) {
12431237 default :
12441238#ifndef NDEBUG
0 commit comments