[clang] [llvm] [DirectX] Validate registers are bound to root signature (PR #146785)

Chris B via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 25 07:46:36 PDT 2025


================
@@ -316,6 +316,32 @@ findOverlappingRanges(llvm::SmallVector<RangeInfo> &Infos) {
   return Overlaps;
 }
 
+llvm::SmallVector<RangeInfo>
+findUnboundRanges(const llvm::ArrayRef<RangeInfo> &Ranges,
+                  const llvm::ArrayRef<RangeInfo> &Bindings) {
+  llvm::SmallVector<RangeInfo> Unbounds;
+  for (const auto &Range : Ranges) {
+    bool Bound = false;
+    // hlsl::rootsig::RangeInfo Range;
+    // Range.Space = ResBinding.Space;
+    // Range.LowerBound = ResBinding.LowerBound;
+    // Range.UpperBound = Range.LowerBound + ResBinding.Size - 1;
+
+    for (const auto &Binding : Bindings) {
+      if (Range.Space == Binding.Space &&
+          Range.LowerBound >= Binding.LowerBound &&
+          Range.UpperBound <= Binding.UpperBound) {
+        Bound = true;
+        break;
+      }
+    }
+    if (!Bound) {
+      Unbounds.push_back(Range);
+    }
----------------
llvm-beanz wrote:

```suggestion
    if (!Bound)
      Unbounds.push_back(Range);
```

https://llvm.org/docs/CodingStandards.html#don-t-use-braces-on-simple-single-statement-bodies-of-if-else-loop-statements

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


More information about the llvm-commits mailing list