[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