Skip to content

Conversation

@Keenuts
Copy link
Contributor

@Keenuts Keenuts commented Aug 1, 2025

spirv-sim was supposed to be used to test cross-lane interactions. This utility was in the end never used for testing, and as we move to proper end-to-end testing through the llvm/offload-test-suite project, this becomes obsolete.

Cleaning this up.

spirv-sim was supposed to be used to test cross-lane interactions.
This utility was in the end never used for testing, and as we move to
proper end-to-end testing through the llvm/offload-test-suite project,
this becomes obsolete.

Cleaning this up.
@llvmbot
Copy link
Member

llvmbot commented Aug 1, 2025

@llvm/pr-subscribers-backend-spir-v

Author: Nathan Gauër (Keenuts)

Changes

spirv-sim was supposed to be used to test cross-lane interactions. This utility was in the end never used for testing, and as we move to proper end-to-end testing through the llvm/offload-test-suite project, this becomes obsolete.

Cleaning this up.


Patch is 55.00 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/151705.diff

14 Files Affected:

  • (modified) llvm/test/CodeGen/SPIRV/lit.local.cfg (-10)
  • (removed) llvm/test/Other/spirv-sim/branch.spv (-42)
  • (removed) llvm/test/Other/spirv-sim/call.spv (-36)
  • (removed) llvm/test/Other/spirv-sim/constant.spv (-36)
  • (removed) llvm/test/Other/spirv-sim/lit.local.cfg (-8)
  • (removed) llvm/test/Other/spirv-sim/loop.spv (-58)
  • (removed) llvm/test/Other/spirv-sim/simple-bad-result.spv (-26)
  • (removed) llvm/test/Other/spirv-sim/simple.spv (-22)
  • (removed) llvm/test/Other/spirv-sim/simulator-args.spv (-36)
  • (removed) llvm/test/Other/spirv-sim/switch.spv (-42)
  • (removed) llvm/test/Other/spirv-sim/wave-get-lane-index.spv (-30)
  • (removed) llvm/test/Other/spirv-sim/wave-read-lane-first.spv (-83)
  • (removed) llvm/utils/spirv-sim/instructions.py (-381)
  • (removed) llvm/utils/spirv-sim/spirv-sim.py (-658)
diff --git a/llvm/test/CodeGen/SPIRV/lit.local.cfg b/llvm/test/CodeGen/SPIRV/lit.local.cfg
index f139d13268af2..51795425cc887 100644
--- a/llvm/test/CodeGen/SPIRV/lit.local.cfg
+++ b/llvm/test/CodeGen/SPIRV/lit.local.cfg
@@ -1,16 +1,6 @@
 if not "SPIRV" in config.root.targets:
     config.unsupported = True
 
-spirv_sim_root = os.path.join(config.llvm_src_root, "utils", "spirv-sim")
-
-config.substitutions.append(
-    (
-        "spirv-sim",
-        "'%s' %s" % (config.python_executable,
-                     os.path.join(spirv_sim_root, "spirv-sim.py")),
-    )
-)
-
 if config.spirv_tools_tests:
     config.available_features.add("spirv-tools")
     config.substitutions.append(("spirv-dis", os.path.join(config.llvm_tools_dir, "spirv-dis")))
