File tree Expand file tree Collapse file tree 2 files changed +13
-2
lines changed Expand file tree Collapse file tree 2 files changed +13
-2
lines changed Original file line number Diff line number Diff line change @@ -5412,6 +5412,11 @@ void GraphColor::createLiveRanges(unsigned reserveSpillSize)
5412
5412
{
5413
5413
lrs[var->getId ()]->allocForbiddenCallerSave (mem, &builder.kernel );
5414
5414
}
5415
+
5416
+ if (gra.isEvenAligned (dcl))
5417
+ {
5418
+ lrs[var->getId ()]->setEvenAlign ();
5419
+ }
5415
5420
}
5416
5421
}
5417
5422
@@ -12547,8 +12552,8 @@ void GlobalRA::insertRestoreAddr(G4_BB* bb)
12547
12552
//
12548
12553
unsigned GraphColor::edgeWeightGRF (LiveRange* lr1, LiveRange* lr2)
12549
12554
{
12550
- bool lr1EvenAlign = gra. isEvenAligned ( lr1->getVar ()-> getDeclare () );
12551
- bool lr2EvenAlign = gra. isEvenAligned ( lr2->getVar ()-> getDeclare () );
12555
+ bool lr1EvenAlign = lr1->isEvenAlign ( );
12556
+ bool lr2EvenAlign = lr2->isEvenAlign ( );
12552
12557
unsigned lr1_nreg = lr1->getNumRegNeeded ();
12553
12558
unsigned lr2_nreg = lr2->getNumRegNeeded ();
12554
12559
Original file line number Diff line number Diff line change @@ -84,6 +84,7 @@ class LiveRange
84
84
bool * forbidden = nullptr ;
85
85
int numForbidden = -1 ;
86
86
bool spilled = false ;
87
+ bool evenAlign = false ;
87
88
88
89
GlobalRA& gra;
89
90
unsigned numRegNeeded;
@@ -179,6 +180,11 @@ class LiveRange
179
180
reg.subRegOff = 0 ;
180
181
}
181
182
183
+ void setEvenAlign () { evenAlign = true ; }
184
+ bool isEvenAlign () const {
185
+ return evenAlign;
186
+ }
187
+
182
188
bool getIsPseudoNode () const { return isPseudoNode; }
183
189
void setIsPseudoNode () { isPseudoNode = true ; }
184
190
bool getIsPartialDcl () const { return isPartialDeclare; }
You can’t perform that action at this time.
0 commit comments