From 59f5ca062423291d5a6941531cc26cd8aafbc1fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nathan=20Gau=C3=ABr?= Date: Mon, 11 Sep 2023 18:09:04 +0200 Subject: [PATCH 1/4] [SPIRV][DX] Share one test between backends MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit One big issue with DirectXShaderCompiler was test coverage: DXIL and SPIR-V backends had their own tests. When a bug was found in one, the other wasn't always checked. This lead to unequal support of HLSL for both backends. We'd like to avoid those issues here, hence the test-sharing. By default, all the tests in this folder are marked as requiring DirectX. But as SPIR-V support grows, each test drop this requirement, and check the SPIR-V behavior. I would have preferred to mark new tests as XFAIL for SPIR-V by default, so we could differentiate real unsupported tests (as SPIR-V has no equivalent), from newly added tests. But the way LIT is built, I don't think this is possible. Signed-off-by: Nathan Gauër --- .../DirectX/ContainerData/DebugShaderHash.ll | 2 ++ .../DirectX/ContainerData/ShaderHash.ll | 2 ++ .../DirectX/Metadata/shaderModel-as.ll | 2 ++ .../DirectX/Metadata/shaderModel-cs.ll | 2 ++ .../DirectX/Metadata/shaderModel-gs.ll | 2 ++ .../DirectX/Metadata/shaderModel-hs.ll | 2 ++ .../DirectX/Metadata/shaderModel-lib.ll | 2 ++ .../DirectX/Metadata/shaderModel-ms.ll | 2 ++ .../DirectX/Metadata/shaderModel-ps.ll | 2 ++ .../DirectX/Metadata/shaderModel-vs.ll | 2 ++ .../DirectX/ShaderFlags/double-extensions.ll | 1 + .../CodeGen/DirectX/ShaderFlags/doubles.ll | 1 + .../CodeGen/DirectX/ShaderFlags/no_flags.ll | 1 + llvm/test/CodeGen/DirectX/UAVMetadata.ll | 1 + llvm/test/CodeGen/DirectX/cbuf.ll | 1 + llvm/test/CodeGen/DirectX/comput_ids.ll | 1 + .../DirectX/conflicting-bitcast-insert.ll | 2 ++ llvm/test/CodeGen/DirectX/dxil_ver.ll | 2 ++ llvm/test/CodeGen/DirectX/embed-dxil.ll | 2 ++ llvm/test/CodeGen/DirectX/empty_cs_entry.ll | 20 ++++++++++++++----- llvm/test/CodeGen/DirectX/fneg-conversion.ll | 2 ++ .../CodeGen/DirectX/legacy_cb_layout_0.ll | 1 + .../CodeGen/DirectX/legacy_cb_layout_1.ll | 1 + .../CodeGen/DirectX/legacy_cb_layout_2.ll | 1 + .../CodeGen/DirectX/legacy_cb_layout_3.ll | 1 + llvm/test/CodeGen/DirectX/lib_entry.ll | 2 ++ llvm/test/CodeGen/DirectX/lit.local.cfg | 2 +- llvm/test/CodeGen/DirectX/min_vec_size.ll | 1 + .../CodeGen/DirectX/omit-bitcast-insert.ll | 2 ++ llvm/test/CodeGen/DirectX/sin.ll | 1 + llvm/test/CodeGen/DirectX/strip-call-attrs.ll | 3 ++- llvm/test/CodeGen/DirectX/strip-fn-attrs.ll | 2 ++ llvm/test/CodeGen/DirectX/typed_ptr.ll | 2 ++ llvm/test/CodeGen/DirectX/umax.ll | 1 + 34 files changed, 67 insertions(+), 7 deletions(-) diff --git a/llvm/test/CodeGen/DirectX/ContainerData/DebugShaderHash.ll b/llvm/test/CodeGen/DirectX/ContainerData/DebugShaderHash.ll index eda0d6850bde5..3d7d4155016b6 100644 --- a/llvm/test/CodeGen/DirectX/ContainerData/DebugShaderHash.ll +++ b/llvm/test/CodeGen/DirectX/ContainerData/DebugShaderHash.ll @@ -1,5 +1,7 @@ ; RUN: opt %s -dxil-embed -dxil-globals -S -o - | FileCheck %s ; RUN: llc %s --filetype=obj -o - | obj2yaml | FileCheck %s --check-prefix=DXC +; REQUIRES: directx-registered-target + target triple = "dxil-unknown-shadermodel6.5-library" ; CHECK: @dx.hash = private constant [20 x i8] c"\01\00\00\00{{.*}}", section "HASH", align 4 diff --git a/llvm/test/CodeGen/DirectX/ContainerData/ShaderHash.ll b/llvm/test/CodeGen/DirectX/ContainerData/ShaderHash.ll index 088a7b0071663..81e948e6e2b9f 100644 --- a/llvm/test/CodeGen/DirectX/ContainerData/ShaderHash.ll +++ b/llvm/test/CodeGen/DirectX/ContainerData/ShaderHash.ll @@ -1,5 +1,7 @@ ; RUN: opt %s -dxil-embed -dxil-globals -S -o - | FileCheck %s ; RUN: llc %s --filetype=obj -o - | obj2yaml | FileCheck %s --check-prefix=DXC +; REQUIRES: directx-registered-target + target triple = "dxil-unknown-shadermodel6.5-library" ; CHECK: @dx.hash = private constant [20 x i8] c"\00\00\00\00{{.*}}", section "HASH", align 4 diff --git a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-as.ll b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-as.ll index fe3361c781ce4..b92bdd504ca36 100644 --- a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-as.ll +++ b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-as.ll @@ -1,4 +1,6 @@ ; RUN: opt -S -dxil-metadata-emit %s | FileCheck %s +; REQUIRES: directx-registered-target + target triple = "dxil-pc-shadermodel6-amplification" ; CHECK: !dx.shaderModel = !{![[SM:[0-9]+]]} diff --git a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-cs.ll b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-cs.ll index be4b46f22ef25..2748e25d68de8 100644 --- a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-cs.ll +++ b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-cs.ll @@ -1,4 +1,6 @@ ; RUN: opt -S -dxil-metadata-emit %s | FileCheck %s +; REQUIRES: directx-registered-target + target triple = "dxil-pc-shadermodel6.6-compute" ; CHECK: !dx.shaderModel = !{![[SM:[0-9]+]]} diff --git a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-gs.ll b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-gs.ll index a0a1b7c2ff303..44f8005b7476b 100644 --- a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-gs.ll +++ b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-gs.ll @@ -1,4 +1,6 @@ ; RUN: opt -S -dxil-metadata-emit %s | FileCheck %s +; REQUIRES: directx-registered-target + target triple = "dxil-pc-shadermodel6.6-geometry" ; CHECK: !dx.shaderModel = !{![[SM:[0-9]+]]} diff --git a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-hs.ll b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-hs.ll index 6b1fa46c2c137..7e2d927e6c7f5 100644 --- a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-hs.ll +++ b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-hs.ll @@ -1,4 +1,6 @@ ; RUN: opt -S -dxil-metadata-emit %s | FileCheck %s +; REQUIRES: directx-registered-target + target triple = "dxil-pc-shadermodel6.6-hull" ; CHECK: !dx.shaderModel = !{![[SM:[0-9]+]]} diff --git a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-lib.ll b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-lib.ll index 3644cf21bcaeb..da5e0ee9fb485 100644 --- a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-lib.ll +++ b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-lib.ll @@ -1,4 +1,6 @@ ; RUN: opt -S -dxil-metadata-emit %s | FileCheck %s +; REQUIRES: directx-registered-target + target triple = "dxil-pc-shadermodel6.3-library" ; CHECK: !dx.shaderModel = !{![[SM:[0-9]+]]} diff --git a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-ms.ll b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-ms.ll index 766e8e2e30b5a..a5d1d3f1ae028 100644 --- a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-ms.ll +++ b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-ms.ll @@ -1,4 +1,6 @@ ; RUN: opt -S -dxil-metadata-emit %s | FileCheck %s +; REQUIRES: directx-registered-target + target triple = "dxil-pc-shadermodel6.6-mesh" ; CHECK: !dx.shaderModel = !{![[SM:[0-9]+]]} diff --git a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-ps.ll b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-ps.ll index 46e8f3bcfa856..95ae3f1a534e0 100644 --- a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-ps.ll +++ b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-ps.ll @@ -1,4 +1,6 @@ ; RUN: opt -S -dxil-metadata-emit %s | FileCheck %s +; REQUIRES: directx-registered-target + target triple = "dxil-pc-shadermodel5.0-pixel" ; CHECK: !dx.shaderModel = !{![[SM:[0-9]+]]} diff --git a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-vs.ll b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-vs.ll index 7a0cfdf816266..40f7d16f1e0d1 100644 --- a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-vs.ll +++ b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-vs.ll @@ -1,4 +1,6 @@ ; RUN: opt -S -dxil-metadata-emit %s | FileCheck %s +; REQUIRES: directx-registered-target + target triple = "dxil-pc-shadermodel-vertex" ; CHECK: !dx.shaderModel = !{![[SM:[0-9]+]]} diff --git a/llvm/test/CodeGen/DirectX/ShaderFlags/double-extensions.ll b/llvm/test/CodeGen/DirectX/ShaderFlags/double-extensions.ll index 865fefeac335d..07c14690ec1de 100644 --- a/llvm/test/CodeGen/DirectX/ShaderFlags/double-extensions.ll +++ b/llvm/test/CodeGen/DirectX/ShaderFlags/double-extensions.ll @@ -1,5 +1,6 @@ ; RUN: opt -S --passes="print-dx-shader-flags" 2>&1 %s | FileCheck %s ; RUN: llc %s --filetype=obj -o - | obj2yaml | FileCheck %s --check-prefix=DXC +; REQUIRES: directx-registered-target target triple = "dxil-pc-shadermodel6.7-library" diff --git a/llvm/test/CodeGen/DirectX/ShaderFlags/doubles.ll b/llvm/test/CodeGen/DirectX/ShaderFlags/doubles.ll index f90db61661f09..1920db59b30dd 100644 --- a/llvm/test/CodeGen/DirectX/ShaderFlags/doubles.ll +++ b/llvm/test/CodeGen/DirectX/ShaderFlags/doubles.ll @@ -1,5 +1,6 @@ ; RUN: opt -S --passes="print-dx-shader-flags" 2>&1 %s | FileCheck %s ; RUN: llc %s --filetype=obj -o - | obj2yaml | FileCheck %s --check-prefix=DXC +; REQUIRES: directx-registered-target target triple = "dxil-pc-shadermodel6.7-library" diff --git a/llvm/test/CodeGen/DirectX/ShaderFlags/no_flags.ll b/llvm/test/CodeGen/DirectX/ShaderFlags/no_flags.ll index f7baa1b64f9cd..fd8a5a72cb901 100644 --- a/llvm/test/CodeGen/DirectX/ShaderFlags/no_flags.ll +++ b/llvm/test/CodeGen/DirectX/ShaderFlags/no_flags.ll @@ -1,4 +1,5 @@ ; RUN: opt -S --passes="print-dx-shader-flags" 2>&1 %s | FileCheck %s +; REQUIRES: directx-registered-target target triple = "dxil-pc-shadermodel6.7-library" diff --git a/llvm/test/CodeGen/DirectX/UAVMetadata.ll b/llvm/test/CodeGen/DirectX/UAVMetadata.ll index e86d53cd7afc8..816280c6cf9bf 100644 --- a/llvm/test/CodeGen/DirectX/UAVMetadata.ll +++ b/llvm/test/CodeGen/DirectX/UAVMetadata.ll @@ -1,6 +1,7 @@ ; RUN: opt -S -dxil-metadata-emit < %s | FileCheck %s ; RUN: opt -S --passes="print-dxil-resource" < %s 2>&1 | FileCheck %s --check-prefix=PRINT ; RUN: llc %s --filetype=asm -o - < %s 2>&1 | FileCheck %s --check-prefixes=CHECK,PRINT +; REQUIRES: directx-registered-target target datalayout = "e-m:e-p:32:32-i1:32-i8:8-i16:16-i32:32-i64:64-f16:16-f32:32-f64:64-n8:16:32:64" target triple = "dxil-pc-shadermodel6.0-library" diff --git a/llvm/test/CodeGen/DirectX/cbuf.ll b/llvm/test/CodeGen/DirectX/cbuf.ll index 6640654f730e9..b25cbfd8e274e 100644 --- a/llvm/test/CodeGen/DirectX/cbuf.ll +++ b/llvm/test/CodeGen/DirectX/cbuf.ll @@ -1,5 +1,6 @@ ; RUN: opt -S -dxil-metadata-emit < %s | FileCheck %s --check-prefix=DXILMD ; RUN: opt -S --passes="print-dxil-resource" < %s 2>&1 | FileCheck %s --check-prefix=PRINT +; REQUIRES: directx-registered-target target datalayout = "e-m:e-p:32:32-i1:32-i8:8-i16:16-i32:32-i64:64-f16:16-f32:32-f64:64-n8:16:32:64" target triple = "dxil-unknown-shadermodel6.7-library" diff --git a/llvm/test/CodeGen/DirectX/comput_ids.ll b/llvm/test/CodeGen/DirectX/comput_ids.ll index 553994094d71e..b9253de6a9596 100644 --- a/llvm/test/CodeGen/DirectX/comput_ids.ll +++ b/llvm/test/CodeGen/DirectX/comput_ids.ll @@ -1,4 +1,5 @@ ; RUN: opt -S -dxil-op-lower < %s | FileCheck %s +; REQUIRES: directx-registered-target ; Make sure dxil operation function calls for all ComputeID dxil operations are generated. diff --git a/llvm/test/CodeGen/DirectX/conflicting-bitcast-insert.ll b/llvm/test/CodeGen/DirectX/conflicting-bitcast-insert.ll index 01084f285cd72..12ec7ccea9541 100644 --- a/llvm/test/CodeGen/DirectX/conflicting-bitcast-insert.ll +++ b/llvm/test/CodeGen/DirectX/conflicting-bitcast-insert.ll @@ -1,4 +1,6 @@ ; RUN: llc --filetype=asm %s -o - | FileCheck %s +; REQUIRES: directx-registered-target + target triple = "dxil-unknown-shadermodel6.7-library" define i64 @test(ptr %p) { diff --git a/llvm/test/CodeGen/DirectX/dxil_ver.ll b/llvm/test/CodeGen/DirectX/dxil_ver.ll index e9923a3abce02..3a44b5c7bf471 100644 --- a/llvm/test/CodeGen/DirectX/dxil_ver.ll +++ b/llvm/test/CodeGen/DirectX/dxil_ver.ll @@ -1,4 +1,6 @@ ; RUN: opt -S -dxil-metadata-emit < %s | FileCheck %s +; REQUIRES: directx-registered-target + target datalayout = "e-m:e-p:32:32-i1:32-i8:8-i16:16-i32:32-i64:64-f16:16-f32:32-f64:64-n8:16:32:64" target triple = "dxil-pc-shadermodel6.3-library" diff --git a/llvm/test/CodeGen/DirectX/embed-dxil.ll b/llvm/test/CodeGen/DirectX/embed-dxil.ll index 306e5c385b5a3..401ae94880384 100644 --- a/llvm/test/CodeGen/DirectX/embed-dxil.ll +++ b/llvm/test/CodeGen/DirectX/embed-dxil.ll @@ -1,5 +1,7 @@ ; RUN: opt %s -dxil-embed -S -o - | FileCheck %s ; RUN: llc %s --filetype=obj -o - | obj2yaml | FileCheck %s --check-prefix=DXC +; REQUIRES: directx-registered-target + target triple = "dxil-unknown-shadermodel6.5-library" ; Make sure triple is restored after updated to dxil. diff --git a/llvm/test/CodeGen/DirectX/empty_cs_entry.ll b/llvm/test/CodeGen/DirectX/empty_cs_entry.ll index 5fe8461c1eaef..45b0faeaa44d4 100644 --- a/llvm/test/CodeGen/DirectX/empty_cs_entry.ll +++ b/llvm/test/CodeGen/DirectX/empty_cs_entry.ll @@ -1,12 +1,22 @@ -; RUN: opt -S -dxil-metadata-emit < %s | FileCheck %s +; RUN: %if directx-registered-target %{ opt -S -dxil-metadata-emit < %s | FileCheck %s --check-prefix=DXIL-CHECK %} +; RUN: %if spirv-registered-target %{ llc %s -mtriple=spirv-unknown-unknown -o - | FileCheck %s --check-prefix=SPIRV-CHECK %} + target datalayout = "e-m:e-p:32:32-i1:32-i8:8-i16:16-i32:32-i64:64-f16:16-f32:32-f64:64-n8:16:32:64" target triple = "dxil-unknown-shadermodel6.7-compute" -;CHECK:!dx.entryPoints = !{![[entry:[0-9]+]]} +;DXIL-CHECK:!dx.entryPoints = !{![[entry:[0-9]+]]} + +;DXIL-CHECK:![[entry]] = !{ptr @entry, !"entry", null, null, ![[extra:[0-9]+]]} +;DXIL-CHECK:![[extra]] = !{i32 4, ![[numthreads:[0-9]+]]} +;DXIL-CHECK:![[numthreads]] = !{i32 1, i32 2, i32 1} -;CHECK:![[entry]] = !{ptr @entry, !"entry", null, null, ![[extra:[0-9]+]]} -;CHECK:![[extra]] = !{i32 4, ![[numthreads:[0-9]+]]} -;CHECK:![[numthreads]] = !{i32 1, i32 2, i32 1} +;SPIRV-CHECK: OpCapability Shader +;SPIRV-CHECK: OpMemoryModel Logical GLSL450 +;SPIRV-CHECK: OpEntryPoint GLCompute [[main:%[0-9]+]] "entry" +;SPIRV-CHECK: OpExecutionMode [[main]] LocalSize 1 2 1 +;SPIRV-CHECK: [[void:%[0-9]+]] = OpTypeVoid +;SPIRV-CHECK: [[ftype:%[0-9]+]] = OpTypeFunction [[void]] +;SPIRV-CHECK: [[main]] = OpFunction [[void]] DontInline [[ftype]] ; Function Attrs: noinline nounwind define void @entry() #0 { diff --git a/llvm/test/CodeGen/DirectX/fneg-conversion.ll b/llvm/test/CodeGen/DirectX/fneg-conversion.ll index a397c18398c5f..4cd5a99ca6a12 100644 --- a/llvm/test/CodeGen/DirectX/fneg-conversion.ll +++ b/llvm/test/CodeGen/DirectX/fneg-conversion.ll @@ -1,4 +1,6 @@ ; RUN: llc %s --filetype=asm -o - | FileCheck %s +; REQUIRES: directx-registered-target + target triple = "dxil-unknown-shadermodel6.7-library" define float @negateF(float %0) { diff --git a/llvm/test/CodeGen/DirectX/legacy_cb_layout_0.ll b/llvm/test/CodeGen/DirectX/legacy_cb_layout_0.ll index 50821467d5dd6..e49028631ad9b 100644 --- a/llvm/test/CodeGen/DirectX/legacy_cb_layout_0.ll +++ b/llvm/test/CodeGen/DirectX/legacy_cb_layout_0.ll @@ -1,4 +1,5 @@ ; RUN: opt -S -dxil-metadata-emit < %s | FileCheck %s --check-prefix=DXILMD +; REQUIRES: directx-registered-target target datalayout = "e-m:e-p:32:32-i1:32-i8:8-i16:16-i32:32-i64:64-f16:16-f32:32-f64:64-n8:16:32:64" target triple = "dxil-unknown-shadermodel6.7-library" diff --git a/llvm/test/CodeGen/DirectX/legacy_cb_layout_1.ll b/llvm/test/CodeGen/DirectX/legacy_cb_layout_1.ll index 8a38ccd8ef788..186e5fc315970 100644 --- a/llvm/test/CodeGen/DirectX/legacy_cb_layout_1.ll +++ b/llvm/test/CodeGen/DirectX/legacy_cb_layout_1.ll @@ -1,4 +1,5 @@ ; RUN: opt -S -dxil-metadata-emit < %s | FileCheck %s --check-prefix=DXILMD +; REQUIRES: directx-registered-target target datalayout = "e-m:e-p:32:32-i1:32-i8:8-i16:16-i32:32-i64:64-f16:16-f32:32-f64:64-n8:16:32:64" target triple = "dxil-unknown-shadermodel6.7-library" diff --git a/llvm/test/CodeGen/DirectX/legacy_cb_layout_2.ll b/llvm/test/CodeGen/DirectX/legacy_cb_layout_2.ll index b669538846ab1..6b02e237e46a3 100644 --- a/llvm/test/CodeGen/DirectX/legacy_cb_layout_2.ll +++ b/llvm/test/CodeGen/DirectX/legacy_cb_layout_2.ll @@ -1,4 +1,5 @@ ; RUN: opt -S -dxil-metadata-emit < %s | FileCheck %s --check-prefix=DXILMD +; REQUIRES: directx-registered-target target datalayout = "e-m:e-p:32:32-i1:32-i8:8-i16:16-i32:32-i64:64-f16:16-f32:32-f64:64-n8:16:32:64" target triple = "dxil-unknown-shadermodel6.7-library" diff --git a/llvm/test/CodeGen/DirectX/legacy_cb_layout_3.ll b/llvm/test/CodeGen/DirectX/legacy_cb_layout_3.ll index afd46d08b5c71..a932597655a8c 100644 --- a/llvm/test/CodeGen/DirectX/legacy_cb_layout_3.ll +++ b/llvm/test/CodeGen/DirectX/legacy_cb_layout_3.ll @@ -1,4 +1,5 @@ ; RUN: opt -S -dxil-metadata-emit < %s | FileCheck %s --check-prefix=DXILMD +; REQUIRES: directx-registered-target target datalayout = "e-m:e-p:32:32-i1:32-i8:8-i16:16-i32:32-i64:64-f16:16-f32:32-f64:64-n8:16:32:64" target triple = "dxil-unknown-shadermodel6.7-library" diff --git a/llvm/test/CodeGen/DirectX/lib_entry.ll b/llvm/test/CodeGen/DirectX/lib_entry.ll index 9208d6d3f3224..771a85d107b7e 100644 --- a/llvm/test/CodeGen/DirectX/lib_entry.ll +++ b/llvm/test/CodeGen/DirectX/lib_entry.ll @@ -1,4 +1,6 @@ ; RUN: opt -S -dxil-metadata-emit < %s | FileCheck %s +; REQUIRES: directx-registered-target + target datalayout = "e-m:e-p:32:32-i1:32-i8:8-i16:16-i32:32-i64:64-f16:16-f32:32-f64:64-n8:16:32:64" target triple = "dxil-unknown-shadermodel6.7-library" diff --git a/llvm/test/CodeGen/DirectX/lit.local.cfg b/llvm/test/CodeGen/DirectX/lit.local.cfg index 72de724f06d79..64cee7df91dc9 100644 --- a/llvm/test/CodeGen/DirectX/lit.local.cfg +++ b/llvm/test/CodeGen/DirectX/lit.local.cfg @@ -1,2 +1,2 @@ -if not "DirectX" in config.root.targets: +if not "DirectX" in config.root.targets and not "SPIRV" in config.root.targets: config.unsupported = True diff --git a/llvm/test/CodeGen/DirectX/min_vec_size.ll b/llvm/test/CodeGen/DirectX/min_vec_size.ll index ba6e83ea83733..61161f1f19ac0 100644 --- a/llvm/test/CodeGen/DirectX/min_vec_size.ll +++ b/llvm/test/CodeGen/DirectX/min_vec_size.ll @@ -1,4 +1,5 @@ ; RUN: opt -S -passes=vector-combine < %s | FileCheck %s +; REQUIRES: directx-registered-target target datalayout = "e-m:e-p:32:32-i1:32-i8:8-i16:16-i32:32-i64:64-f16:16-f32:32-f64:64-n8:16:32:64" target triple = "dxil-unknown-shadermodel6.7-library" diff --git a/llvm/test/CodeGen/DirectX/omit-bitcast-insert.ll b/llvm/test/CodeGen/DirectX/omit-bitcast-insert.ll index 73c33e8cfdd86..8d53fc90acff6 100644 --- a/llvm/test/CodeGen/DirectX/omit-bitcast-insert.ll +++ b/llvm/test/CodeGen/DirectX/omit-bitcast-insert.ll @@ -1,4 +1,6 @@ ; RUN: llc --filetype=asm %s -o - | FileCheck %s +; REQUIRES: directx-registered-target + target triple = "dxil-unknown-shadermodel6.7-library" define i64 @test(ptr %p) { diff --git a/llvm/test/CodeGen/DirectX/sin.ll b/llvm/test/CodeGen/DirectX/sin.ll index bb31d28bfcfee..80a9feaee40e1 100644 --- a/llvm/test/CodeGen/DirectX/sin.ll +++ b/llvm/test/CodeGen/DirectX/sin.ll @@ -1,4 +1,5 @@ ; RUN: opt -S -dxil-op-lower < %s | FileCheck %s +; REQUIRES: directx-registered-target ; Make sure dxil operation function calls for sin are generated for float and half. ; CHECK:call float @dx.op.unary.f32(i32 13, float %{{.*}}) diff --git a/llvm/test/CodeGen/DirectX/strip-call-attrs.ll b/llvm/test/CodeGen/DirectX/strip-call-attrs.ll index f530e12fa7e58..dc9c3756f3e01 100644 --- a/llvm/test/CodeGen/DirectX/strip-call-attrs.ll +++ b/llvm/test/CodeGen/DirectX/strip-call-attrs.ll @@ -1,5 +1,6 @@ - ; RUN: opt -S -dxil-prepare < %s | FileCheck %s +; REQUIRES: directx-registered-target + target triple = "dxil-unknown-unknown" @f = internal unnamed_addr global float 0.000000e+00, align 4 diff --git a/llvm/test/CodeGen/DirectX/strip-fn-attrs.ll b/llvm/test/CodeGen/DirectX/strip-fn-attrs.ll index 4f2000640185d..238166be8100d 100644 --- a/llvm/test/CodeGen/DirectX/strip-fn-attrs.ll +++ b/llvm/test/CodeGen/DirectX/strip-fn-attrs.ll @@ -1,4 +1,6 @@ ; RUN: llc %s --filetype=asm -o - | FileCheck %s +; REQUIRES: directx-registered-target + target triple = "dxil-unknown-shadermodel6.7-library" ; CHECK: Function Attrs: nounwind memory(none) diff --git a/llvm/test/CodeGen/DirectX/typed_ptr.ll b/llvm/test/CodeGen/DirectX/typed_ptr.ll index 2975d85b9c964..2a5a96da51079 100644 --- a/llvm/test/CodeGen/DirectX/typed_ptr.ll +++ b/llvm/test/CodeGen/DirectX/typed_ptr.ll @@ -1,4 +1,6 @@ ; RUN: opt -S -dxil-prepare < %s | FileCheck %s +; REQUIRES: directx-registered-target + target triple = "dxil-unknown-unknown" @gs = external addrspace(3) global [20 x [6 x float]], align 4 diff --git a/llvm/test/CodeGen/DirectX/umax.ll b/llvm/test/CodeGen/DirectX/umax.ll index c7b6a87599279..ab7b03ab4e7d6 100644 --- a/llvm/test/CodeGen/DirectX/umax.ll +++ b/llvm/test/CodeGen/DirectX/umax.ll @@ -1,4 +1,5 @@ ; RUN: opt -S -dxil-op-lower < %s | FileCheck %s +; REQUIRES: directx-registered-target ; Make sure dxil operation function calls for umax are generated for i32/i64. From bbbad7734f0e35a952053ff968a1651deb7a9a70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nathan=20Gau=C3=ABr?= Date: Tue, 12 Sep 2023 13:52:51 +0200 Subject: [PATCH 2/4] Revert "[SPIRV][DX] Share one test between backends" This reverts commit 24bd6a07bccab0ccb4f0d7f3370b4527dd3392d1. --- .../DirectX/ContainerData/DebugShaderHash.ll | 2 -- .../DirectX/ContainerData/ShaderHash.ll | 2 -- .../DirectX/Metadata/shaderModel-as.ll | 2 -- .../DirectX/Metadata/shaderModel-cs.ll | 2 -- .../DirectX/Metadata/shaderModel-gs.ll | 2 -- .../DirectX/Metadata/shaderModel-hs.ll | 2 -- .../DirectX/Metadata/shaderModel-lib.ll | 2 -- .../DirectX/Metadata/shaderModel-ms.ll | 2 -- .../DirectX/Metadata/shaderModel-ps.ll | 2 -- .../DirectX/Metadata/shaderModel-vs.ll | 2 -- .../DirectX/ShaderFlags/double-extensions.ll | 1 - .../CodeGen/DirectX/ShaderFlags/doubles.ll | 1 - .../CodeGen/DirectX/ShaderFlags/no_flags.ll | 1 - llvm/test/CodeGen/DirectX/UAVMetadata.ll | 1 - llvm/test/CodeGen/DirectX/cbuf.ll | 1 - llvm/test/CodeGen/DirectX/comput_ids.ll | 1 - .../DirectX/conflicting-bitcast-insert.ll | 2 -- llvm/test/CodeGen/DirectX/dxil_ver.ll | 2 -- llvm/test/CodeGen/DirectX/embed-dxil.ll | 2 -- llvm/test/CodeGen/DirectX/empty_cs_entry.ll | 20 +++++-------------- llvm/test/CodeGen/DirectX/fneg-conversion.ll | 2 -- .../CodeGen/DirectX/legacy_cb_layout_0.ll | 1 - .../CodeGen/DirectX/legacy_cb_layout_1.ll | 1 - .../CodeGen/DirectX/legacy_cb_layout_2.ll | 1 - .../CodeGen/DirectX/legacy_cb_layout_3.ll | 1 - llvm/test/CodeGen/DirectX/lib_entry.ll | 2 -- llvm/test/CodeGen/DirectX/lit.local.cfg | 2 +- llvm/test/CodeGen/DirectX/min_vec_size.ll | 1 - .../CodeGen/DirectX/omit-bitcast-insert.ll | 2 -- llvm/test/CodeGen/DirectX/sin.ll | 1 - llvm/test/CodeGen/DirectX/strip-call-attrs.ll | 3 +-- llvm/test/CodeGen/DirectX/strip-fn-attrs.ll | 2 -- llvm/test/CodeGen/DirectX/typed_ptr.ll | 2 -- llvm/test/CodeGen/DirectX/umax.ll | 1 - 34 files changed, 7 insertions(+), 67 deletions(-) diff --git a/llvm/test/CodeGen/DirectX/ContainerData/DebugShaderHash.ll b/llvm/test/CodeGen/DirectX/ContainerData/DebugShaderHash.ll index 3d7d4155016b6..eda0d6850bde5 100644 --- a/llvm/test/CodeGen/DirectX/ContainerData/DebugShaderHash.ll +++ b/llvm/test/CodeGen/DirectX/ContainerData/DebugShaderHash.ll @@ -1,7 +1,5 @@ ; RUN: opt %s -dxil-embed -dxil-globals -S -o - | FileCheck %s ; RUN: llc %s --filetype=obj -o - | obj2yaml | FileCheck %s --check-prefix=DXC -; REQUIRES: directx-registered-target - target triple = "dxil-unknown-shadermodel6.5-library" ; CHECK: @dx.hash = private constant [20 x i8] c"\01\00\00\00{{.*}}", section "HASH", align 4 diff --git a/llvm/test/CodeGen/DirectX/ContainerData/ShaderHash.ll b/llvm/test/CodeGen/DirectX/ContainerData/ShaderHash.ll index 81e948e6e2b9f..088a7b0071663 100644 --- a/llvm/test/CodeGen/DirectX/ContainerData/ShaderHash.ll +++ b/llvm/test/CodeGen/DirectX/ContainerData/ShaderHash.ll @@ -1,7 +1,5 @@ ; RUN: opt %s -dxil-embed -dxil-globals -S -o - | FileCheck %s ; RUN: llc %s --filetype=obj -o - | obj2yaml | FileCheck %s --check-prefix=DXC -; REQUIRES: directx-registered-target - target triple = "dxil-unknown-shadermodel6.5-library" ; CHECK: @dx.hash = private constant [20 x i8] c"\00\00\00\00{{.*}}", section "HASH", align 4 diff --git a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-as.ll b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-as.ll index b92bdd504ca36..fe3361c781ce4 100644 --- a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-as.ll +++ b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-as.ll @@ -1,6 +1,4 @@ ; RUN: opt -S -dxil-metadata-emit %s | FileCheck %s -; REQUIRES: directx-registered-target - target triple = "dxil-pc-shadermodel6-amplification" ; CHECK: !dx.shaderModel = !{![[SM:[0-9]+]]} diff --git a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-cs.ll b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-cs.ll index 2748e25d68de8..be4b46f22ef25 100644 --- a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-cs.ll +++ b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-cs.ll @@ -1,6 +1,4 @@ ; RUN: opt -S -dxil-metadata-emit %s | FileCheck %s -; REQUIRES: directx-registered-target - target triple = "dxil-pc-shadermodel6.6-compute" ; CHECK: !dx.shaderModel = !{![[SM:[0-9]+]]} diff --git a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-gs.ll b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-gs.ll index 44f8005b7476b..a0a1b7c2ff303 100644 --- a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-gs.ll +++ b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-gs.ll @@ -1,6 +1,4 @@ ; RUN: opt -S -dxil-metadata-emit %s | FileCheck %s -; REQUIRES: directx-registered-target - target triple = "dxil-pc-shadermodel6.6-geometry" ; CHECK: !dx.shaderModel = !{![[SM:[0-9]+]]} diff --git a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-hs.ll b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-hs.ll index 7e2d927e6c7f5..6b1fa46c2c137 100644 --- a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-hs.ll +++ b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-hs.ll @@ -1,6 +1,4 @@ ; RUN: opt -S -dxil-metadata-emit %s | FileCheck %s -; REQUIRES: directx-registered-target - target triple = "dxil-pc-shadermodel6.6-hull" ; CHECK: !dx.shaderModel = !{![[SM:[0-9]+]]} diff --git a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-lib.ll b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-lib.ll index da5e0ee9fb485..3644cf21bcaeb 100644 --- a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-lib.ll +++ b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-lib.ll @@ -1,6 +1,4 @@ ; RUN: opt -S -dxil-metadata-emit %s | FileCheck %s -; REQUIRES: directx-registered-target - target triple = "dxil-pc-shadermodel6.3-library" ; CHECK: !dx.shaderModel = !{![[SM:[0-9]+]]} diff --git a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-ms.ll b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-ms.ll index a5d1d3f1ae028..766e8e2e30b5a 100644 --- a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-ms.ll +++ b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-ms.ll @@ -1,6 +1,4 @@ ; RUN: opt -S -dxil-metadata-emit %s | FileCheck %s -; REQUIRES: directx-registered-target - target triple = "dxil-pc-shadermodel6.6-mesh" ; CHECK: !dx.shaderModel = !{![[SM:[0-9]+]]} diff --git a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-ps.ll b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-ps.ll index 95ae3f1a534e0..46e8f3bcfa856 100644 --- a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-ps.ll +++ b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-ps.ll @@ -1,6 +1,4 @@ ; RUN: opt -S -dxil-metadata-emit %s | FileCheck %s -; REQUIRES: directx-registered-target - target triple = "dxil-pc-shadermodel5.0-pixel" ; CHECK: !dx.shaderModel = !{![[SM:[0-9]+]]} diff --git a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-vs.ll b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-vs.ll index 40f7d16f1e0d1..7a0cfdf816266 100644 --- a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-vs.ll +++ b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-vs.ll @@ -1,6 +1,4 @@ ; RUN: opt -S -dxil-metadata-emit %s | FileCheck %s -; REQUIRES: directx-registered-target - target triple = "dxil-pc-shadermodel-vertex" ; CHECK: !dx.shaderModel = !{![[SM:[0-9]+]]} diff --git a/llvm/test/CodeGen/DirectX/ShaderFlags/double-extensions.ll b/llvm/test/CodeGen/DirectX/ShaderFlags/double-extensions.ll index 07c14690ec1de..865fefeac335d 100644 --- a/llvm/test/CodeGen/DirectX/ShaderFlags/double-extensions.ll +++ b/llvm/test/CodeGen/DirectX/ShaderFlags/double-extensions.ll @@ -1,6 +1,5 @@ ; RUN: opt -S --passes="print-dx-shader-flags" 2>&1 %s | FileCheck %s ; RUN: llc %s --filetype=obj -o - | obj2yaml | FileCheck %s --check-prefix=DXC -; REQUIRES: directx-registered-target target triple = "dxil-pc-shadermodel6.7-library" diff --git a/llvm/test/CodeGen/DirectX/ShaderFlags/doubles.ll b/llvm/test/CodeGen/DirectX/ShaderFlags/doubles.ll index 1920db59b30dd..f90db61661f09 100644 --- a/llvm/test/CodeGen/DirectX/ShaderFlags/doubles.ll +++ b/llvm/test/CodeGen/DirectX/ShaderFlags/doubles.ll @@ -1,6 +1,5 @@ ; RUN: opt -S --passes="print-dx-shader-flags" 2>&1 %s | FileCheck %s ; RUN: llc %s --filetype=obj -o - | obj2yaml | FileCheck %s --check-prefix=DXC -; REQUIRES: directx-registered-target target triple = "dxil-pc-shadermodel6.7-library" diff --git a/llvm/test/CodeGen/DirectX/ShaderFlags/no_flags.ll b/llvm/test/CodeGen/DirectX/ShaderFlags/no_flags.ll index fd8a5a72cb901..f7baa1b64f9cd 100644 --- a/llvm/test/CodeGen/DirectX/ShaderFlags/no_flags.ll +++ b/llvm/test/CodeGen/DirectX/ShaderFlags/no_flags.ll @@ -1,5 +1,4 @@ ; RUN: opt -S --passes="print-dx-shader-flags" 2>&1 %s | FileCheck %s -; REQUIRES: directx-registered-target target triple = "dxil-pc-shadermodel6.7-library" diff --git a/llvm/test/CodeGen/DirectX/UAVMetadata.ll b/llvm/test/CodeGen/DirectX/UAVMetadata.ll index 816280c6cf9bf..e86d53cd7afc8 100644 --- a/llvm/test/CodeGen/DirectX/UAVMetadata.ll +++ b/llvm/test/CodeGen/DirectX/UAVMetadata.ll @@ -1,7 +1,6 @@ ; RUN: opt -S -dxil-metadata-emit < %s | FileCheck %s ; RUN: opt -S --passes="print-dxil-resource" < %s 2>&1 | FileCheck %s --check-prefix=PRINT ; RUN: llc %s --filetype=asm -o - < %s 2>&1 | FileCheck %s --check-prefixes=CHECK,PRINT -; REQUIRES: directx-registered-target target datalayout = "e-m:e-p:32:32-i1:32-i8:8-i16:16-i32:32-i64:64-f16:16-f32:32-f64:64-n8:16:32:64" target triple = "dxil-pc-shadermodel6.0-library" diff --git a/llvm/test/CodeGen/DirectX/cbuf.ll b/llvm/test/CodeGen/DirectX/cbuf.ll index b25cbfd8e274e..6640654f730e9 100644 --- a/llvm/test/CodeGen/DirectX/cbuf.ll +++ b/llvm/test/CodeGen/DirectX/cbuf.ll @@ -1,6 +1,5 @@ ; RUN: opt -S -dxil-metadata-emit < %s | FileCheck %s --check-prefix=DXILMD ; RUN: opt -S --passes="print-dxil-resource" < %s 2>&1 | FileCheck %s --check-prefix=PRINT -; REQUIRES: directx-registered-target target datalayout = "e-m:e-p:32:32-i1:32-i8:8-i16:16-i32:32-i64:64-f16:16-f32:32-f64:64-n8:16:32:64" target triple = "dxil-unknown-shadermodel6.7-library" diff --git a/llvm/test/CodeGen/DirectX/comput_ids.ll b/llvm/test/CodeGen/DirectX/comput_ids.ll index b9253de6a9596..553994094d71e 100644 --- a/llvm/test/CodeGen/DirectX/comput_ids.ll +++ b/llvm/test/CodeGen/DirectX/comput_ids.ll @@ -1,5 +1,4 @@ ; RUN: opt -S -dxil-op-lower < %s | FileCheck %s -; REQUIRES: directx-registered-target ; Make sure dxil operation function calls for all ComputeID dxil operations are generated. diff --git a/llvm/test/CodeGen/DirectX/conflicting-bitcast-insert.ll b/llvm/test/CodeGen/DirectX/conflicting-bitcast-insert.ll index 12ec7ccea9541..01084f285cd72 100644 --- a/llvm/test/CodeGen/DirectX/conflicting-bitcast-insert.ll +++ b/llvm/test/CodeGen/DirectX/conflicting-bitcast-insert.ll @@ -1,6 +1,4 @@ ; RUN: llc --filetype=asm %s -o - | FileCheck %s -; REQUIRES: directx-registered-target - target triple = "dxil-unknown-shadermodel6.7-library" define i64 @test(ptr %p) { diff --git a/llvm/test/CodeGen/DirectX/dxil_ver.ll b/llvm/test/CodeGen/DirectX/dxil_ver.ll index 3a44b5c7bf471..e9923a3abce02 100644 --- a/llvm/test/CodeGen/DirectX/dxil_ver.ll +++ b/llvm/test/CodeGen/DirectX/dxil_ver.ll @@ -1,6 +1,4 @@ ; RUN: opt -S -dxil-metadata-emit < %s | FileCheck %s -; REQUIRES: directx-registered-target - target datalayout = "e-m:e-p:32:32-i1:32-i8:8-i16:16-i32:32-i64:64-f16:16-f32:32-f64:64-n8:16:32:64" target triple = "dxil-pc-shadermodel6.3-library" diff --git a/llvm/test/CodeGen/DirectX/embed-dxil.ll b/llvm/test/CodeGen/DirectX/embed-dxil.ll index 401ae94880384..306e5c385b5a3 100644 --- a/llvm/test/CodeGen/DirectX/embed-dxil.ll +++ b/llvm/test/CodeGen/DirectX/embed-dxil.ll @@ -1,7 +1,5 @@ ; RUN: opt %s -dxil-embed -S -o - | FileCheck %s ; RUN: llc %s --filetype=obj -o - | obj2yaml | FileCheck %s --check-prefix=DXC -; REQUIRES: directx-registered-target - target triple = "dxil-unknown-shadermodel6.5-library" ; Make sure triple is restored after updated to dxil. diff --git a/llvm/test/CodeGen/DirectX/empty_cs_entry.ll b/llvm/test/CodeGen/DirectX/empty_cs_entry.ll index 45b0faeaa44d4..5fe8461c1eaef 100644 --- a/llvm/test/CodeGen/DirectX/empty_cs_entry.ll +++ b/llvm/test/CodeGen/DirectX/empty_cs_entry.ll @@ -1,22 +1,12 @@ -; RUN: %if directx-registered-target %{ opt -S -dxil-metadata-emit < %s | FileCheck %s --check-prefix=DXIL-CHECK %} -; RUN: %if spirv-registered-target %{ llc %s -mtriple=spirv-unknown-unknown -o - | FileCheck %s --check-prefix=SPIRV-CHECK %} - +; RUN: opt -S -dxil-metadata-emit < %s | FileCheck %s target datalayout = "e-m:e-p:32:32-i1:32-i8:8-i16:16-i32:32-i64:64-f16:16-f32:32-f64:64-n8:16:32:64" target triple = "dxil-unknown-shadermodel6.7-compute" -;DXIL-CHECK:!dx.entryPoints = !{![[entry:[0-9]+]]} - -;DXIL-CHECK:![[entry]] = !{ptr @entry, !"entry", null, null, ![[extra:[0-9]+]]} -;DXIL-CHECK:![[extra]] = !{i32 4, ![[numthreads:[0-9]+]]} -;DXIL-CHECK:![[numthreads]] = !{i32 1, i32 2, i32 1} +;CHECK:!dx.entryPoints = !{![[entry:[0-9]+]]} -;SPIRV-CHECK: OpCapability Shader -;SPIRV-CHECK: OpMemoryModel Logical GLSL450 -;SPIRV-CHECK: OpEntryPoint GLCompute [[main:%[0-9]+]] "entry" -;SPIRV-CHECK: OpExecutionMode [[main]] LocalSize 1 2 1 -;SPIRV-CHECK: [[void:%[0-9]+]] = OpTypeVoid -;SPIRV-CHECK: [[ftype:%[0-9]+]] = OpTypeFunction [[void]] -;SPIRV-CHECK: [[main]] = OpFunction [[void]] DontInline [[ftype]] +;CHECK:![[entry]] = !{ptr @entry, !"entry", null, null, ![[extra:[0-9]+]]} +;CHECK:![[extra]] = !{i32 4, ![[numthreads:[0-9]+]]} +;CHECK:![[numthreads]] = !{i32 1, i32 2, i32 1} ; Function Attrs: noinline nounwind define void @entry() #0 { diff --git a/llvm/test/CodeGen/DirectX/fneg-conversion.ll b/llvm/test/CodeGen/DirectX/fneg-conversion.ll index 4cd5a99ca6a12..a397c18398c5f 100644 --- a/llvm/test/CodeGen/DirectX/fneg-conversion.ll +++ b/llvm/test/CodeGen/DirectX/fneg-conversion.ll @@ -1,6 +1,4 @@ ; RUN: llc %s --filetype=asm -o - | FileCheck %s -; REQUIRES: directx-registered-target - target triple = "dxil-unknown-shadermodel6.7-library" define float @negateF(float %0) { diff --git a/llvm/test/CodeGen/DirectX/legacy_cb_layout_0.ll b/llvm/test/CodeGen/DirectX/legacy_cb_layout_0.ll index e49028631ad9b..50821467d5dd6 100644 --- a/llvm/test/CodeGen/DirectX/legacy_cb_layout_0.ll +++ b/llvm/test/CodeGen/DirectX/legacy_cb_layout_0.ll @@ -1,5 +1,4 @@ ; RUN: opt -S -dxil-metadata-emit < %s | FileCheck %s --check-prefix=DXILMD -; REQUIRES: directx-registered-target target datalayout = "e-m:e-p:32:32-i1:32-i8:8-i16:16-i32:32-i64:64-f16:16-f32:32-f64:64-n8:16:32:64" target triple = "dxil-unknown-shadermodel6.7-library" diff --git a/llvm/test/CodeGen/DirectX/legacy_cb_layout_1.ll b/llvm/test/CodeGen/DirectX/legacy_cb_layout_1.ll index 186e5fc315970..8a38ccd8ef788 100644 --- a/llvm/test/CodeGen/DirectX/legacy_cb_layout_1.ll +++ b/llvm/test/CodeGen/DirectX/legacy_cb_layout_1.ll @@ -1,5 +1,4 @@ ; RUN: opt -S -dxil-metadata-emit < %s | FileCheck %s --check-prefix=DXILMD -; REQUIRES: directx-registered-target target datalayout = "e-m:e-p:32:32-i1:32-i8:8-i16:16-i32:32-i64:64-f16:16-f32:32-f64:64-n8:16:32:64" target triple = "dxil-unknown-shadermodel6.7-library" diff --git a/llvm/test/CodeGen/DirectX/legacy_cb_layout_2.ll b/llvm/test/CodeGen/DirectX/legacy_cb_layout_2.ll index 6b02e237e46a3..b669538846ab1 100644 --- a/llvm/test/CodeGen/DirectX/legacy_cb_layout_2.ll +++ b/llvm/test/CodeGen/DirectX/legacy_cb_layout_2.ll @@ -1,5 +1,4 @@ ; RUN: opt -S -dxil-metadata-emit < %s | FileCheck %s --check-prefix=DXILMD -; REQUIRES: directx-registered-target target datalayout = "e-m:e-p:32:32-i1:32-i8:8-i16:16-i32:32-i64:64-f16:16-f32:32-f64:64-n8:16:32:64" target triple = "dxil-unknown-shadermodel6.7-library" diff --git a/llvm/test/CodeGen/DirectX/legacy_cb_layout_3.ll b/llvm/test/CodeGen/DirectX/legacy_cb_layout_3.ll index a932597655a8c..afd46d08b5c71 100644 --- a/llvm/test/CodeGen/DirectX/legacy_cb_layout_3.ll +++ b/llvm/test/CodeGen/DirectX/legacy_cb_layout_3.ll @@ -1,5 +1,4 @@ ; RUN: opt -S -dxil-metadata-emit < %s | FileCheck %s --check-prefix=DXILMD -; REQUIRES: directx-registered-target target datalayout = "e-m:e-p:32:32-i1:32-i8:8-i16:16-i32:32-i64:64-f16:16-f32:32-f64:64-n8:16:32:64" target triple = "dxil-unknown-shadermodel6.7-library" diff --git a/llvm/test/CodeGen/DirectX/lib_entry.ll b/llvm/test/CodeGen/DirectX/lib_entry.ll index 771a85d107b7e..9208d6d3f3224 100644 --- a/llvm/test/CodeGen/DirectX/lib_entry.ll +++ b/llvm/test/CodeGen/DirectX/lib_entry.ll @@ -1,6 +1,4 @@ ; RUN: opt -S -dxil-metadata-emit < %s | FileCheck %s -; REQUIRES: directx-registered-target - target datalayout = "e-m:e-p:32:32-i1:32-i8:8-i16:16-i32:32-i64:64-f16:16-f32:32-f64:64-n8:16:32:64" target triple = "dxil-unknown-shadermodel6.7-library" diff --git a/llvm/test/CodeGen/DirectX/lit.local.cfg b/llvm/test/CodeGen/DirectX/lit.local.cfg index 64cee7df91dc9..72de724f06d79 100644 --- a/llvm/test/CodeGen/DirectX/lit.local.cfg +++ b/llvm/test/CodeGen/DirectX/lit.local.cfg @@ -1,2 +1,2 @@ -if not "DirectX" in config.root.targets and not "SPIRV" in config.root.targets: +if not "DirectX" in config.root.targets: config.unsupported = True diff --git a/llvm/test/CodeGen/DirectX/min_vec_size.ll b/llvm/test/CodeGen/DirectX/min_vec_size.ll index 61161f1f19ac0..ba6e83ea83733 100644 --- a/llvm/test/CodeGen/DirectX/min_vec_size.ll +++ b/llvm/test/CodeGen/DirectX/min_vec_size.ll @@ -1,5 +1,4 @@ ; RUN: opt -S -passes=vector-combine < %s | FileCheck %s -; REQUIRES: directx-registered-target target datalayout = "e-m:e-p:32:32-i1:32-i8:8-i16:16-i32:32-i64:64-f16:16-f32:32-f64:64-n8:16:32:64" target triple = "dxil-unknown-shadermodel6.7-library" diff --git a/llvm/test/CodeGen/DirectX/omit-bitcast-insert.ll b/llvm/test/CodeGen/DirectX/omit-bitcast-insert.ll index 8d53fc90acff6..73c33e8cfdd86 100644 --- a/llvm/test/CodeGen/DirectX/omit-bitcast-insert.ll +++ b/llvm/test/CodeGen/DirectX/omit-bitcast-insert.ll @@ -1,6 +1,4 @@ ; RUN: llc --filetype=asm %s -o - | FileCheck %s -; REQUIRES: directx-registered-target - target triple = "dxil-unknown-shadermodel6.7-library" define i64 @test(ptr %p) { diff --git a/llvm/test/CodeGen/DirectX/sin.ll b/llvm/test/CodeGen/DirectX/sin.ll index 80a9feaee40e1..bb31d28bfcfee 100644 --- a/llvm/test/CodeGen/DirectX/sin.ll +++ b/llvm/test/CodeGen/DirectX/sin.ll @@ -1,5 +1,4 @@ ; RUN: opt -S -dxil-op-lower < %s | FileCheck %s -; REQUIRES: directx-registered-target ; Make sure dxil operation function calls for sin are generated for float and half. ; CHECK:call float @dx.op.unary.f32(i32 13, float %{{.*}}) diff --git a/llvm/test/CodeGen/DirectX/strip-call-attrs.ll b/llvm/test/CodeGen/DirectX/strip-call-attrs.ll index dc9c3756f3e01..f530e12fa7e58 100644 --- a/llvm/test/CodeGen/DirectX/strip-call-attrs.ll +++ b/llvm/test/CodeGen/DirectX/strip-call-attrs.ll @@ -1,6 +1,5 @@ -; RUN: opt -S -dxil-prepare < %s | FileCheck %s -; REQUIRES: directx-registered-target +; RUN: opt -S -dxil-prepare < %s | FileCheck %s target triple = "dxil-unknown-unknown" @f = internal unnamed_addr global float 0.000000e+00, align 4 diff --git a/llvm/test/CodeGen/DirectX/strip-fn-attrs.ll b/llvm/test/CodeGen/DirectX/strip-fn-attrs.ll index 238166be8100d..4f2000640185d 100644 --- a/llvm/test/CodeGen/DirectX/strip-fn-attrs.ll +++ b/llvm/test/CodeGen/DirectX/strip-fn-attrs.ll @@ -1,6 +1,4 @@ ; RUN: llc %s --filetype=asm -o - | FileCheck %s -; REQUIRES: directx-registered-target - target triple = "dxil-unknown-shadermodel6.7-library" ; CHECK: Function Attrs: nounwind memory(none) diff --git a/llvm/test/CodeGen/DirectX/typed_ptr.ll b/llvm/test/CodeGen/DirectX/typed_ptr.ll index 2a5a96da51079..2975d85b9c964 100644 --- a/llvm/test/CodeGen/DirectX/typed_ptr.ll +++ b/llvm/test/CodeGen/DirectX/typed_ptr.ll @@ -1,6 +1,4 @@ ; RUN: opt -S -dxil-prepare < %s | FileCheck %s -; REQUIRES: directx-registered-target - target triple = "dxil-unknown-unknown" @gs = external addrspace(3) global [20 x [6 x float]], align 4 diff --git a/llvm/test/CodeGen/DirectX/umax.ll b/llvm/test/CodeGen/DirectX/umax.ll index ab7b03ab4e7d6..c7b6a87599279 100644 --- a/llvm/test/CodeGen/DirectX/umax.ll +++ b/llvm/test/CodeGen/DirectX/umax.ll @@ -1,5 +1,4 @@ ; RUN: opt -S -dxil-op-lower < %s | FileCheck %s -; REQUIRES: directx-registered-target ; Make sure dxil operation function calls for umax are generated for i32/i64. From 71b76bb0da102fd7109fa27518f03389de3d4000 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nathan=20Gau=C3=ABr?= Date: Tue, 12 Sep 2023 13:56:47 +0200 Subject: [PATCH 3/4] fixup! [SPIRV][DX] Share one test between backends add new test folder --- llvm/test/CodeGen/DirectX/empty_cs_entry.ll | 17 ------------- llvm/test/Frontends/HLSL/empty_cs_entry.ll | 27 +++++++++++++++++++++ llvm/test/Frontends/HLSL/lit.local.cfg | 2 ++ 3 files changed, 29 insertions(+), 17 deletions(-) delete mode 100644 llvm/test/CodeGen/DirectX/empty_cs_entry.ll create mode 100644 llvm/test/Frontends/HLSL/empty_cs_entry.ll create mode 100644 llvm/test/Frontends/HLSL/lit.local.cfg diff --git a/llvm/test/CodeGen/DirectX/empty_cs_entry.ll b/llvm/test/CodeGen/DirectX/empty_cs_entry.ll deleted file mode 100644 index 5fe8461c1eaef..0000000000000 --- a/llvm/test/CodeGen/DirectX/empty_cs_entry.ll +++ /dev/null @@ -1,17 +0,0 @@ -; RUN: opt -S -dxil-metadata-emit < %s | FileCheck %s -target datalayout = "e-m:e-p:32:32-i1:32-i8:8-i16:16-i32:32-i64:64-f16:16-f32:32-f64:64-n8:16:32:64" -target triple = "dxil-unknown-shadermodel6.7-compute" - -;CHECK:!dx.entryPoints = !{![[entry:[0-9]+]]} - -;CHECK:![[entry]] = !{ptr @entry, !"entry", null, null, ![[extra:[0-9]+]]} -;CHECK:![[extra]] = !{i32 4, ![[numthreads:[0-9]+]]} -;CHECK:![[numthreads]] = !{i32 1, i32 2, i32 1} - -; Function Attrs: noinline nounwind -define void @entry() #0 { -entry: - ret void -} - -attributes #0 = { noinline nounwind "hlsl.numthreads"="1,2,1" "hlsl.shader"="compute" } diff --git a/llvm/test/Frontends/HLSL/empty_cs_entry.ll b/llvm/test/Frontends/HLSL/empty_cs_entry.ll new file mode 100644 index 0000000000000..45b0faeaa44d4 --- /dev/null +++ b/llvm/test/Frontends/HLSL/empty_cs_entry.ll @@ -0,0 +1,27 @@ +; RUN: %if directx-registered-target %{ opt -S -dxil-metadata-emit < %s | FileCheck %s --check-prefix=DXIL-CHECK %} +; RUN: %if spirv-registered-target %{ llc %s -mtriple=spirv-unknown-unknown -o - | FileCheck %s --check-prefix=SPIRV-CHECK %} + +target datalayout = "e-m:e-p:32:32-i1:32-i8:8-i16:16-i32:32-i64:64-f16:16-f32:32-f64:64-n8:16:32:64" +target triple = "dxil-unknown-shadermodel6.7-compute" + +;DXIL-CHECK:!dx.entryPoints = !{![[entry:[0-9]+]]} + +;DXIL-CHECK:![[entry]] = !{ptr @entry, !"entry", null, null, ![[extra:[0-9]+]]} +;DXIL-CHECK:![[extra]] = !{i32 4, ![[numthreads:[0-9]+]]} +;DXIL-CHECK:![[numthreads]] = !{i32 1, i32 2, i32 1} + +;SPIRV-CHECK: OpCapability Shader +;SPIRV-CHECK: OpMemoryModel Logical GLSL450 +;SPIRV-CHECK: OpEntryPoint GLCompute [[main:%[0-9]+]] "entry" +;SPIRV-CHECK: OpExecutionMode [[main]] LocalSize 1 2 1 +;SPIRV-CHECK: [[void:%[0-9]+]] = OpTypeVoid +;SPIRV-CHECK: [[ftype:%[0-9]+]] = OpTypeFunction [[void]] +;SPIRV-CHECK: [[main]] = OpFunction [[void]] DontInline [[ftype]] + +; Function Attrs: noinline nounwind +define void @entry() #0 { +entry: + ret void +} + +attributes #0 = { noinline nounwind "hlsl.numthreads"="1,2,1" "hlsl.shader"="compute" } diff --git a/llvm/test/Frontends/HLSL/lit.local.cfg b/llvm/test/Frontends/HLSL/lit.local.cfg new file mode 100644 index 0000000000000..64cee7df91dc9 --- /dev/null +++ b/llvm/test/Frontends/HLSL/lit.local.cfg @@ -0,0 +1,2 @@ +if not "DirectX" in config.root.targets and not "SPIRV" in config.root.targets: + config.unsupported = True From 95cb4a80f73fd7c40b00a84fa506a27a4da15e23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nathan=20Gau=C3=ABr?= Date: Tue, 12 Sep 2023 13:59:15 +0200 Subject: [PATCH 4/4] fixup! [SPIRV][DX] Share one test between backends rename Frontends to Frontend to match unittest folder --- llvm/test/{Frontends => Frontend}/HLSL/empty_cs_entry.ll | 0 llvm/test/{Frontends => Frontend}/HLSL/lit.local.cfg | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename llvm/test/{Frontends => Frontend}/HLSL/empty_cs_entry.ll (100%) rename llvm/test/{Frontends => Frontend}/HLSL/lit.local.cfg (100%) diff --git a/llvm/test/Frontends/HLSL/empty_cs_entry.ll b/llvm/test/Frontend/HLSL/empty_cs_entry.ll similarity index 100% rename from llvm/test/Frontends/HLSL/empty_cs_entry.ll rename to llvm/test/Frontend/HLSL/empty_cs_entry.ll diff --git a/llvm/test/Frontends/HLSL/lit.local.cfg b/llvm/test/Frontend/HLSL/lit.local.cfg similarity index 100% rename from llvm/test/Frontends/HLSL/lit.local.cfg rename to llvm/test/Frontend/HLSL/lit.local.cfg