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