@@ -2308,7 +2308,7 @@ void applySubExpCloneNearUser(SubExp &Exp, std::vector<HotBlock> &HotBlocks,
23082308 }
23092309 // Build dag for SubExp to help remove unused inst when clone.
23102310 ExpDag Dag (MRI, SIRI, SIII, /* IsJoinInput*/ true );
2311- Dag.build (Exp.inputLive , Exp.outputLive , Exp.SUnits );
2311+ Dag.build (Exp.InputLive , Exp.OutputLive , Exp.SUnits );
23122312 DenseSet<SUnit *> DagBottoms;
23132313 for (SUnit &SU : Dag.SUnits ) {
23142314 if (!SU.isInstr ())
@@ -3141,10 +3141,10 @@ bool tryRemat(MachineBasicBlock &MBB, MachineInstr *HotMi,
31413141 if (SubExp.IsNotSafeToCopy )
31423142 continue ;
31433143 if (IsVGPR) {
3144- if (SubExp.vOutputSize == 0 )
3144+ if (SubExp.VOutputSize == 0 )
31453145 continue ;
31463146 } else {
3147- if (SubExp.sOutputSize == 0 )
3147+ if (SubExp.SOutputSize == 0 )
31483148 continue ;
31493149 }
31503150 if (!SubExp.isSafeToMove (MRI, /* IsMoveUp*/ false ))
@@ -3158,9 +3158,9 @@ bool tryRemat(MachineBasicBlock &MBB, MachineInstr *HotMi,
31583158 if (SubExp.IsHasMemInst && MemWriteMBBSet.count (&MBB))
31593159 continue ;
31603160 if (IsVGPR) {
3161- Distance -= SubExp.vOutputSize ;
3161+ Distance -= SubExp.VOutputSize ;
31623162 } else {
3163- Distance -= SubExp.sOutputSize ;
3163+ Distance -= SubExp.SOutputSize ;
31643164 }
31653165 CloneSubExps.emplace_back (SubExp);
31663166 if (Distance <= 0 )
@@ -3256,8 +3256,8 @@ bool tryRematInHotSpot(
32563256// When apply subExp1 before subExp0, new clone of subExp0 which use result of
32573257// subExp1 will have old reg of subExp1. And reg pressure will not be reduced.
32583258void sortSubExpCandidates (std::vector<SubExp> &SubExpCandidates) {
3259- MapVector<unsigned , SetVector<SubExp *>> InputMap;
3260- MapVector<unsigned , SetVector<SubExp *>> OutputMap;
3259+ MapVector<Register , SetVector<SubExp *>> InputMap;
3260+ MapVector<Register , SetVector<SubExp *>> OutputMap;
32613261 struct SortNode {
32623262 SubExp Exp;
32633263 unsigned Depth;
@@ -3288,7 +3288,7 @@ void sortSubExpCandidates(std::vector<SubExp> &SubExpCandidates) {
32883288 MapVector<SubExp *, SortNode> SortMap;
32893289 for (auto It : InputMap) {
32903290 unsigned Reg = It.first ;
3291- auto OutIt = OutputMap.find (Reg);
3291+ MapVector<Register, SetVector<SubExp *>>::iterator OutIt = OutputMap.find (Reg);
32923292 if (OutIt == OutputMap.end ())
32933293 continue ;
32943294 auto &InExps = It.second ;
@@ -3302,8 +3302,8 @@ void sortSubExpCandidates(std::vector<SubExp> &SubExpCandidates) {
33023302 continue ;
33033303 // Canot input(use) move up, output(def) move down.
33043304 // Choose the exp which save more.
3305- int InExpGain = InExp->vOutputSize - InExp->vInputSize ;
3306- int OutExpGain = OutExp->vInputSize - InExp->vOutputSize ;
3305+ int InExpGain = InExp->VOutputSize - InExp->VInputSize ;
3306+ int OutExpGain = OutExp->VInputSize - InExp->VOutputSize ;
33073307 if (InExpGain >= OutExpGain) {
33083308 OutExp->SUnits .clear ();
33093309 } else {
@@ -3415,26 +3415,26 @@ bool canHelpPressureWhenSink(SubExp &SubExp,
34153415
34163416 // Update input size to ignore lives in which already in
34173417 // passThrus.
3418- for (auto It : SubExp.inputLive ) {
3418+ for (auto It : SubExp.InputLive ) {
34193419 unsigned Reg = It.first ;
34203420 if (PassThrus.count (Reg) == 0 )
34213421 continue ;
34223422 unsigned Size = getRegSize (Reg, It.second , MRI, SIRI);
34233423 if (SIRI->isVGPR (MRI, Reg)) {
3424- SubExp.vInputSize -= Size;
3424+ SubExp.VInputSize -= Size;
34253425 } else {
3426- SubExp.sInputSize -= Size;
3426+ SubExp.SInputSize -= Size;
34273427 }
34283428 }
34293429
3430- if (SubExp.vInputSize > SubExp.vOutputSize )
3430+ if (SubExp.VInputSize > SubExp.VOutputSize )
34313431 return false ;
34323432
3433- if (SubExp.sInputSize > SubExp.sOutputSize && IsSgprBound)
3433+ if (SubExp.SInputSize > SubExp.SOutputSize && IsSgprBound)
34343434 return false ;
34353435
3436- if (SubExp.sInputSize >= SubExp.sOutputSize &&
3437- SubExp.vInputSize == SubExp.vOutputSize )
3436+ if (SubExp.SInputSize >= SubExp.SOutputSize &&
3437+ SubExp.VInputSize == SubExp.VOutputSize )
34383438 return false ;
34393439
34403440 // Try to find a Insert Block.
@@ -3479,13 +3479,13 @@ bool canHelpPressureWhenHoist(SubExp &SubExp, const MachineRegisterInfo &MRI,
34793479 const MachineLoopInfo *MLI, bool IsSgprBound) {
34803480 if (!SubExp.isSafeToMove (MRI, /* IsMoveUp*/ true ))
34813481 return false ;
3482- if (SubExp.vInputSize < SubExp.vOutputSize )
3482+ if (SubExp.VInputSize < SubExp.VOutputSize )
34833483 return false ;
3484- if (SubExp.sInputSize < SubExp.sOutputSize && IsSgprBound)
3484+ if (SubExp.SInputSize < SubExp.SOutputSize && IsSgprBound)
34853485 return false ;
34863486
3487- if (SubExp.sInputSize <= SubExp.sOutputSize &&
3488- SubExp.vInputSize == SubExp.vOutputSize )
3487+ if (SubExp.SInputSize <= SubExp.SOutputSize &&
3488+ SubExp.VInputSize == SubExp.VOutputSize )
34893489 return false ;
34903490
34913491 // Try to find a Insert Block.
@@ -3715,17 +3715,17 @@ SubExp buildFreeSubExp(SubExp &Exp,
37153715
37163716 // Calc reg for freeExp.
37173717 for (unsigned Reg : FreeExp.TopRegs ) {
3718- FreeExp.inputLive [Reg];
3718+ FreeExp.InputLive [Reg];
37193719 }
37203720
37213721 for (unsigned Reg : FreeExp.BottomRegs ) {
3722- FreeExp.outputLive [Reg];
3722+ FreeExp.OutputLive [Reg];
37233723 }
37243724
3725- CollectLiveSetPressure (FreeExp.inputLive , MRI, SIRI, FreeExp.vInputSize ,
3726- FreeExp.sInputSize );
3727- CollectLiveSetPressure (FreeExp.outputLive , MRI, SIRI, FreeExp.vOutputSize ,
3728- FreeExp.sOutputSize );
3725+ CollectLiveSetPressure (FreeExp.InputLive , MRI, SIRI, FreeExp.VInputSize ,
3726+ FreeExp.SInputSize );
3727+ CollectLiveSetPressure (FreeExp.OutputLive , MRI, SIRI, FreeExp.VOutputSize ,
3728+ FreeExp.SOutputSize );
37293729 return FreeExp;
37303730}
37313731
@@ -3817,14 +3817,14 @@ calculateSaving(HotBlock &HotBb, std::vector<SubExp> &SubExpCandidates,
38173817 continue ;
38183818 // When subExp is from hotBB, check output instead of input.
38193819 if (Exp.FromBB == MBB) {
3820- if (IsVOutBound && Exp.vOutputSize < Exp.vInputSize )
3820+ if (IsVOutBound && Exp.VOutputSize < Exp.VInputSize )
38213821 continue ;
3822- if (IsSOutBound && Exp.sOutputSize < Exp.sInputSize )
3822+ if (IsSOutBound && Exp.SOutputSize < Exp.SInputSize )
38233823 continue ;
3824- Vgpr += Exp.vInputSize ;
3825- Vgpr -= Exp.vOutputSize ;
3826- Sgpr += Exp.sInputSize ;
3827- Sgpr -= Exp.sOutputSize ;
3824+ Vgpr += Exp.VInputSize ;
3825+ Vgpr -= Exp.VOutputSize ;
3826+ Sgpr += Exp.SInputSize ;
3827+ Sgpr -= Exp.SOutputSize ;
38283828 continue ;
38293829 }
38303830 }
@@ -3852,7 +3852,7 @@ calculateSaving(HotBlock &HotBb, std::vector<SubExp> &SubExpCandidates,
38523852 }
38533853 }
38543854
3855- for (auto OutIt : Exp.outputLive ) {
3855+ for (auto OutIt : Exp.OutputLive ) {
38563856 unsigned Reg = OutIt.first ;
38573857 LaneBitmask OutMask = OutIt.second ;
38583858 LaneBitmask MBBBeginMask;
@@ -3887,7 +3887,7 @@ calculateSaving(HotBlock &HotBb, std::vector<SubExp> &SubExpCandidates,
38873887 }
38883888 }
38893889
3890- for (auto InIt : Exp.inputLive ) {
3890+ for (auto InIt : Exp.InputLive ) {
38913891 unsigned Reg = InIt.first ;
38923892 LaneBitmask InMask = InIt.second ;
38933893 LaneBitmask MBBBeginMask;
@@ -3929,7 +3929,7 @@ calculateSaving(HotBlock &HotBb, std::vector<SubExp> &SubExpCandidates,
39293929 // If MBB dominate any user of output live reg, It will still live in
39303930 // MBB. So cannot count that output live reg as profit.
39313931 // Hoist into loop is not supported now.
3932- for (auto OutIt : Exp.outputLive ) {
3932+ for (auto OutIt : Exp.OutputLive ) {
39333933 unsigned Reg = OutIt.first ;
39343934 bool IsDomUser = false ;
39353935 for (MachineInstr &MI : MRI.use_nodbg_instructions (Reg)) {
@@ -3963,7 +3963,7 @@ calculateSaving(HotBlock &HotBb, std::vector<SubExp> &SubExpCandidates,
39633963 }
39643964 }
39653965
3966- for (auto InIt : Exp.inputLive ) {
3966+ for (auto InIt : Exp.InputLive ) {
39673967 unsigned Reg = InIt.first ;
39683968 LaneBitmask InMask = InIt.second ;
39693969 LaneBitmask MBBBeginMask;
0 commit comments