@@ -2613,14 +2613,15 @@ static G4_SrcRegRegion* getSpillFillHeader(IR_Builder& builder, G4_Declare* decl
2613
2613
2614
2614
// Create the send instruction to perform the spill of the spilled regvars's
2615
2615
// segment into spill memory.
2616
-
2616
+ // regOff - Offset of sub-spill. If one spill is splitted into more than one spill, this is the offset of them, unit in register size
2617
+ // spillOff - Offset of the original variable being spilled, unit in register size.
2617
2618
G4_INST *
2618
2619
SpillManagerGRF::createSpillSendInstr (
2619
2620
G4_Declare * spillRangeDcl,
2620
2621
G4_Declare * mRangeDcl ,
2621
2622
unsigned regOff,
2622
2623
unsigned height,
2623
- unsigned srcRegOff
2624
+ unsigned spillOff
2624
2625
)
2625
2626
{
2626
2627
unsigned execSize (0 );
@@ -2632,7 +2633,7 @@ SpillManagerGRF::createSpillSendInstr (
2632
2633
G4_RegVar* r = spillRangeDcl->getRegVar ();
2633
2634
G4_RegVarTmp* rvar = static_cast <G4_RegVarTmp*> (r);
2634
2635
messageDescImm =
2635
- createSpillSendMsgDesc (srcRegOff , height, execSize, rvar->getBaseRegVar ());
2636
+ createSpillSendMsgDesc (spillOff , height, execSize, rvar->getBaseRegVar ());
2636
2637
#ifdef _DEBUG
2637
2638
int offset = (messageDescImm->getInt () & 0xFFF ) * GENX_GRF_REG_SIZ;
2638
2639
MUST_BE_TRUE (offset >= globalScratchOffset, " incorrect offset" );
@@ -2665,7 +2666,7 @@ SpillManagerGRF::createSpillSendInstr (
2665
2666
int offset = getDisp (rvar->getBaseRegVar ());
2666
2667
getSpillOffset (offset);
2667
2668
// message expects offsets to be in HWord
2668
- off = (offset + regOff * getGRFSize ()) >> SCRATCH_SPACE_ADDRESS_UNIT;
2669
+ off = (offset + spillOff * getGRFSize ()) >> SCRATCH_SPACE_ADDRESS_UNIT;
2669
2670
fp = builder_->kernel .fg .getFramePtrDcl ();
2670
2671
}
2671
2672
}
@@ -2925,14 +2926,14 @@ SpillManagerGRF::createFillInstr(
2925
2926
2926
2927
// Create the send instruction to perform the fill of the spilled regvars's
2927
2928
// segment from spill memory.
2928
-
2929
+ // spillOff - spill offset to the fillRangeDcl, in unit of grf size
2929
2930
G4_INST *
2930
2931
SpillManagerGRF::createFillSendInstr (
2931
2932
G4_Declare * fillRangeDcl,
2932
2933
G4_Declare * mRangeDcl ,
2933
2934
unsigned regOff,
2934
2935
unsigned height,
2935
- unsigned srcRegOff
2936
+ unsigned spillOff
2936
2937
)
2937
2938
{
2938
2939
unsigned execSize (0 );
@@ -2944,7 +2945,7 @@ SpillManagerGRF::createFillSendInstr (
2944
2945
G4_RegVar* r = fillRangeDcl->getRegVar ();
2945
2946
G4_RegVarTmp* rvar = static_cast <G4_RegVarTmp*> (r);
2946
2947
messageDescImm =
2947
- createFillSendMsgDesc (srcRegOff , height, execSize, rvar->getBaseRegVar ());
2948
+ createFillSendMsgDesc (spillOff , height, execSize, rvar->getBaseRegVar ());
2948
2949
#ifdef _DEBUG
2949
2950
int offset = (messageDescImm->getInt () & 0xFFF ) * GENX_GRF_REG_SIZ;
2950
2951
MUST_BE_TRUE (offset >= globalScratchOffset, " incorrect offset" );
@@ -2976,7 +2977,7 @@ SpillManagerGRF::createFillSendInstr (
2976
2977
int offset = getDisp (rvar->getBaseRegVar ());
2977
2978
getSpillOffset (offset);
2978
2979
// message expects offsets to be in HWord
2979
- off = (offset + regOff * getGRFSize ()) >> SCRATCH_SPACE_ADDRESS_UNIT;
2980
+ off = (offset + spillOff * getGRFSize ()) >> SCRATCH_SPACE_ADDRESS_UNIT;
2980
2981
fp = builder_->kernel .fg .getFramePtrDcl ();
2981
2982
}
2982
2983
}
0 commit comments