diff --git a/llvm/test/Other/spirv-sim/branch.spv b/llvm/test/Other/spirv-sim/branch.spv
deleted file mode 100644
index 7ee0ebcad249d..0000000000000
--- a/llvm/test/Other/spirv-sim/branch.spv
+++ /dev/null
@@ -1,42 +0,0 @@
-; RUN: %if spirv-tools %{ spirv-as %s -o - | spirv-val - %}
-; RUN: spirv-sim --function=simple --wave=3 --expects=5,6,6 -i %s
-               OpCapability Shader
-               OpCapability GroupNonUniform
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %main "main" %WaveIndex
-               OpExecutionMode %main LocalSize 1 1 1
-               OpSource HLSL 670
-               OpName %simple "simple"
-               OpName %main "main"
-                OpDecorate %WaveIndex BuiltIn SubgroupLocalInvocationId
-        %int = OpTypeInt 32 1
-       %uint = OpTypeInt 32 0
-       %bool = OpTypeBool
-      %int_2 = OpConstant %int 2
-      %int_5 = OpConstant %int 5
-      %int_6 = OpConstant %int 6
-     %uint_0 = OpConstant %uint 0
-       %void = OpTypeVoid
-  %main_type = OpTypeFunction %void
-%simple_type = OpTypeFunction %int
-  %uint_iptr = OpTypePointer Input %uint
-  %WaveIndex = OpVariable %uint_iptr Input
-       %main = OpFunction %void None %main_type
-      %entry = OpLabel
-               OpReturn
-               OpFunctionEnd
-     %simple = OpFunction %int None %simple_type
-          %1 = OpLabel
-          %2 = OpLoad %uint %WaveIndex
-          %3 = OpIEqual %bool %uint_0 %2
-               OpSelectionMerge %merge None
-               OpBranchConditional %3 %true %false
-       %true = OpLabel
-               OpBranch %merge
-      %false = OpLabel
-               OpBranch %merge
-      %merge = OpLabel
-          %4 = OpPhi %int %int_5 %true %int_6 %false
-               OpReturnValue %4
-               OpFunctionEnd
-
diff --git a/llvm/test/Other/spirv-sim/call.spv b/llvm/test/Other/spirv-sim/call.spv
deleted file mode 100644
index 320b048f95296..0000000000000
--- a/llvm/test/Other/spirv-sim/call.spv
+++ /dev/null
@@ -1,36 +0,0 @@
-; RUN: %if spirv-tools %{ spirv-as %s -o - | spirv-val - %}
-; RUN: spirv-sim --function=simple --wave=1 --expects=2 -i %s
-               OpCapability Shader
-               OpCapability GroupNonUniform
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %main "main" %WaveIndex
-               OpExecutionMode %main LocalSize 1 1 1
-               OpSource HLSL 670
-               OpName %simple "simple"
-               OpName %main "main"
-                OpDecorate %WaveIndex BuiltIn SubgroupLocalInvocationId
-        %int = OpTypeInt 32 1
-       %uint = OpTypeInt 32 0
-     %uint_2 = OpConstant %uint 2
-       %void = OpTypeVoid
-  %main_type = OpTypeFunction %void
-%simple_type = OpTypeFunction %int
-   %sub_type = OpTypeFunction %uint
-  %uint_iptr = OpTypePointer Input %uint
-  %WaveIndex = OpVariable %uint_iptr Input
-       %main = OpFunction %void None %main_type
-      %entry = OpLabel
-               OpReturn
-               OpFunctionEnd
-        %sub = OpFunction %uint None %sub_type
-          %a = OpLabel
-               OpReturnValue %uint_2
-               OpFunctionEnd
-     %simple = OpFunction %int None %simple_type
-          %1 = OpLabel
-          %2 = OpFunctionCall %uint %sub
-          %3 = OpBitcast %int %2
-               OpReturnValue %3
-               OpFunctionEnd
-
-
diff --git a/llvm/test/Other/spirv-sim/constant.spv b/llvm/test/Other/spirv-sim/constant.spv
deleted file mode 100644
index 1002427943a8d..0000000000000
--- a/llvm/test/Other/spirv-sim/constant.spv
+++ /dev/null
@@ -1,36 +0,0 @@
-; RUN: %if spirv-tools %{ spirv-as %s -o - | spirv-val - %}
-; RUN: spirv-sim --function=a --wave=1 --expects=2 -i %s
-; RUN: spirv-sim --function=b --wave=1 --expects=1 -i %s
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %main "main"
-               OpExecutionMode %main LocalSize 1 1 1
-               OpSource HLSL 670
-               OpName %a "a"
-               OpName %b "b"
-               OpName %main "main"
-        %int = OpTypeInt 32 1
-         %s1 = OpTypeStruct %int %int %int
-         %s2 = OpTypeStruct %s1
-      %int_1 = OpConstant %int 1
-      %int_2 = OpConstant %int 2
-     %s1_1_2 = OpConstantComposite %s1 %int_1 %int_2 %int_1
-      %s2_s1 = OpConstantComposite %s2 %s1_1_2
-       %void = OpTypeVoid
-  %main_type = OpTypeFunction %void
-   %simple_type = OpTypeFunction %int
-       %main = OpFunction %void None %main_type
-      %entry = OpLabel
-               OpReturn
-               OpFunctionEnd
-          %a = OpFunction %int None %simple_type
-          %1 = OpLabel
-          %2 = OpCompositeExtract %int %s1_1_2 1
-               OpReturnValue %2
-               OpFunctionEnd
-          %b = OpFunction %int None %simple_type
-          %3 = OpLabel
-          %4 = OpCompositeExtract %int %s2_s1 0 2
-               OpReturnValue %4
-               OpFunctionEnd
-
diff --git a/llvm/test/Other/spirv-sim/lit.local.cfg b/llvm/test/Other/spirv-sim/lit.local.cfg
deleted file mode 100644
index 67a8d9196f588..0000000000000
--- a/llvm/test/Other/spirv-sim/lit.local.cfg
+++ /dev/null
@@ -1,8 +0,0 @@
-spirv_sim_root = os.path.join(config.llvm_src_root, "utils", "spirv-sim")
-config.substitutions.append(
-  (
-    "spirv-sim",
-    "'%s' %s"
-    % (config.python_executable, os.path.join(spirv_sim_root, "spirv-sim.py")),
-  )
-)
diff --git a/llvm/test/Other/spirv-sim/loop.spv b/llvm/test/Other/spirv-sim/loop.spv
deleted file mode 100644
index 4fd0f1a7c96a3..0000000000000
--- a/llvm/test/Other/spirv-sim/loop.spv
+++ /dev/null
@@ -1,58 +0,0 @@
-; RUN: %if spirv-tools %{ spirv-as %s -o - | spirv-val - %}
-; RUN: spirv-sim --function=simple --wave=4 --expects=0,2,2,4 -i %s
-               OpCapability Shader
-               OpCapability GroupNonUniform
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %main "main" %WaveIndex
-               OpExecutionMode %main LocalSize 1 1 1
-               OpSource HLSL 670
-               OpName %simple "simple"
-               OpName %main "main"
-                OpDecorate %WaveIndex BuiltIn SubgroupLocalInvocationId
-        %int = OpTypeInt 32 1
-       %uint = OpTypeInt 32 0
-       %bool = OpTypeBool
-      %int_2 = OpConstant %int 2
-      %int_5 = OpConstant %int 5
-      %int_6 = OpConstant %int 6
-     %uint_0 = OpConstant %uint 0
-     %uint_2 = OpConstant %uint 2
-       %void = OpTypeVoid
-  %main_type = OpTypeFunction %void
-%simple_type = OpTypeFunction %int
-  %uint_iptr = OpTypePointer Input %uint
-  %uint_fptr = OpTypePointer Function %uint
-  %WaveIndex = OpVariable %uint_iptr Input
-       %main = OpFunction %void None %main_type
-      %unused = OpLabel
-               OpReturn
-               OpFunctionEnd
-     %simple = OpFunction %int None %simple_type
-      %entry = OpLabel
-; uint i = 0;
-          %i = OpVariable %uint_fptr Function
-          %1 = OpLoad %uint %WaveIndex
-               OpStore %i %uint_0
-               OpBranch %header
-     %header = OpLabel
-          %2 = OpLoad %uint %i
-          %3 = OpULessThan %bool %2 %1
-               OpLoopMerge %merge %continue None
-               OpBranchConditional %3 %body %merge
-; while (i < WaveGetLaneIndex()) {
-;     i += 2;
-; }
-       %body = OpLabel
-               OpBranch %continue
-   %continue = OpLabel
-          %4 = OpIAdd %uint %2 %uint_2
-               OpStore %i %4
-               OpBranch %header
-      %merge = OpLabel
-; return (int) i;
-          %5 = OpLoad %uint %i
-          %6 = OpBitcast %int %5
-               OpReturnValue %6
-               OpFunctionEnd
-
-
diff --git a/llvm/test/Other/spirv-sim/simple-bad-result.spv b/llvm/test/Other/spirv-sim/simple-bad-result.spv
deleted file mode 100644
index f4dd046cc078b..0000000000000
--- a/llvm/test/Other/spirv-sim/simple-bad-result.spv
+++ /dev/null
@@ -1,26 +0,0 @@
-; RUN: %if spirv-tools %{ spirv-as %s -o - | spirv-val - %}
-; RUN: not spirv-sim --function=simple --wave=1 --expects=1 -i %s 2>&1 | FileCheck %s
-
-; CHECK: Expected != Observed
-; CHECK: [1] != [2]
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %main "main"
-               OpExecutionMode %main LocalSize 1 1 1
-               OpSource HLSL 670
-               OpName %simple "simple"
-               OpName %main "main"
-        %int = OpTypeInt 32 1
-      %int_2 = OpConstant %int 2
-       %void = OpTypeVoid
-  %main_type = OpTypeFunction %void
-   %simple_type = OpTypeFunction %int
-       %main = OpFunction %void None %main_type
-      %entry = OpLabel
-               OpReturn
-               OpFunctionEnd
-     %simple = OpFunction %int None %simple_type
-          %1 = OpLabel
-               OpReturnValue %int_2
-               OpFunctionEnd
-
diff --git a/llvm/test/Other/spirv-sim/simple.spv b/llvm/test/Other/spirv-sim/simple.spv
deleted file mode 100644
index 8c06192ea6e3d..0000000000000
--- a/llvm/test/Other/spirv-sim/simple.spv
+++ /dev/null
@@ -1,22 +0,0 @@
-; RUN: %if spirv-tools %{ spirv-as %s -o - | spirv-val - %}
-; RUN: spirv-sim --function=simple --wave=1 --expects=2 -i %s
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %main "main"
-               OpExecutionMode %main LocalSize 1 1 1
-               OpSource HLSL 670
-               OpName %simple "simple"
-               OpName %main "main"
-        %int = OpTypeInt 32 1
-      %int_2 = OpConstant %int 2
-       %void = OpTypeVoid
-  %main_type = OpTypeFunction %void
-   %simple_type = OpTypeFunction %int
-       %main = OpFunction %void None %main_type
-      %entry = OpLabel
-               OpReturn
-               OpFunctionEnd
-     %simple = OpFunction %int None %simple_type
-          %1 = OpLabel
-               OpReturnValue %int_2
-               OpFunctionEnd
diff --git a/llvm/test/Other/spirv-sim/simulator-args.spv b/llvm/test/Other/spirv-sim/simulator-args.spv
deleted file mode 100644
index d8b1018064158..0000000000000
--- a/llvm/test/Other/spirv-sim/simulator-args.spv
+++ /dev/null
@@ -1,36 +0,0 @@
-; RUN: not spirv-sim --function=simple --wave=a --expects=2 -i %s 2>&1 | FileCheck %s --check-prefixes=CHECK-WAVE
-; RUN: not spirv-sim --function=simple --wave=1 --expects=a -i %s 2>&1 | FileCheck %s --check-prefixes=CHECK-EXPECT
-; RUN: not spirv-sim --function=simple --wave=1 --expects=1, -i %s 2>&1 | FileCheck %s --check-prefixes=CHECK-EXPECT
-; RUN: not spirv-sim --function=simple --wave=2 --expects=1 -i %s 2>&1 | FileCheck %s --check-prefixes=CHECK-SIZE
-; RUN: not spirv-sim --function=foo --wave=1 --expects=1 -i %s 2>&1 | FileCheck %s --check-prefixes=CHECK-NAME
-
-; CHECK-WAVE: Invalid format for --wave/-w flag.
-
-; CHECK-EXPECT: Invalid format for --expects/-e flag.
-
-; CHECK-SIZE: Wave size != expected result array size
-
-; CHECK-NAME:          'foo' function not found. Known functions are:
-; CHECK-NAME-NEXT:     - main
-; CHECK-NAME-NEXT:     - simple
-; CHECK-NANE-NOT-NEXT: -
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %main "main"
-               OpExecutionMode %main LocalSize 1 1 1
-               OpSource HLSL 670
-               OpName %simple "simple"
-               OpName %main "main"
-        %int = OpTypeInt 32 1
-      %int_2 = OpConstant %int 2
-       %void = OpTypeVoid
-  %main_type = OpTypeFunction %void
-   %simple_type = OpTypeFunction %int
-       %main = OpFunction %void None %main_type
-      %entry = OpLabel
-               OpReturn
-               OpFunctionEnd
-     %simple = OpFunction %int None %simple_type
-          %1 = OpLabel
-               OpReturnValue %int_2
-               OpFunctionEnd
diff --git a/llvm/test/Other/spirv-sim/switch.spv b/llvm/test/Other/spirv-sim/switch.spv
deleted file mode 100644
index 83dc56cecef2a..0000000000000
--- a/llvm/test/Other/spirv-sim/switch.spv
+++ /dev/null
@@ -1,42 +0,0 @@
-; RUN: %if spirv-tools %{ spirv-as %s -o - | spirv-val - %}
-; RUN: spirv-sim --function=simple --wave=4 --expects=0,1,2,0 -i %s
-               OpCapability Shader
-               OpCapability GroupNonUniform
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %main "main" %WaveIndex
-               OpExecutionMode %main LocalSize 1 1 1
-               OpSource HLSL 670
-               OpName %simple "simple"
-               OpName %main "main"
-                OpDecorate %WaveIndex BuiltIn SubgroupLocalInvocationId
-        %int = OpTypeInt 32 1
-       %uint = OpTypeInt 32 0
-       %bool = OpTypeBool
-      %int_0 = OpConstant %int 0
-      %int_1 = OpConstant %int 1
-      %int_2 = OpConstant %int 2
-     %uint_0 = OpConstant %uint 0
-       %void = OpTypeVoid
-  %main_type = OpTypeFunction %void
-%simple_type = OpTypeFunction %int
-  %uint_iptr = OpTypePointer Input %uint
-  %WaveIndex = OpVariable %uint_iptr Input
-       %main = OpFunction %void None %main_type
-      %entry = OpLabel
-               OpReturn
-               OpFunctionEnd
-     %simple = OpFunction %int None %simple_type
-          %1 = OpLabel
-          %2 = OpLoad %uint %WaveIndex
-               OpSelectionMerge %merge None
-               OpSwitch %2 %default 1 %case_1 2 %case_2
-    %default = OpLabel
-               OpBranch %merge
-     %case_1 = OpLabel
-               OpBranch %merge
-     %case_2 = OpLabel
-               OpBranch %merge
-      %merge = OpLabel
-          %4 = OpPhi %int %int_0 %default %int_1 %case_1 %int_2 %case_2
-               OpReturnValue %4
-               OpFunctionEnd
diff --git a/llvm/test/Other/spirv-sim/wave-get-lane-index.spv b/llvm/test/Other/spirv-sim/wave-get-lane-index.spv
deleted file mode 100644
index 1c1e5e8aefd4f..0000000000000
--- a/llvm/test/Other/spirv-sim/wave-get-lane-index.spv
+++ /dev/null
@@ -1,30 +0,0 @@
-; RUN: %if spirv-tools %{ spirv-as %s -o - | spirv-val - %}
-; RUN: spirv-sim --function=simple --wave=4 --expects=0,1,2,3 -i %s
-               OpCapability Shader
-               OpCapability GroupNonUniform
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %main "main" %WaveIndex
-               OpExecutionMode %main LocalSize 1 1 1
-               OpSource HLSL 670
-               OpName %simple "simple"
-               OpName %main "main"
-                OpDecorate %WaveIndex BuiltIn SubgroupLocalInvocationId
-        %int = OpTypeInt 32 1
-       %uint = OpTypeInt 32 0
-      %int_2 = OpConstant %int 2
-       %void = OpTypeVoid
-  %main_type = OpTypeFunction %void
-%simple_type = OpTypeFunction %int
-  %uint_iptr = OpTypePointer Input %uint
-  %WaveIndex = OpVariable %uint_iptr Input
-       %main = OpFunction %void None %main_type
-      %entry = OpLabel
-               OpReturn
-               OpFunctionEnd
-     %simple = OpFunction %int None %simple_type
-          %1 = OpLabel
-          %2 = OpLoad %uint %WaveIndex
-          %3 = OpBitcast %int %2
-               OpReturnValue %3
-               OpFunctionEnd
-
diff --git a/llvm/test/Other/spirv-sim/wave-read-lane-first.spv b/llvm/test/Other/spirv-sim/wave-read-lane-first.spv
deleted file mode 100644
index 801fb55fbaa9f..0000000000000
--- a/llvm/test/Other/spirv-sim/wave-read-lane-first.spv
+++ /dev/null
@@ -1,83 +0,0 @@
-; RUN: %if spirv-tools %{ spirv-as %s -o - | spirv-val - %}
-; RUN: spirv-sim --function=simple --wave=4 --expects=0,1,2,0 -i %s
-
-; int simple() {
-;   int m[4] = { 0, 1, 2, 0 };
-;   int idx = WaveGetLaneIndex();
-;   for (int i = 0; i < 4; i++) {
-;     if (i == m[idx]) {
-;       return WaveReadLaneFirst(idx);
-;     }
-;   }
-;   return 0;
-; }
-                       OpCapability Shader
-                       OpCapability GroupNonUniform
-                       OpCapability GroupNonUniformBallot
-                       OpMemoryModel Logical GLSL450
-                       OpEntryPoint GLCompute %main "main" %WaveIndex
-                       OpExecutionMode %main LocalSize 1 1 1
-                       OpSource HLSL 670
-                       OpName %simple "simple"
-                       OpName %main "main"
-                       OpDecorate %WaveIndex BuiltIn SubgroupLocalInvocationId
-                %int = OpTypeInt 32 1
-               %uint = OpTypeInt 32 0
-               %bool = OpTypeBool
-              %int_0 = OpConstant %int 0
-              %int_1 = OpConstant %int 1
-              %int_2 = OpConstant %int 2
-              %int_4 = OpConstant %int 4
-             %uint_3 = OpConstant %uint 3
-             %uint_4 = OpConstant %uint 4
-               %void = OpTypeVoid
-          %main_type = OpTypeFunction %void
-        %simple_type = OpTypeFunction %int
-          %uint_iptr = OpTypePointer Input %uint
-           %int_fptr = OpTypePointer Function %int
-     %arr_int_uint_4 = OpTypeArray %int %uint_4
-%arr_int_uint_4_fptr = OpTypePointer Function %arr_int_uint_4
-          %WaveIndex = OpVariable %uint_iptr Input
-               %main = OpFunction %void None %main_type
-              %entry = OpLabel
-                       OpReturn
-                       OpFunctionEnd
-             %simple = OpFunction %int None %simple_type
-         %bb_entry_0 = OpLabel
-                  %m = OpVariable %arr_int_uint_4_fptr Function
-                %idx = OpVariable %int_fptr Function
-                  %i = OpVariable %int_fptr Function
-                 %27 = OpCompositeConstruct %arr_int_uint_4 %int_0 %int_1 %int_2 %int_0
-                       OpStore %m %27
-                 %28 = OpLoad %uint %WaveIndex
-                 %29 = OpBitcast %int %28
-                       OpStore %idx %29
-                       OpStore %i %int_0
-                       OpBranch %for_check
-          %for_check = OpLabel
-                 %31 = OpLoad %int %i
-                 %33 = OpSLessThan %bool %31 %int_4
-                       OpLoopMerge %for_merge %for_continue None
-                       OpBranchConditional %33 %for_body %for_merge
-           %for_body = OpLabel
-                 %37 = OpLoad %int %i
-                 %38 = OpLoad %int %idx
-                 %39 = OpAccessChain %int_fptr %m %38
-                 %40 = OpLoad %int %39
-                 %41 = OpIEqual %bool %37 %40
-                       OpSelectionMerge %if_merge None
-                       OpBranchConditional %41 %if_true %if_merge
-            %if_true = OpLabel
-                 %44 = OpLoad %int %idx
-                 %45 = OpGroupNonUniformBroadcastFirst %int %uint_3 %44
-                       OpReturnValue %45
-           %if_merge = OpLabel
-                       OpBranch %for_continue
-       %for_continue = OpLabel
-                 %47 = OpLoad %int %i
-                 %48 = OpIAdd %int %47 %int_1
-                       OpStore %i %48
-                       OpBranch %for_check
-          %for_merge = OpLabel
-                       OpReturnValue %int_0
-                       OpFunctionEnd
diff --git a/llvm/utils/spirv-sim/instructions.py b/llvm/utils/spirv-sim/instructions.py
deleted file mode 100644
index 5e64a480a2be6..0000000000000
--- a/llvm/utils/spirv-sim/instructions.py
+++ /dev/null
@@ -1,381 +0,0 @@
-from typing import Optional, List
-
-
-# Base class for an instruction. To implement a basic instruction that doesn't
-# impact the control-flow, create a new class inheriting from this.
-class Instruction:
-    # Contains the name of the output register, if any.
-    _result: Optional[str]
-    # Contains the instruction opcode.
-    _opcode: str
-    # Contains all the i...
[truncated]

@Keenuts Keenuts merged commit d64371b into llvm:main Aug 4, 2025
12 checks passed
@Keenuts Keenuts deleted the cleanup-spirv-sim branch August 4, 2025 08:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants