Skip to content

Commit 719aae1

Browse files
bcheng0127igcbot
authored andcommitted
Reduce the RA compilation time - isEvenAlign
1 parent c3656ff commit 719aae1

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

visa/GraphColor.cpp

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff 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
//
1254812553
unsigned 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

visa/GraphColor.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff 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; }

0 commit comments

Comments
 (0)