[llvm] [TableGen] Gracefully error out in ParseTreePattern when DAG has zero operands so that llvm-tblgen doesn't crash (PR #161417)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Sun Nov 30 09:29:12 PST 2025


================
@@ -3020,7 +3021,13 @@ TreePatternNodePtr TreePattern::ParseTreePattern(const Init *TheInit,
     return nullptr;
   }
 
-  auto ParseCastOperand = [this](const DagInit *Dag, StringRef OpName) {
+  auto ParseCastOperand = [this](const DagInit *Dag,
+                                 StringRef OpName) -> TreePatternNodePtr {
+    if (Dag->getNumArgs() == 0) {
+      error("type cast should not have zero arguments!");
+      return nullptr;
+    }
+
----------------
arsenm wrote:

Isn't this covered by the != 1 below already? 

https://github.com/llvm/llvm-project/pull/161417


More information about the llvm-commits mailing list