================ @@ -10,23 +10,235 @@ #include "DXILResourceAnalysis.h" #include "DirectX.h" #include "llvm/ADT/StringRef.h" +#include "llvm/Analysis/DXILResource.h" #include "llvm/IR/PassManager.h" +#include "llvm/InitializePasses.h" #include "llvm/Pass.h" +#include "llvm/Support/FormatAdapters.h" #include "llvm/Support/FormatVariadic.h" #include "llvm/Support/raw_ostream.h" using namespace llvm; -static void prettyPrintResources(raw_ostream &OS, +static constexpr StringRef getRCName(dxil::ResourceClass RC) { ---------------- farzonl wrote:
Feel free to ignore, I was thinking of a different way to do this that would have a tighter coupling of Names and prefixes: ```cpp struct ResourceClassInfo { const StringRef name; const StringRef prefix; }; llvm::DenseMap<dxil::ResourceClass, ResourceClassInfo> createResourceClassMap() { return { {dxil::ResourceClass::SRV, {"SRV", "t"}}, {dxil::ResourceClass::UAV, {"UAV", "u"}}, {dxil::ResourceClass::CBuffer, {"cbuffer", "cb"}}, {dxil::ResourceClass::Sampler, {"sampler", "s"}} }; } static const llvm::DenseMap<dxil::ResourceClass, ResourceClassInfo> ResourceClassMap = createResourceClassMap(); StringRef getRCName(dxil::ResourceClass RC) { return ResourceClassMap.lookup(RC).name; } StringRef getRCPrefix(dxil::ResourceClass RC) { return ResourceClassMap.lookup(RC).prefix; } ``` https://github.com/llvm/llvm-project/pull/104448 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits