diff options
author | Xiang Li <python3kgae@outlook.com> | 2024-08-31 08:23:34 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-31 11:23:34 -0400 |
commit | e41579a31f77008eb76c418df5d192d0974421d2 (patch) | |
tree | 74a2f732f0948b0a7333851c2559286638521c41 /clang/lib/Sema/SemaDecl.cpp | |
parent | a3ea90ffbbe47d9a1b3eab03324f09d7b8e0dcb3 (diff) | |
download | llvm-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.cpp | 4 |
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)) |