@@ -136,6 +136,23 @@ namespace vISA
136
136
137
137
void setOffset (unsigned short o) { offset = o; }
138
138
139
+ bool hasOverlap (SBFootprint* liveFootprint) const
140
+ {
141
+ SBFootprint* curFootprint2Ptr = liveFootprint;
142
+ while (curFootprint2Ptr)
143
+ {
144
+ // Negative of no overlap: !(LeftB > curFootprint2Ptr->RightB || RightB < curFootprint2Ptr->LeftB)
145
+ if (fType == curFootprint2Ptr->fType &&
146
+ LeftB <= curFootprint2Ptr->RightB && RightB >= curFootprint2Ptr->LeftB )
147
+ {
148
+ return true ;
149
+ }
150
+ curFootprint2Ptr = curFootprint2Ptr->next ;
151
+ }
152
+
153
+ return false ;
154
+ }
155
+
139
156
bool hasOverlap (SBFootprint *liveFootprint, unsigned short &internalOffset) const
140
157
{
141
158
SBFootprint *curFootprint2Ptr = liveFootprint;
@@ -984,14 +1001,11 @@ namespace vISA
984
1001
SBFootprint* getFootprintForFlag (G4_Operand* opnd,
985
1002
Gen4_Operand_Number opnd_num,
986
1003
G4_INST* inst);
987
- void getGRFBuckets (SBNode *node,
988
- SBFootprint* footprint,
989
- Gen4_Operand_Number opndNum,
990
- std::vector<SBBucketDescr>& BDvec);
991
1004
bool getFootprintForOperand (SBNode *node,
992
1005
G4_INST *inst,
993
1006
G4_Operand* opnd,
994
1007
Gen4_Operand_Number opnd_num);
1008
+ void getGRFBuckets (SBNode* node, SBFootprint* footprint, Gen4_Operand_Number opndNum, std::vector<SBBucketDescr>& BDvec, bool GRFOnly);
995
1009
bool getGRFFootPrintOperands (SBNode *node,
996
1010
G4_INST *inst,
997
1011
Gen4_Operand_Number first_opnd,
0 commit comments