[clang] [HLSL] Make HLSLAttributedResourceType canonical and add code paths to convert HLSL types to DirectX target types (PR #110327)
Damyan Pepper via cfe-commits
cfe-commits at lists.llvm.org
Fri Sep 27 15:07:06 PDT 2024
================
@@ -4488,6 +4488,30 @@ void CXXNameMangler::mangleType(const ArrayParameterType *T) {
mangleType(cast<ConstantArrayType>(T));
}
+void CXXNameMangler::mangleType(const HLSLAttributedResourceType *T) {
+ mangleType(T->getWrappedType());
+ const HLSLAttributedResourceType::Attributes &Attrs = T->getAttrs();
+ switch (Attrs.ResourceClass) {
+ case llvm::dxil::ResourceClass::UAV:
+ Out << 'U';
+ break;
+ case llvm::dxil::ResourceClass::SRV:
+ Out << 'T';
+ break;
+ case llvm::dxil::ResourceClass::CBuffer:
+ Out << 'C';
+ break;
+ case llvm::dxil::ResourceClass::Sampler:
+ Out << 'S';
+ break;
+ }
----------------
damyanp wrote:
default case? Or is it intentional that unknown resource classes don't add the extra character?
https://github.com/llvm/llvm-project/pull/110327
More information about the cfe-commits
mailing list