int TmpOff =
mcInfo.pushTempValue(TM, TM.findOptimalStorageSize(LR->getType()));
- MachineInstr *MIBef, *AdIMid, *MIAft;
+ MachineInstr *MIBef=NULL, *AdIMid=NULL, *MIAft=NULL;
int TmpReg;
TmpReg = getUsableRegAtMI(RC, RegType, MInst,LVSetBef, MIBef, MIAft);
TmpReg = MRI.getUnifiedRegNum( RC->getID(), TmpReg );
+
+
+ // get the added instructions for this instruciton
+ AddedInstrns *AI = AddedInstrMap[ MInst ];
+ if ( !AI ) {
+ AI = new AddedInstrns();
+ AddedInstrMap[ MInst ] = AI;
+ }
+
if( !isDef ) {
AdIMid = MRI.cpMem2RegMI(MRI.getFramePointer(), SpillOff, TmpReg, RegType);
if( MIBef )
- ((AddedInstrMap[MInst])->InstrnsBefore).push_back(MIBef);
+ (AI->InstrnsBefore).push_back(MIBef);
- ((AddedInstrMap[MInst])->InstrnsBefore).push_back(AdIMid);
+ (AI->InstrnsBefore).push_back(AdIMid);
if( MIAft)
- ((AddedInstrMap[MInst])->InstrnsAfter).push_front(MIAft);
-
+ (AI->InstrnsAfter).push_front(MIAft);
+
}
else { // if this is a Def
AdIMid = MRI.cpReg2MemMI(TmpReg, MRI.getFramePointer(), SpillOff, RegType);
if( MIBef )
- ((AddedInstrMap[MInst])->InstrnsBefore).push_back(MIBef);
+ (AI->InstrnsBefore).push_back(MIBef);
- ((AddedInstrMap[MInst])->InstrnsBefore).push_back(AdIMid);
+ (AI->InstrnsBefore).push_back(AdIMid);
if( MIAft)
- ((AddedInstrMap[MInst])->InstrnsAfter).push_front(MIAft);
+ (AI->InstrnsAfter).push_front(MIAft);
} // if !DEF
int TmpOff =
mcInfo.pushTempValue(TM, TM.findOptimalStorageSize(LR->getType()));
- MachineInstr *MIBef, *AdIMid, *MIAft;
+ MachineInstr *MIBef=NULL, *AdIMid=NULL, *MIAft=NULL;
int TmpReg;
TmpReg = getUsableRegAtMI(RC, RegType, MInst,LVSetBef, MIBef, MIAft);
TmpReg = MRI.getUnifiedRegNum( RC->getID(), TmpReg );
+
+
+ // get the added instructions for this instruciton
+ AddedInstrns *AI = AddedInstrMap[ MInst ];
+ if ( !AI ) {
+ AI = new AddedInstrns();
+ AddedInstrMap[ MInst ] = AI;
+ }
+
if( !isDef ) {
AdIMid = MRI.cpMem2RegMI(MRI.getFramePointer(), SpillOff, TmpReg, RegType);
if( MIBef )
- ((AddedInstrMap[MInst])->InstrnsBefore).push_back(MIBef);
+ (AI->InstrnsBefore).push_back(MIBef);
- ((AddedInstrMap[MInst])->InstrnsBefore).push_back(AdIMid);
+ (AI->InstrnsBefore).push_back(AdIMid);
if( MIAft)
- ((AddedInstrMap[MInst])->InstrnsAfter).push_front(MIAft);
-
+ (AI->InstrnsAfter).push_front(MIAft);
+
}
else { // if this is a Def
AdIMid = MRI.cpReg2MemMI(TmpReg, MRI.getFramePointer(), SpillOff, RegType);
if( MIBef )
- ((AddedInstrMap[MInst])->InstrnsBefore).push_back(MIBef);
+ (AI->InstrnsBefore).push_back(MIBef);
- ((AddedInstrMap[MInst])->InstrnsBefore).push_back(AdIMid);
+ (AI->InstrnsBefore).push_back(AdIMid);
if( MIAft)
- ((AddedInstrMap[MInst])->InstrnsAfter).push_front(MIAft);
+ (AI->InstrnsAfter).push_front(MIAft);
} // if !DEF