[clang] [HLSL][RootSignature] Enable resource range analysis for remaining `RootElement`s (PR #145109)
Finn Plummer via cfe-commits
cfe-commits at lists.llvm.org
Mon Jun 23 12:00:09 PDT 2025
================
@@ -1116,6 +1116,52 @@ bool SemaHLSL::handleRootSignatureDecl(HLSLRootSignatureDecl *D,
Info.Space = Descriptor->Space;
Info.Visibility = Descriptor->Visibility;
Infos.push_back(Info);
+ } else if (const auto *Constants =
+ std::get_if<llvm::hlsl::rootsig::RootConstants>(&Elem)) {
+ RangeInfo Info;
+ Info.LowerBound = Constants->Reg.Number;
+ Info.UpperBound = Info.LowerBound; // use inclusive ranges []
+
+ Info.Class = llvm::dxil::ResourceClass::CBuffer;
+ Info.Space = Constants->Space;
+ Info.Visibility = Constants->Visibility;
+ Infos.push_back(Info);
+ } else if (const auto *Sampler =
+ std::get_if<llvm::hlsl::rootsig::StaticSampler>(&Elem)) {
+ RangeInfo Info;
+ Info.LowerBound = Sampler->Reg.Number;
+ Info.UpperBound = Info.LowerBound; // use inclusive ranges []
+
+ Info.Class = llvm::dxil::ResourceClass::Sampler;
+ Info.Space = Sampler->Space;
+ Info.Visibility = Sampler->Visibility;
+ Infos.push_back(Info);
+ } else if (const auto *Clause =
+ std::get_if<llvm::hlsl::rootsig::DescriptorTableClause>(
+ &Elem)) {
+ RangeInfo Info;
+ Info.LowerBound = Clause->Reg.Number;
+ assert(0 < Clause->NumDescriptors && "Verified as part of TODO(#129940)");
----------------
inbelic wrote:
True, there shouldn't be anything to prevent us from doing so
https://github.com/llvm/llvm-project/pull/145109
More information about the cfe-commits
mailing list