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

David Spickett via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 21 02:30:36 PDT 2023


Nathan =?utf-8?q?Gauër?= <brioche at google.com>,
Nathan =?utf-8?q?Gauër?= <brioche at google.com>,
Nathan =?utf-8?q?Gauër?= <brioche at google.com>
Message-ID:
In-Reply-To: <llvm/llvm-project/pull/65975/llvm at github.com>


https://github.com/DavidSpickett updated https://github.com/llvm/llvm-project/pull/65975

>From 59f5ca062423291d5a6941531cc26cd8aafbc1fa 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 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 <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.
 

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



More information about the llvm-commits mailing list