Skip to content

Commit c236d8c

Browse files
jgu222igcbot
authored andcommitted
More refactoring on visa labels
Use createLocalBlockLabel() as much as possible to normalize visa local labels.
1 parent 2c560b0 commit c236d8c

File tree

3 files changed

+14
-14
lines changed

3 files changed

+14
-14
lines changed

visa/FlowGraph.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -345,11 +345,12 @@ G4_BB* FlowGraph::createNewBB(bool insertInFG)
345345
return bb;
346346
}
347347

348-
G4_BB* FlowGraph::createNewBBWithLabel(const char* LabelPrefix, int Lineno, int CISAoff)
348+
G4_BB* FlowGraph::createNewBBWithLabel(const char* LabelSuffix, int Lineno, int CISAoff)
349349
{
350350
G4_BB* newBB = createNewBB(true);
351-
std::string name = LabelPrefix + std::to_string(newBB->getId());
352-
G4_Label* lbl = builder->createLabel(name, LABEL_BLOCK);
351+
G4_Label* lbl = LabelSuffix != nullptr
352+
? builder->createLocalBlockLabel(LabelSuffix)
353+
: builder->createLocalBlockLabel();
353354
G4_INST* inst = createNewLabelInst(lbl, Lineno, CISAoff);
354355
newBB->push_back(inst);
355356
return newBB;
@@ -1313,7 +1314,7 @@ void FlowGraph::handleReturn(Label_BB_Map& labelMap, FuncInfoHashTable& funcInfo
13131314
// return edge has not been added yet.
13141315
G4_INST* I0 = retAddr->getFirstInst();
13151316
if (I0 == nullptr) I0 = last;
1316-
G4_BB* newRetBB = createNewBBWithLabel("Label_return_BB", I0->getLineNo(), I0->getCISAOff());
1317+
G4_BB* newRetBB = createNewBBWithLabel("Return_BB", I0->getLineNo(), I0->getCISAOff());
13171318
bb->removeSuccEdge(retAddr);
13181319
retAddr->removePredEdge(bb);
13191320
addPredSuccEdges(bb, newRetBB, true);

visa/FlowGraph.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -436,7 +436,7 @@ class FlowGraph
436436
G4_INST* createNewLabelInst(G4_Label* label, int lineNo = 0, int CISAOff = -1);
437437

438438
G4_BB* createNewBB(bool insertInFG = true);
439-
G4_BB* createNewBBWithLabel(const char* LabelPrefix, int Lineno = 0, int CISAoff = -1);
439+
G4_BB* createNewBBWithLabel(const char* LabelSuffix, int Lineno = 0, int CISAoff = -1);
440440
int64_t insertDummyUUIDMov();
441441
//
442442
// Increase by one so that all BBs' traversal are less than traversalNum

visa/Optimizer.cpp

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1183,7 +1183,7 @@ void Optimizer::insertDummyMovForHWRSWA()
11831183
}
11841184
}
11851185
G4_BB* wa_bb = hasJmpIPred ?
1186-
kernel.fg.createNewBBWithLabel("WA_", preInst->getLineNo(), preInst->getCISAOff()) :
1186+
kernel.fg.createNewBBWithLabel("RSWA", preInst->getLineNo(), preInst->getCISAOff()) :
11871187
kernel.fg.createNewBB();
11881188
kernel.fg.insert(bb_it, wa_bb);
11891189
G4_Label* newLabel = hasJmpIPred ? wa_bb->getLabel() : NULL;
@@ -8630,8 +8630,7 @@ bool Optimizer::foldPseudoAndOr(G4_BB* bb, INST_LIST_ITER& ii)
86308630
}
86318631
else
86328632
{
8633-
std::string label_name("ffid_prolog_end");
8634-
jmp_label = builder.createLabel(label_name, LABEL_BLOCK);
8633+
jmp_label = builder.createLocalBlockLabel("ffid_prolog_end");
86358634
next_bb->insertBefore(next_bb->begin(), createLabelInst(jmp_label));
86368635
}
86378636
entry_0_bb->push_back(createJmpi(jmp_label));
@@ -9657,7 +9656,7 @@ bool Optimizer::foldPseudoAndOr(G4_BB* bb, INST_LIST_ITER& ii)
96579656
// NOTE: create the call and label instructions directly without forming a BB to skip the
96589657
// BB end with call checking (e.g. in SWSB setting) that this is just a fall-throug call and
96599658
// is a temporarily WA
9660-
G4_Label *label = builder.createLabel(std::string("_label_ip_wa"), LABEL_BLOCK);
9659+
G4_Label *label = builder.createLocalBlockLabel("ip_wa");
96619660
insts.push_back(builder.createInternalInst(
96629661
nullptr, G4_call, nullptr, g4::NOSAT, g4::SIMD1,
96639662
builder.createDstRegRegion(dst_decl, 1),
@@ -16700,7 +16699,7 @@ void Optimizer::applyFusedCallWA()
1670016699
{
1670116700
// Cannot insert join, otherwise, label for while/endif would be wrong
1670216701
// Here, create a new empty BB so that we can add join into it.
16703-
G4_BB* endBB = fg.createNewBBWithLabel("_FusedCallWA_EndBB/Tar", callI->getLineNo(), callI->getCISAOff());
16702+
G4_BB* endBB = fg.createNewBBWithLabel("CallWA_EndBB", callI->getLineNo(), callI->getCISAOff());
1670416703
nextBI = fg.insert(nextBI, endBB);
1670516704

1670616705
// Adjust control-flow
@@ -16763,10 +16762,10 @@ void Optimizer::applyFusedCallWA()
1676316762
BB->push_back(I2);
1676416763
BB->push_back(I3);
1676516764

16766-
G4_BB* bigB0 = fg.createNewBBWithLabel("_FusedCallWA_", callI->getLineNo(), callI->getCISAOff());
16767-
G4_BB* bigB1 = fg.createNewBBWithLabel("_FusedCallWA_", callI->getLineNo(), callI->getCISAOff());
16768-
G4_BB* smallB0 = fg.createNewBBWithLabel("_FusedCallWA_", callI->getLineNo(), callI->getCISAOff());
16769-
G4_BB* smallB1 = fg.createNewBBWithLabel("_FusedCallWA_", callI->getLineNo(), callI->getCISAOff());
16765+
G4_BB* bigB0 = fg.createNewBBWithLabel("CallWA_BigB0", callI->getLineNo(), callI->getCISAOff());
16766+
G4_BB* bigB1 = fg.createNewBBWithLabel("CallWA_BigB1", callI->getLineNo(), callI->getCISAOff());
16767+
G4_BB* smallB0 = fg.createNewBBWithLabel("CallWA_SmallB0", callI->getLineNo(), callI->getCISAOff());
16768+
G4_BB* smallB1 = fg.createNewBBWithLabel("CallWA_SmallB1", callI->getLineNo(), callI->getCISAOff());
1677016769
// Note that nextBI points to the nextBB!
1677116770
fg.insert(nextBI, bigB0);
1677216771
fg.insert(nextBI, bigB1);

0 commit comments

Comments
 (0)