aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Sema/SemaDecl.cpp
diff options
context:
space:
mode:
authorXiang Li <python3kgae@outlook.com>2024-08-31 08:23:34 -0700
committerGitHub <noreply@github.com>2024-08-31 11:23:34 -0400
commite41579a31f77008eb76c418df5d192d0974421d2 (patch)
tree74a2f732f0948b0a7333851c2559286638521c41 /clang/lib/Sema/SemaDecl.cpp
parenta3ea90ffbbe47d9a1b3eab03324f09d7b8e0dcb3 (diff)
downloadllvm-e41579a31f77008eb76c418df5d192d0974421d2.zip
llvm-e41579a31f77008eb76c418df5d192d0974421d2.tar.gz
llvm-e41579a31f77008eb76c418df5d192d0974421d2.tar.bz2
[HLSL] AST support for WaveSize attribute. (#101240)
First step for support WaveSize attribute in https://microsoft.github.io/DirectX-Specs/d3d/HLSL_SM_6_6_WaveSize.html and https://microsoft.github.io/hlsl-specs/proposals/0013-wave-size-range.html A new attribute HLSLWaveSizeAttr was supported in the AST. Implement both the wave size and the wave size range, rather than separately which might require more work. For #70118
Diffstat (limited to 'clang/lib/Sema/SemaDecl.cpp')
-rw-r--r--clang/lib/Sema/SemaDecl.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp
index 6327ae9..69b793b 100644
--- a/clang/lib/Sema/SemaDecl.cpp
+++ b/clang/lib/Sema/SemaDecl.cpp
@@ -2863,6 +2863,10 @@ static bool mergeDeclAttribute(Sema &S, NamedDecl *D,
else if (const auto *NT = dyn_cast<HLSLNumThreadsAttr>(Attr))
NewAttr = S.HLSL().mergeNumThreadsAttr(D, *NT, NT->getX(), NT->getY(),
NT->getZ());
+ else if (const auto *WS = dyn_cast<HLSLWaveSizeAttr>(Attr))
+ NewAttr = S.HLSL().mergeWaveSizeAttr(D, *WS, WS->getMin(), WS->getMax(),
+ WS->getPreferred(),
+ WS->getSpelledArgsCount());
else if (const auto *SA = dyn_cast<HLSLShaderAttr>(Attr))
NewAttr = S.HLSL().mergeShaderAttr(D, *SA, SA->getType());
else if (isa<SuppressAttr>(Attr))