[llvm] [SPIRV][DX] Share one test between backends (PR #65975)

Nathan Gauër via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 11 09:13:41 PDT 2023


https://github.com/Keenuts created https://github.com/llvm/llvm-project/pull/65975:

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.

>From 24bd6a07bccab0ccb4f0d7f3370b4527dd3392d1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nathan=20Gau=C3=ABr?= <brioche at google.com>
Date: Mon, 11 Sep 2023 18:09:04 +0200
Subject: [PATCH] [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 <brioche at google.com>
---
 .../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 eda0d6850bde59f..3d7d4155016b61e 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 088a7b00716632d..81e948e6e2b9f2c 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 fe3361c781ce426..b92bdd504ca3662 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 be4b46f22ef25f3..2748e25d68de8c5 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 a0a1b7c2ff30308..44f8005b7476bf5 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 6b1fa46c2c137f0..7e2d927e6c7f555 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 3644cf21bcaebfd..da5e0ee9fb485ef 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 766e8e2e30b5a55..a5d1d3f1ae028d6 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 46e8f3bcfa8565c..95ae3f1a534e04a 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 7a0cfdf8162661e..40f7d16f1e0d1d7 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 865fefeac335dd2..07c14690ec1de8a 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 f90db61661f09f1..1920db59b30ddf2 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 f7baa1b64f9cd1b..fd8a5a72cb901b3 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 e86d53cd7afc83a..816280c6cf9bf96 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 6640654f730e93b..b25cbfd8e274ef5 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 553994094d71e5d..b9253de6a9596e2 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 01084f285cd72ac..12ec7ccea95418c 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 e9923a3abce02df..3a44b5c7bf471f2 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 306e5c385b5a311..401ae948803840b 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 5fe8461c1eaef5d..45b0faeaa44d441 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 a397c18398c5f77..4cd5a99ca6a1229 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 50821467d5dd6a6..e49028631ad9b9b 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 8a38ccd8ef788b2..186e5fc31597067 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 b669538846ab1c5..6b02e237e46a361 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 afd46d08b5c712e..a932597655a8c9a 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 9208d6d3f32246b..771a85d107b7e8e 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 72de724f06d7965..64cee7df91dc963 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 ba6e83ea83733ed..61161f1f19ac0ac 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 73c33e8cfdd8648..8d53fc90acff675 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 bb31d28bfcfee62..80a9feaee40e15f 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 f530e12fa7e5803..dc9c3756f3e0139 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 4f2000640185d5c..238166be8100d3e 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 2975d85b9c96442..2a5a96da5107961 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 c7b6a87599279a6..ab7b03ab4e7d690 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.
 



More information about the llvm-commits mailing list