diff options
author | Sergei Barannikov <barannikov88@gmail.com> | 2024-12-25 13:32:02 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-12-25 13:32:02 +0300 |
commit | 4884b1b08a13af430620e7104aa58710a70f618c (patch) | |
tree | d442756d02a6d92a5b2a8458f032b912cdc424e5 /llvm | |
parent | 7226b39926b5df6452d13e83f61e35a71dbe448d (diff) | |
download | llvm-4884b1b08a13af430620e7104aa58710a70f618c.zip llvm-4884b1b08a13af430620e7104aa58710a70f618c.tar.gz llvm-4884b1b08a13af430620e7104aa58710a70f618c.tar.bz2 |
[TableGen][GISel] Simplify checks for BasicBlockSDNode (NFC) (#121098)
Diffstat (limited to 'llvm')
-rw-r--r-- | llvm/utils/TableGen/GlobalISelEmitter.cpp | 40 |
1 files changed, 17 insertions, 23 deletions
diff --git a/llvm/utils/TableGen/GlobalISelEmitter.cpp b/llvm/utils/TableGen/GlobalISelEmitter.cpp index 4250b57..5038be7 100644 --- a/llvm/utils/TableGen/GlobalISelEmitter.cpp +++ b/llvm/utils/TableGen/GlobalISelEmitter.cpp @@ -992,27 +992,24 @@ Error GlobalISelEmitter::importChildMatcher( // Check MBB's before the type check since they are not a known type. if (!SrcChild.isLeaf()) { - if (SrcChild.getOperator()->isSubClassOf("SDNode")) { - auto &ChildSDNI = CGP.getSDNodeInfo(SrcChild.getOperator()); - if (ChildSDNI.getSDClassName() == "BasicBlockSDNode") { - OM.addPredicate<MBBOperandMatcher>(); - return Error::success(); - } - if (SrcChild.getOperator()->getName() == "timm") { - OM.addPredicate<ImmOperandMatcher>(); + if (SrcChild.getOperator()->getName() == "bb") { + OM.addPredicate<MBBOperandMatcher>(); + return Error::success(); + } + if (SrcChild.getOperator()->getName() == "timm") { + OM.addPredicate<ImmOperandMatcher>(); - // Add predicates, if any - for (const TreePredicateCall &Call : SrcChild.getPredicateCalls()) { - const TreePredicateFn &Predicate = Call.Fn; + // Add predicates, if any + for (const TreePredicateCall &Call : SrcChild.getPredicateCalls()) { + const TreePredicateFn &Predicate = Call.Fn; - // Only handle immediate patterns for now - if (Predicate.isImmediatePattern()) { - OM.addPredicate<OperandImmPredicateMatcher>(Predicate); - } + // Only handle immediate patterns for now + if (Predicate.isImmediatePattern()) { + OM.addPredicate<OperandImmPredicateMatcher>(Predicate); } - - return Error::success(); } + + return Error::success(); } } else if (auto *ChildDefInit = dyn_cast<DefInit>(SrcChild.getLeafValue())) { auto *ChildRec = ChildDefInit->getDef(); @@ -1228,12 +1225,9 @@ Expected<action_iterator> GlobalISelEmitter::importExplicitUseRenderer( // We accept 'bb' here. It's an operator because BasicBlockSDNode isn't // inline, but in MI it's just another operand. - if (Dst.getOperator()->isSubClassOf("SDNode")) { - auto &ChildSDNI = CGP.getSDNodeInfo(Dst.getOperator()); - if (ChildSDNI.getSDClassName() == "BasicBlockSDNode") { - DstMIBuilder.addRenderer<CopyRenderer>(Dst.getName()); - return InsertPt; - } + if (Dst.getOperator()->getName() == "bb") { + DstMIBuilder.addRenderer<CopyRenderer>(Dst.getName()); + return InsertPt; } // Similarly, imm is an operator in TreePatternNode's view but must be |