xref: /llvm-project/llvm/test/CodeGen/DirectX/Metadata/shaderModel-cs.ll (revision 74f5ee4ffe89da4a0e9c762c69f8a68536fbf754)
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-NEXT: DXIL Version : 1.6
12; ANALYSIS-NEXT: Shader Stage : compute
13; ANALYSIS-NEXT: Validator Version : 0
14; ANALYSIS-EMPTY:
15
16define void @entry() #0 {
17entry:
18  ret void
19}
20
21; Make sure extra attribute like hlsl.numthreads are removed.
22; And experimental attribute is removed when validator version is not 0.0.
23; REMOVE_EXTRA_ATTRIBUTE:attributes #0 = { noinline nounwind }
24attributes #0 = { noinline nounwind "exp-shader"="cs" "hlsl.numthreads"="1,2,1" "hlsl.shader"="compute" }
25