[llvm] [IR][TableGen] Add RangeSet TableGen intrinsic property (PR #203623)

Rahul Joshi via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 13 09:47:41 PDT 2026


================
@@ -566,6 +605,24 @@ void CodeGenIntrinsic::setProperty(const Record *R) {
     int64_t Lower = R->getValueAsInt("Lower");
     int64_t Upper = R->getValueAsInt("Upper");
     addArgAttribute(ArgNo, Range, Lower, Upper);
+  } else if (R->isSubClassOf("RangeSet")) {
+    unsigned ArgNo = R->getValueAsInt("ArgNo");
+    const ListInit *RangeList = R->getValueAsListInit("Ranges");
+    ImmArgRangeList Ranges;
+
+    if (ArgNo < 1)
+      PrintFatalError(R->getLoc(), "RangeSet should only apply to arguments");
+    unsigned ParamNo = ArgNo - 1;
+
+    for (const ImmArgRangeSet &RangeSet : ImmArgRangeSets)
+      if (RangeSet.ArgNo == ParamNo)
+        PrintFatalError(R->getLoc(),
----------------
jurahul wrote:

Also, can you add a unit test?

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


More information about the llvm-commits mailing list