Explorar el Código

[lit] [SPIRV} Copy legal-examples to lit (#5320)

Copy SPIRV tests under legal-examples and modify to work with lit.

This is first PR for moving SPIRV test to lit.
The reason to copy instead of moving the tests is to make sure not lost
coverage before all tests switch to lit. And update all tests in one PR
will be a PR with 1000 files.
Xiang Li hace 2 años
padre
commit
b4044d29cd
Se han modificado 26 ficheros con 115 adiciones y 185 borrados
  1. 0 20
      tools/clang/test/CodeGenSPIRV/legal-examples/00-copy-sbuf-ok.hlsl
  2. 0 20
      tools/clang/test/CodeGenSPIRV/legal-examples/02-write-global-static-ok.hlsl
  3. 20 0
      tools/clang/test/CodeGenSPIRV_Lit/legal-examples/00-copy-sbuf-ok.hlsl
  4. 4 4
      tools/clang/test/CodeGenSPIRV_Lit/legal-examples/01-copy-global-static-ok.hlsl
  5. 20 0
      tools/clang/test/CodeGenSPIRV_Lit/legal-examples/02-write-global-static-ok.hlsl
  6. 4 4
      tools/clang/test/CodeGenSPIRV_Lit/legal-examples/03-copy-local-struct-ok.hlsl
  7. 4 4
      tools/clang/test/CodeGenSPIRV_Lit/legal-examples/04-copy-local-nested-struct-ok.hlsl
  8. 4 4
      tools/clang/test/CodeGenSPIRV_Lit/legal-examples/05-func-param-sbuf-ok.hlsl
  9. 4 4
      tools/clang/test/CodeGenSPIRV_Lit/legal-examples/06-func-param-rwsbuf-ok.hlsl
  10. 4 4
      tools/clang/test/CodeGenSPIRV_Lit/legal-examples/07-func-ret-tmp-var-ok.hlsl
  11. 4 4
      tools/clang/test/CodeGenSPIRV_Lit/legal-examples/08-func-ret-direct-ok.hlsl
  12. 1 1
      tools/clang/test/CodeGenSPIRV_Lit/legal-examples/09-if-stmt-select-fail.hlsl
  13. 7 7
      tools/clang/test/CodeGenSPIRV_Lit/legal-examples/10-if-stmt-select-ok.hlsl
  14. 4 4
      tools/clang/test/CodeGenSPIRV_Lit/legal-examples/11-if-stmt-const-ok.hlsl
  15. 1 1
      tools/clang/test/CodeGenSPIRV_Lit/legal-examples/12-switch-stmt-select-fail.hlsl
  16. 4 4
      tools/clang/test/CodeGenSPIRV_Lit/legal-examples/13-switch-stmt-const-ok.hlsl
  17. 1 1
      tools/clang/test/CodeGenSPIRV_Lit/legal-examples/14-loop-var-fail.hlsl
  18. 7 7
      tools/clang/test/CodeGenSPIRV_Lit/legal-examples/15-loop-var-unroll-ok.hlsl
  19. 1 1
      tools/clang/test/CodeGenSPIRV_Lit/legal-examples/16-loop-var-range-fail.hlsl
  20. 1 1
      tools/clang/test/CodeGenSPIRV_Lit/legal-examples/17-loop-var-float-fail.hlsl
  21. 6 6
      tools/clang/test/CodeGenSPIRV_Lit/legal-examples/18-multi-func-call-ok.hlsl
  22. 1 1
      tools/clang/test/CodeGenSPIRV_Lit/legal-examples/19-multi-func-ret-fail.hlsl
  23. 7 7
      tools/clang/test/CodeGenSPIRV_Lit/legal-examples/20-multi-func-ret-const-ok.hlsl
  24. 6 6
      tools/clang/test/CodeGenSPIRV_Lit/legal-examples/21-combined-ok.hlsl
  25. 0 0
      tools/clang/test/CodeGenSPIRV_Lit/legal-examples/README.md
  26. 0 70
      tools/clang/unittests/SPIRV/CodeGenSpirvTest.cpp

+ 0 - 20
tools/clang/test/CodeGenSPIRV/legal-examples/00-copy-sbuf-ok.hlsl

@@ -1,20 +0,0 @@
-// RUN: %dxc -T cs_6_0 -E main -O3
-
-// CHECK:      [[ptr:%\d+]] = OpAccessChain %_ptr_Uniform_S %gSBuffer
-// CHECK-NEXT: [[val:%\d+]] = OpLoad %S [[ptr]]
-// CHECK-NEXT: [[ptr:%\d+]] = OpAccessChain %_ptr_Uniform_S %gRWSBuffer
-// CHECK-NEXT:                OpStore [[ptr]] [[val]]
-
-struct S {
-  float4 f;
-};
-
-int i;
-
-StructuredBuffer<S> gSBuffer;
-RWStructuredBuffer<S> gRWSBuffer;
-
-[numthreads(1, 1, 1)]
-void main() {
-  gRWSBuffer[i] = gSBuffer[i];
-}

+ 0 - 20
tools/clang/test/CodeGenSPIRV/legal-examples/02-write-global-static-ok.hlsl

@@ -1,20 +0,0 @@
-// RUN: %dxc -T cs_6_0 -E main -O3
-
-// CHECK:      [[val:%\d+]] = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
-// CHECK:      [[ptr:%\d+]] = OpAccessChain %_ptr_Uniform_v4float %gRWSBuffer
-// CHECK-NEXT:                OpStore [[ptr]] [[val]]
-
-struct S {
-  float4 f;
-};
-
-int i;
-
-RWStructuredBuffer<S> gRWSBuffer;
-
-static RWStructuredBuffer<S> sRWSBuffer = gRWSBuffer;
-
-[numthreads(1,1,1)]
-void main() {
-  sRWSBuffer[i].f = 0.0;
-}

+ 20 - 0
tools/clang/test/CodeGenSPIRV_Lit/legal-examples/00-copy-sbuf-ok.hlsl

@@ -0,0 +1,20 @@
+// RUN: %dxc -T cs_6_0 -E main -O3 -Vd %s -spirv | FileCheck %s
+
+// CHECK:      [[ptr:%[0-9]+]] = OpAccessChain %_ptr_Uniform_S %gSBuffer
+// CHECK-NEXT: [[val:%[0-9]+]] = OpLoad %S [[ptr]]
+// CHECK-NEXT: [[ptr:%[0-9]+]] = OpAccessChain %_ptr_Uniform_S %gRWSBuffer
+// CHECK-NEXT:                OpStore [[ptr]] [[val]]
+
+struct S {
+  float4 f;
+};
+
+int i;
+
+StructuredBuffer<S> gSBuffer;
+RWStructuredBuffer<S> gRWSBuffer;
+
+[numthreads(1, 1, 1)]
+void main() {
+  gRWSBuffer[i] = gSBuffer[i];
+}

+ 4 - 4
tools/clang/test/CodeGenSPIRV/legal-examples/01-copy-global-static-ok.hlsl → tools/clang/test/CodeGenSPIRV_Lit/legal-examples/01-copy-global-static-ok.hlsl

@@ -1,8 +1,8 @@
-// RUN: %dxc -T cs_6_0 -E main -O3
+// RUN: %dxc -T cs_6_0 -E main -O3 -Vd %s -spirv | FileCheck %s
 
-// CHECK:      [[ptr:%\d+]] = OpAccessChain %_ptr_Uniform_S %gSBuffer
-// CHECK-NEXT: [[val:%\d+]] = OpLoad %S [[ptr]]
-// CHECK-NEXT: [[ptr:%\d+]] = OpAccessChain %_ptr_Uniform_S %gRWSBuffer
+// CHECK:      [[ptr:%[0-9]+]] = OpAccessChain %_ptr_Uniform_S %gSBuffer
+// CHECK-NEXT: [[val:%[0-9]+]] = OpLoad %S [[ptr]]
+// CHECK-NEXT: [[ptr:%[0-9]+]] = OpAccessChain %_ptr_Uniform_S %gRWSBuffer
 // CHECK-NEXT:                OpStore [[ptr]] [[val]]
 
 struct S {

+ 20 - 0
tools/clang/test/CodeGenSPIRV_Lit/legal-examples/02-write-global-static-ok.hlsl

@@ -0,0 +1,20 @@
+// RUN: %dxc -T cs_6_0 -E main -O3 -Vd %s -spirv | FileCheck %s
+
+// CHECK:      [[val:%[0-9]+]] = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
+// CHECK:      [[ptr:%[0-9]+]] = OpAccessChain %_ptr_Uniform_v4float %gRWSBuffer
+// CHECK-NEXT:                OpStore [[ptr]] [[val]]
+
+struct S {
+  float4 f;
+};
+
+int i;
+
+RWStructuredBuffer<S> gRWSBuffer;
+
+static RWStructuredBuffer<S> sRWSBuffer = gRWSBuffer;
+
+[numthreads(1,1,1)]
+void main() {
+  sRWSBuffer[i].f = 0.0;
+}

+ 4 - 4
tools/clang/test/CodeGenSPIRV/legal-examples/03-copy-local-struct-ok.hlsl → tools/clang/test/CodeGenSPIRV_Lit/legal-examples/03-copy-local-struct-ok.hlsl

@@ -1,8 +1,8 @@
-// RUN: %dxc -T cs_6_0 -E main -O3
+// RUN: %dxc -T cs_6_0 -E main -O3 -Vd %s -spirv | FileCheck %s
 
-// CHECK:      [[ptr:%\d+]] = OpAccessChain %_ptr_Uniform_S %gSBuffer
-// CHECK-NEXT: [[val:%\d+]] = OpLoad %S [[ptr]]
-// CHECK-NEXT: [[ptr:%\d+]] = OpAccessChain %_ptr_Uniform_S %gRWSBuffer
+// CHECK:      [[ptr:%[0-9]+]] = OpAccessChain %_ptr_Uniform_S %gSBuffer
+// CHECK-NEXT: [[val:%[0-9]+]] = OpLoad %S [[ptr]]
+// CHECK-NEXT: [[ptr:%[0-9]+]] = OpAccessChain %_ptr_Uniform_S %gRWSBuffer
 // CHECK-NEXT:                OpStore [[ptr]] [[val]]
 
 struct S {

+ 4 - 4
tools/clang/test/CodeGenSPIRV/legal-examples/04-copy-local-nested-struct-ok.hlsl → tools/clang/test/CodeGenSPIRV_Lit/legal-examples/04-copy-local-nested-struct-ok.hlsl

@@ -1,8 +1,8 @@
-// RUN: %dxc -T cs_6_0 -E main -O3
+// RUN: %dxc -T cs_6_0 -E main -O3 -Vd %s -spirv | FileCheck %s
 
-// CHECK:      [[ptr:%\d+]] = OpAccessChain %_ptr_Uniform_S %gSBuffer
-// CHECK-NEXT: [[val:%\d+]] = OpLoad %S [[ptr]]
-// CHECK-NEXT: [[ptr:%\d+]] = OpAccessChain %_ptr_Uniform_S %gRWSBuffer
+// CHECK:      [[ptr:%[0-9]+]] = OpAccessChain %_ptr_Uniform_S %gSBuffer
+// CHECK-NEXT: [[val:%[0-9]+]] = OpLoad %S [[ptr]]
+// CHECK-NEXT: [[ptr:%[0-9]+]] = OpAccessChain %_ptr_Uniform_S %gRWSBuffer
 // CHECK-NEXT:                OpStore [[ptr]] [[val]]
 
 struct S {

+ 4 - 4
tools/clang/test/CodeGenSPIRV/legal-examples/05-func-param-sbuf-ok.hlsl → tools/clang/test/CodeGenSPIRV_Lit/legal-examples/05-func-param-sbuf-ok.hlsl

@@ -1,8 +1,8 @@
-// RUN: %dxc -T cs_6_0 -E main -O3
+// RUN: %dxc -T cs_6_0 -E main -O3 -Vd %s -spirv | FileCheck %s
 
-// CHECK:      [[ptr:%\d+]] = OpAccessChain %_ptr_Uniform_S %gSBuffer
-// CHECK-NEXT: [[val:%\d+]] = OpLoad %S [[ptr]]
-// CHECK-NEXT: [[ptr:%\d+]] = OpAccessChain %_ptr_Uniform_S %gRWSBuffer
+// CHECK:      [[ptr:%[0-9]+]] = OpAccessChain %_ptr_Uniform_S %gSBuffer
+// CHECK-NEXT: [[val:%[0-9]+]] = OpLoad %S [[ptr]]
+// CHECK-NEXT: [[ptr:%[0-9]+]] = OpAccessChain %_ptr_Uniform_S %gRWSBuffer
 // CHECK-NEXT:                OpStore [[ptr]] [[val]]
 
 struct S {

+ 4 - 4
tools/clang/test/CodeGenSPIRV/legal-examples/06-func-param-rwsbuf-ok.hlsl → tools/clang/test/CodeGenSPIRV_Lit/legal-examples/06-func-param-rwsbuf-ok.hlsl

@@ -1,8 +1,8 @@
-// RUN: %dxc -T cs_6_0 -E main -O3
+// RUN: %dxc -T cs_6_0 -E main -O3 -Vd %s -spirv | FileCheck %s
 
-// CHECK:      [[ptr:%\d+]] = OpAccessChain %_ptr_Uniform_S %gSBuffer
-// CHECK-NEXT: [[val:%\d+]] = OpLoad %S [[ptr]]
-// CHECK-NEXT: [[ptr:%\d+]] = OpAccessChain %_ptr_Uniform_S %gRWSBuffer
+// CHECK:      [[ptr:%[0-9]+]] = OpAccessChain %_ptr_Uniform_S %gSBuffer
+// CHECK-NEXT: [[val:%[0-9]+]] = OpLoad %S [[ptr]]
+// CHECK-NEXT: [[ptr:%[0-9]+]] = OpAccessChain %_ptr_Uniform_S %gRWSBuffer
 // CHECK-NEXT:                OpStore [[ptr]] [[val]]
 
 struct S {

+ 4 - 4
tools/clang/test/CodeGenSPIRV/legal-examples/07-func-ret-tmp-var-ok.hlsl → tools/clang/test/CodeGenSPIRV_Lit/legal-examples/07-func-ret-tmp-var-ok.hlsl

@@ -1,8 +1,8 @@
-// RUN: %dxc -T cs_6_0 -E main -O3
+// RUN: %dxc -T cs_6_0 -E main -O3 -Vd %s -spirv | FileCheck %s
 
-// CHECK:      [[ptr:%\d+]] = OpAccessChain %_ptr_Uniform_S %gSBuffer
-// CHECK-NEXT: [[val:%\d+]] = OpLoad %S [[ptr]]
-// CHECK-NEXT: [[ptr:%\d+]] = OpAccessChain %_ptr_Uniform_S %gRWSBuffer
+// CHECK:      [[ptr:%[0-9]+]] = OpAccessChain %_ptr_Uniform_S %gSBuffer
+// CHECK-NEXT: [[val:%[0-9]+]] = OpLoad %S [[ptr]]
+// CHECK-NEXT: [[ptr:%[0-9]+]] = OpAccessChain %_ptr_Uniform_S %gRWSBuffer
 // CHECK-NEXT:                OpStore [[ptr]] [[val]]
 
 struct S {

+ 4 - 4
tools/clang/test/CodeGenSPIRV/legal-examples/08-func-ret-direct-ok.hlsl → tools/clang/test/CodeGenSPIRV_Lit/legal-examples/08-func-ret-direct-ok.hlsl

@@ -1,8 +1,8 @@
-// RUN: %dxc -T cs_6_0 -E main -O3
+// RUN: %dxc -T cs_6_0 -E main -O3 -Vd %s -spirv | FileCheck %s
 
-// CHECK:      [[ptr:%\d+]] = OpAccessChain %_ptr_Uniform_S %gSBuffer
-// CHECK-NEXT: [[val:%\d+]] = OpLoad %S [[ptr]]
-// CHECK-NEXT: [[ptr:%\d+]] = OpAccessChain %_ptr_Uniform_S %gRWSBuffer
+// CHECK:      [[ptr:%[0-9]+]] = OpAccessChain %_ptr_Uniform_S %gSBuffer
+// CHECK-NEXT: [[val:%[0-9]+]] = OpLoad %S [[ptr]]
+// CHECK-NEXT: [[ptr:%[0-9]+]] = OpAccessChain %_ptr_Uniform_S %gRWSBuffer
 // CHECK-NEXT:                OpStore [[ptr]] [[val]]
 
 struct S {

+ 1 - 1
tools/clang/test/CodeGenSPIRV/legal-examples/09-if-stmt-select-fail.hlsl → tools/clang/test/CodeGenSPIRV_Lit/legal-examples/09-if-stmt-select-fail.hlsl

@@ -1,4 +1,4 @@
-// RUN: %dxc -T cs_6_0 -E main -O3
+// RUN: not %dxc -T cs_6_0 -E main -O3 %s -spirv 2>&1 | FileCheck %s
 
 // CHECK: Using pointers with OpSelect requires capability
 

+ 7 - 7
tools/clang/test/CodeGenSPIRV/legal-examples/10-if-stmt-select-ok.hlsl → tools/clang/test/CodeGenSPIRV_Lit/legal-examples/10-if-stmt-select-ok.hlsl

@@ -1,13 +1,13 @@
-// RUN: %dxc -T cs_6_0 -E main -O3
+// RUN: %dxc -T cs_6_0 -E main -O3 -Vd %s -spirv | FileCheck %s
 
-// CHECK:      [[ptr:%\d+]] = OpAccessChain %_ptr_Uniform_S %gSBuffer1
-// CHECK-NEXT: [[val:%\d+]] = OpLoad %S [[ptr]]
-// CHECK-NEXT: [[ptr:%\d+]] = OpAccessChain %_ptr_Uniform_S %gRWSBuffer
+// CHECK:      [[ptr:%[0-9]+]] = OpAccessChain %_ptr_Uniform_S %gSBuffer1
+// CHECK-NEXT: [[val:%[0-9]+]] = OpLoad %S [[ptr]]
+// CHECK-NEXT: [[ptr:%[0-9]+]] = OpAccessChain %_ptr_Uniform_S %gRWSBuffer
 // CHECK-NEXT:                OpStore [[ptr]] [[val]]
 
-// CHECK:      [[ptr:%\d+]] = OpAccessChain %_ptr_Uniform_S %gSBuffer2
-// CHECK-NEXT: [[val:%\d+]] = OpLoad %S [[ptr]]
-// CHECK-NEXT: [[ptr:%\d+]] = OpAccessChain %_ptr_Uniform_S %gRWSBuffer
+// CHECK:      [[ptr:%[0-9]+]] = OpAccessChain %_ptr_Uniform_S %gSBuffer2
+// CHECK-NEXT: [[val:%[0-9]+]] = OpLoad %S [[ptr]]
+// CHECK-NEXT: [[ptr:%[0-9]+]] = OpAccessChain %_ptr_Uniform_S %gRWSBuffer
 // CHECK-NEXT:                OpStore [[ptr]] [[val]]
 
 struct S {

+ 4 - 4
tools/clang/test/CodeGenSPIRV/legal-examples/11-if-stmt-const-ok.hlsl → tools/clang/test/CodeGenSPIRV_Lit/legal-examples/11-if-stmt-const-ok.hlsl

@@ -1,8 +1,8 @@
-// RUN: %dxc -T cs_6_0 -E main -O3
+// RUN: %dxc -T cs_6_0 -E main -O3 -Vd %s -spirv | FileCheck %s
 
-// CHECK:      [[ptr:%\d+]] = OpAccessChain %_ptr_Uniform_S %gSBuffer2
-// CHECK-NEXT: [[val:%\d+]] = OpLoad %S [[ptr]]
-// CHECK-NEXT: [[ptr:%\d+]] = OpAccessChain %_ptr_Uniform_S %gRWSBuffer
+// CHECK:      [[ptr:%[0-9]+]] = OpAccessChain %_ptr_Uniform_S %gSBuffer2
+// CHECK-NEXT: [[val:%[0-9]+]] = OpLoad %S [[ptr]]
+// CHECK-NEXT: [[ptr:%[0-9]+]] = OpAccessChain %_ptr_Uniform_S %gRWSBuffer
 // CHECK-NEXT:                OpStore [[ptr]] [[val]]
 
 struct S {

+ 1 - 1
tools/clang/test/CodeGenSPIRV/legal-examples/12-switch-stmt-select-fail.hlsl → tools/clang/test/CodeGenSPIRV_Lit/legal-examples/12-switch-stmt-select-fail.hlsl

@@ -1,4 +1,4 @@
-// RUN: %dxc -T cs_6_0 -E main -O3
+// RUN: not %dxc -T cs_6_0 -E main -O3  %s -spirv 2>&1 | FileCheck %s
 
 // CHECK: Using pointers with OpPhi requires capability
 

+ 4 - 4
tools/clang/test/CodeGenSPIRV/legal-examples/13-switch-stmt-const-ok.hlsl → tools/clang/test/CodeGenSPIRV_Lit/legal-examples/13-switch-stmt-const-ok.hlsl

@@ -1,8 +1,8 @@
-// RUN: %dxc -T cs_6_0 -E main -O3
+// RUN: %dxc -T cs_6_0 -E main -O3 -Vd %s -spirv | FileCheck %s
 
-// CHECK:      [[ptr:%\d+]] = OpAccessChain %_ptr_Uniform_S %gSBuffer1
-// CHECK-NEXT: [[val:%\d+]] = OpLoad %S [[ptr]]
-// CHECK-NEXT: [[ptr:%\d+]] = OpAccessChain %_ptr_Uniform_S %gRWSBuffer
+// CHECK:      [[ptr:%[0-9]+]] = OpAccessChain %_ptr_Uniform_S %gSBuffer1
+// CHECK-NEXT: [[val:%[0-9]+]] = OpLoad %S [[ptr]]
+// CHECK-NEXT: [[ptr:%[0-9]+]] = OpAccessChain %_ptr_Uniform_S %gRWSBuffer
 // CHECK-NEXT:                OpStore [[ptr]] [[val]]
 
 struct S {

+ 1 - 1
tools/clang/test/CodeGenSPIRV/legal-examples/14-loop-var-fail.hlsl → tools/clang/test/CodeGenSPIRV_Lit/legal-examples/14-loop-var-fail.hlsl

@@ -1,4 +1,4 @@
-// RUN: %dxc -T cs_6_0 -E main -O3
+// RUN: not %dxc -T cs_6_0 -E main -O3  %s -spirv 2>&1 | FileCheck %s
 
 // CHECK: Using pointers with OpSelect requires capability
 

+ 7 - 7
tools/clang/test/CodeGenSPIRV/legal-examples/15-loop-var-unroll-ok.hlsl → tools/clang/test/CodeGenSPIRV_Lit/legal-examples/15-loop-var-unroll-ok.hlsl

@@ -1,13 +1,13 @@
-// RUN: %dxc -T cs_6_0 -E main -O3
+// RUN: %dxc -T cs_6_0 -E main -O3 -Vd %s -spirv | FileCheck %s
 
-// CHECK:      [[ptr:%\d+]] = OpAccessChain %_ptr_Uniform_S %gSBuffer2
-// CHECK-NEXT: [[val:%\d+]] = OpLoad %S [[ptr]]
-// CHECK-NEXT: [[ptr:%\d+]] = OpAccessChain %_ptr_Uniform_S %gRWSBuffer
+// CHECK:      [[ptr:%[0-9]+]] = OpAccessChain %_ptr_Uniform_S %gSBuffer2
+// CHECK-NEXT: [[val:%[0-9]+]] = OpLoad %S [[ptr]]
+// CHECK-NEXT: [[ptr:%[0-9]+]] = OpAccessChain %_ptr_Uniform_S %gRWSBuffer
 // CHECK-NEXT:                OpStore [[ptr]] [[val]]
 
-// CHECK:      [[ptr:%\d+]] = OpAccessChain %_ptr_Uniform_S %gSBuffer2
-// CHECK-NEXT: [[val:%\d+]] = OpLoad %S [[ptr]]
-// CHECK-NEXT: [[ptr:%\d+]] = OpAccessChain %_ptr_Uniform_S %gRWSBuffer
+// CHECK:      [[ptr:%[0-9]+]] = OpAccessChain %_ptr_Uniform_S %gSBuffer2
+// CHECK-NEXT: [[val:%[0-9]+]] = OpLoad %S [[ptr]]
+// CHECK-NEXT: [[ptr:%[0-9]+]] = OpAccessChain %_ptr_Uniform_S %gRWSBuffer
 // CHECK-NEXT:                OpStore [[ptr]] [[val]]
 
 struct S {

+ 1 - 1
tools/clang/test/CodeGenSPIRV/legal-examples/16-loop-var-range-fail.hlsl → tools/clang/test/CodeGenSPIRV_Lit/legal-examples/16-loop-var-range-fail.hlsl

@@ -1,4 +1,4 @@
-// RUN: %dxc -T cs_6_0 -E main -O3
+// RUN: not %dxc -T cs_6_0 -E main -O3 %s -spirv 2>&1 | FileCheck %s
 
 // CHECK: Using pointers with OpSelect requires capability
 

+ 1 - 1
tools/clang/test/CodeGenSPIRV/legal-examples/17-loop-var-float-fail.hlsl → tools/clang/test/CodeGenSPIRV_Lit/legal-examples/17-loop-var-float-fail.hlsl

@@ -1,4 +1,4 @@
-// RUN: %dxc -T cs_6_0 -E main -O3
+// RUN: not %dxc -T cs_6_0 -E main -O3  %s -spirv 2>&1 | FileCheck %s
 
 // CHECK: Using pointers with OpSelect requires capability
 

+ 6 - 6
tools/clang/test/CodeGenSPIRV/legal-examples/18-multi-func-call-ok.hlsl → tools/clang/test/CodeGenSPIRV_Lit/legal-examples/18-multi-func-call-ok.hlsl

@@ -1,11 +1,11 @@
-// RUN: %dxc -T cs_6_0 -E main -O3
+// RUN: %dxc -T cs_6_0 -E main -O3 -Vd %s -spirv | FileCheck %s
 
-// CHECK:      [[src:%\d+]] = OpAccessChain %_ptr_Uniform_S %gSBuffer
-// CHECK-NEXT: [[val:%\d+]] = OpLoad %S [[src]]
-// CHECK-NEXT: [[dst:%\d+]] = OpAccessChain %_ptr_Uniform_S %gRWSBuffer1
+// CHECK:      [[src:%[0-9]+]] = OpAccessChain %_ptr_Uniform_S %gSBuffer
+// CHECK-NEXT: [[val:%[0-9]+]] = OpLoad %S [[src]]
+// CHECK-NEXT: [[dst:%[0-9]+]] = OpAccessChain %_ptr_Uniform_S %gRWSBuffer1
 // CHECK-NEXT:                OpStore [[dst]] [[val]]
-// CHECK-NEXT: [[val:%\d+]] = OpLoad %S [[src]]
-// CHECK-NEXT: [[dst:%\d+]] = OpAccessChain %_ptr_Uniform_S %gRWSBuffer2
+// CHECK-NEXT: [[val:%[0-9]+]] = OpLoad %S [[src]]
+// CHECK-NEXT: [[dst:%[0-9]+]] = OpAccessChain %_ptr_Uniform_S %gRWSBuffer2
 // CHECK-NEXT:                OpStore [[dst]] [[val]]
 
 struct S {

+ 1 - 1
tools/clang/test/CodeGenSPIRV/legal-examples/19-multi-func-ret-fail.hlsl → tools/clang/test/CodeGenSPIRV_Lit/legal-examples/19-multi-func-ret-fail.hlsl

@@ -1,4 +1,4 @@
-// RUN: %dxc -T cs_6_0 -E main -O3
+// RUN: not %dxc -T cs_6_0 -E main -O3  %s -spirv 2>&1 | FileCheck %s
 
 // CHECK: Using pointers with OpPhi requires capability
 

+ 7 - 7
tools/clang/test/CodeGenSPIRV/legal-examples/20-multi-func-ret-const-ok.hlsl → tools/clang/test/CodeGenSPIRV_Lit/legal-examples/20-multi-func-ret-const-ok.hlsl

@@ -1,12 +1,12 @@
-// RUN: %dxc -T cs_6_0 -E main -O3
+// RUN: %dxc -T cs_6_0 -E main -O3 -Vd %s -spirv | FileCheck %s
 
-// CHECK:      [[src:%\d+]] = OpAccessChain %_ptr_Uniform_S %gSBuffer1
-// CHECK-NEXT: [[val:%\d+]] = OpLoad %S [[src]]
-// CHECK-NEXT: [[dst:%\d+]] = OpAccessChain %_ptr_Uniform_S %gRWSBuffer1
+// CHECK:      [[src:%[0-9]+]] = OpAccessChain %_ptr_Uniform_S %gSBuffer1
+// CHECK-NEXT: [[val:%[0-9]+]] = OpLoad %S [[src]]
+// CHECK-NEXT: [[dst:%[0-9]+]] = OpAccessChain %_ptr_Uniform_S %gRWSBuffer1
 // CHECK-NEXT:                OpStore [[dst]] [[val]]
-// CHECK:      [[src:%\d+]] = OpAccessChain %_ptr_Uniform_S %gSBuffer2
-// CHECK-NEXT: [[val:%\d+]] = OpLoad %S [[src]]
-// CHECK-NEXT: [[dst:%\d+]] = OpAccessChain %_ptr_Uniform_S %gRWSBuffer2
+// CHECK:      [[src:%[0-9]+]] = OpAccessChain %_ptr_Uniform_S %gSBuffer2
+// CHECK-NEXT: [[val:%[0-9]+]] = OpLoad %S [[src]]
+// CHECK-NEXT: [[dst:%[0-9]+]] = OpAccessChain %_ptr_Uniform_S %gRWSBuffer2
 // CHECK-NEXT:                OpStore [[dst]] [[val]]
 
 struct S {

+ 6 - 6
tools/clang/test/CodeGenSPIRV/legal-examples/21-combined-ok.hlsl → tools/clang/test/CodeGenSPIRV_Lit/legal-examples/21-combined-ok.hlsl

@@ -1,11 +1,11 @@
-// RUN: %dxc -T cs_6_0 -E main -O3
+// RUN: %dxc -T cs_6_0 -E main -O3 -Vd %s -spirv | FileCheck %s
 
-// CHECK:      [[src:%\d+]] = OpAccessChain %_ptr_Uniform_S %gSBuffer
-// CHECK-NEXT: [[val:%\d+]] = OpLoad %S [[src]]
-// CHECK-NEXT: [[dst:%\d+]] = OpAccessChain %_ptr_Uniform_S %gRWSBuffer1
+// CHECK:      [[src:%[0-9]+]] = OpAccessChain %_ptr_Uniform_S %gSBuffer
+// CHECK-NEXT: [[val:%[0-9]+]] = OpLoad %S [[src]]
+// CHECK-NEXT: [[dst:%[0-9]+]] = OpAccessChain %_ptr_Uniform_S %gRWSBuffer1
 // CHECK-NEXT:                OpStore [[dst]] [[val]]
-// CHECK-NEXT: [[val:%\d+]] = OpLoad %S [[src]]
-// CHECK-NEXT: [[dst:%\d+]] = OpAccessChain %_ptr_Uniform_S %gRWSBuffer2
+// CHECK-NEXT: [[val:%[0-9]+]] = OpLoad %S [[src]]
+// CHECK-NEXT: [[dst:%[0-9]+]] = OpAccessChain %_ptr_Uniform_S %gRWSBuffer2
 // CHECK-NEXT:                OpStore [[dst]] [[val]]
 
 struct S {

+ 0 - 0
tools/clang/test/CodeGenSPIRV/legal-examples/README.md → tools/clang/test/CodeGenSPIRV_Lit/legal-examples/README.md


+ 0 - 70
tools/clang/unittests/SPIRV/CodeGenSpirvTest.cpp

@@ -2611,76 +2611,6 @@ TEST_F(FileTest, ComputeShaderGroupSharedStructFunction) {
   runFileTest("cs.groupshared.struct-function.hlsl");
 }
 
-// === Legalization examples ===
-
-TEST_F(FileTest, LegalizationExample0) {
-  runFileTest("legal-examples/00-copy-sbuf-ok.hlsl");
-}
-TEST_F(FileTest, LegalizationExample1) {
-  runFileTest("legal-examples/01-copy-global-static-ok.hlsl");
-}
-TEST_F(FileTest, LegalizationExample2) {
-  runFileTest("legal-examples/02-write-global-static-ok.hlsl");
-}
-TEST_F(FileTest, LegalizationExample3) {
-  runFileTest("legal-examples/03-copy-local-struct-ok.hlsl");
-}
-TEST_F(FileTest, LegalizationExample4) {
-  runFileTest("legal-examples/04-copy-local-nested-struct-ok.hlsl");
-}
-TEST_F(FileTest, LegalizationExample5) {
-  runFileTest("legal-examples/05-func-param-sbuf-ok.hlsl");
-}
-TEST_F(FileTest, LegalizationExample6) {
-  runFileTest("legal-examples/06-func-param-rwsbuf-ok.hlsl");
-}
-TEST_F(FileTest, LegalizationExample7) {
-  runFileTest("legal-examples/07-func-ret-tmp-var-ok.hlsl");
-}
-TEST_F(FileTest, LegalizationExample8) {
-  runFileTest("legal-examples/08-func-ret-direct-ok.hlsl");
-}
-TEST_F(FileTest, LegalizationExample9) {
-  runFileTest("legal-examples/09-if-stmt-select-fail.hlsl", Expect::ValFailure);
-}
-TEST_F(FileTest, LegalizationExample10) {
-  runFileTest("legal-examples/10-if-stmt-select-ok.hlsl");
-}
-TEST_F(FileTest, LegalizationExample11) {
-  runFileTest("legal-examples/11-if-stmt-const-ok.hlsl");
-}
-TEST_F(FileTest, LegalizationExample12) {
-  runFileTest("legal-examples/12-switch-stmt-select-fail.hlsl",
-              Expect::ValFailure);
-}
-TEST_F(FileTest, LegalizationExample13) {
-  runFileTest("legal-examples/13-switch-stmt-const-ok.hlsl");
-}
-TEST_F(FileTest, LegalizationExample14) {
-  runFileTest("legal-examples/14-loop-var-fail.hlsl", Expect::ValFailure);
-}
-TEST_F(FileTest, LegalizationExample15) {
-  runFileTest("legal-examples/15-loop-var-unroll-ok.hlsl");
-}
-TEST_F(FileTest, LegalizationExample16) {
-  runFileTest("legal-examples/16-loop-var-range-fail.hlsl", Expect::ValFailure);
-}
-TEST_F(FileTest, LegalizationExample17) {
-  runFileTest("legal-examples/17-loop-var-float-fail.hlsl", Expect::ValFailure);
-}
-TEST_F(FileTest, LegalizationExample18) {
-  runFileTest("legal-examples/18-multi-func-call-ok.hlsl");
-}
-TEST_F(FileTest, LegalizationExample19) {
-  runFileTest("legal-examples/19-multi-func-ret-fail.hlsl", Expect::ValFailure);
-}
-TEST_F(FileTest, LegalizationExample20) {
-  runFileTest("legal-examples/20-multi-func-ret-const-ok.hlsl");
-}
-TEST_F(FileTest, LegalizationExample21) {
-  runFileTest("legal-examples/21-combined-ok.hlsl");
-}
-
 TEST_F(FileTest, PreprocessorError) {
   // Tests that preprocessor error is surfaced
   runFileTest("preprocess.error.hlsl", Expect::Failure);