xref: /llvm-project/llvm/test/CodeGen/DirectX/Metadata/shaderModel-cs.ll (revision 8107810cad24d41fe43c6777370c7b81ca83ad84)
1; RUN: opt -S -dxil-translate-metadata %s | FileCheck %s
2; RUN: opt -S -dxil-prepare  %s | FileCheck %s  --check-prefix=REMOVE_EXTRA_ATTRIBUTE
3; RUN: opt -S -passes="print<dxil-metadata>" -disable-output %s 2>&1 | FileCheck %s --check-prefix=ANALYSIS
4
5target triple = "dxil-pc-shadermodel6.6-compute"
6
7; CHECK: !dx.shaderModel = !{![[SM:[0-9]+]]}
8; CHECK: ![[SM]] = !{!"cs", i32 6, i32 6}
9
10; ANALYSIS: Shader Model Version : 6.6
11; ANALYSIS: DXIL Version : 1.6
12; ANALYSIS: Shader Stage : compute
13
14define void @entry() #0 {
15entry:
16  ret void
17}
18
19; Make sure extra attribute like hlsl.numthreads are removed.
20; And experimental attribute is removed when validator version is not 0.0.
21; REMOVE_EXTRA_ATTRIBUTE:attributes #0 = { noinline nounwind }
22attributes #0 = { noinline nounwind "exp-shader"="cs" "hlsl.numthreads"="1,2,1" "hlsl.shader"="compute" }
23