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)
54125412 {
54135413 lrs[var->getId ()]->allocForbiddenCallerSave (mem, &builder.kernel );
54145414 }
5415+
5416+ if (gra.isEvenAligned (dcl))
5417+ {
5418+ lrs[var->getId ()]->setEvenAlign ();
5419+ }
54155420 }
54165421}
54175422
@@ -12547,8 +12552,8 @@ void GlobalRA::insertRestoreAddr(G4_BB* bb)
1254712552//
1254812553unsigned GraphColor::edgeWeightGRF (LiveRange* lr1, LiveRange* lr2)
1254912554{
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 ( );
1255212557 unsigned lr1_nreg = lr1->getNumRegNeeded ();
1255312558 unsigned lr2_nreg = lr2->getNumRegNeeded ();
1255412559
Original file line number Diff line number Diff line change @@ -84,6 +84,7 @@ class LiveRange
8484 bool * forbidden = nullptr ;
8585 int numForbidden = -1 ;
8686 bool spilled = false ;
87+ bool evenAlign = false ;
8788
8889 GlobalRA& gra;
8990 unsigned numRegNeeded;
@@ -179,6 +180,11 @@ class LiveRange
179180 reg.subRegOff = 0 ;
180181 }
181182
183+ void setEvenAlign () { evenAlign = true ; }
184+ bool isEvenAlign () const {
185+ return evenAlign;
186+ }
187+
182188 bool getIsPseudoNode () const { return isPseudoNode; }
183189 void setIsPseudoNode () { isPseudoNode = true ; }
184190 bool getIsPartialDcl () const { return isPartialDeclare; }
You can’t perform that action at this time.
0 commit comments