Skip to content

Commit 4884b1b

Browse files
authored
[TableGen][GISel] Simplify checks for BasicBlockSDNode (NFC) (llvm#121098)
1 parent 7226b39 commit 4884b1b

File tree

1 file changed

+17
-23
lines changed

1 file changed

+17
-23
lines changed

llvm/utils/TableGen/GlobalISelEmitter.cpp

Lines changed: 17 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -992,27 +992,24 @@ Error GlobalISelEmitter::importChildMatcher(
992992

993993
// Check MBB's before the type check since they are not a known type.
994994
if (!SrcChild.isLeaf()) {
995-
if (SrcChild.getOperator()->isSubClassOf("SDNode")) {
996-
auto &ChildSDNI = CGP.getSDNodeInfo(SrcChild.getOperator());
997-
if (ChildSDNI.getSDClassName() == "BasicBlockSDNode") {
998-
OM.addPredicate<MBBOperandMatcher>();
999-
return Error::success();
1000-
}
1001-
if (SrcChild.getOperator()->getName() == "timm") {
1002-
OM.addPredicate<ImmOperandMatcher>();
995+
if (SrcChild.getOperator()->getName() == "bb") {
996+
OM.addPredicate<MBBOperandMatcher>();
997+
return Error::success();
998+
}
999+
if (SrcChild.getOperator()->getName() == "timm") {
1000+
OM.addPredicate<ImmOperandMatcher>();
10031001

1004-
// Add predicates, if any
1005-
for (const TreePredicateCall &Call : SrcChild.getPredicateCalls()) {
1006-
const TreePredicateFn &Predicate = Call.Fn;
1002+
// Add predicates, if any
1003+
for (const TreePredicateCall &Call : SrcChild.getPredicateCalls()) {
1004+
const TreePredicateFn &Predicate = Call.Fn;
10071005

1008-
// Only handle immediate patterns for now
1009-
if (Predicate.isImmediatePattern()) {
1010-
OM.addPredicate<OperandImmPredicateMatcher>(Predicate);
1011-
}
1006+
// Only handle immediate patterns for now
1007+
if (Predicate.isImmediatePattern()) {
1008+
OM.addPredicate<OperandImmPredicateMatcher>(Predicate);
10121009
}
1013-
1014-
return Error::success();
10151010
}
1011+
1012+
return Error::success();
10161013
}
10171014
} else if (auto *ChildDefInit = dyn_cast<DefInit>(SrcChild.getLeafValue())) {
10181015
auto *ChildRec = ChildDefInit->getDef();
@@ -1228,12 +1225,9 @@ Expected<action_iterator> GlobalISelEmitter::importExplicitUseRenderer(
12281225

12291226
// We accept 'bb' here. It's an operator because BasicBlockSDNode isn't
12301227
// inline, but in MI it's just another operand.
1231-
if (Dst.getOperator()->isSubClassOf("SDNode")) {
1232-
auto &ChildSDNI = CGP.getSDNodeInfo(Dst.getOperator());
1233-
if (ChildSDNI.getSDClassName() == "BasicBlockSDNode") {
1234-
DstMIBuilder.addRenderer<CopyRenderer>(Dst.getName());
1235-
return InsertPt;
1236-
}
1228+
if (Dst.getOperator()->getName() == "bb") {
1229+
DstMIBuilder.addRenderer<CopyRenderer>(Dst.getName());
1230+
return InsertPt;
12371231
}
12381232

12391233
// Similarly, imm is an operator in TreePatternNode's view but must be

0 commit comments

Comments
 (0)