Skip to content

Commit ea5bc3b

Browse files
committed
Pre-Commit tests: [SPIRV] Support -fembed-bitcode=marker for non-shader modules
1 parent fee71a3 commit ea5bc3b

File tree

3 files changed

+57
-0
lines changed

3 files changed

+57
-0
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
; RUN: llc -verify-machineinstrs -mtriple=spirv-vulkan-unknown %s -o - | FileCheck %s
2+
3+
@llvm.embedded.module = private constant [0 x i8] zeroinitializer, section ".llvmbc", align 1
4+
@llvm.cmdline = private constant [5 x i8] c"-cc1\00", section ".llvmcmd", align 1
5+
@llvm.compiler.used = appending global [2 x ptr] [ptr @llvm.embedded.module, ptr @llvm.cmdline], section "llvm.metadata"
6+
7+
; CHECK-DAG: OpName [[FOO:%[0-9]+]] "foo"
8+
; CHECK-DAG: OpName [[MODULE:%[0-9]+]] "llvm.embedded.module"
9+
; CHECK-DAG: [[INT8:%[0-9]+]] = OpTypeInt 8 0
10+
; CHECK-DAG: [[RUNTIME_ARRAY_INT8x1:%[0-9]+]] = OpTypeRuntimeArray [[INT8]]
11+
; CHECK-DAG: [[POINTER:%[0-9]+]] = OpTypePointer Function [[RUNTIME_ARRAY_INT8x1]]
12+
; CHECK-DAG: [[EMBEDDED_MODULE_INIT:%[0-9]+]] = OpConstantNull [[RUNTIME_ARRAY_INT8x1]]
13+
; CHECK: [[FOO]] = OpFunction {{.*}} None {{.*}}
14+
; CHECK-DAG: {{%[0-9]+}} = OpVariable [[POINTER]] Function [[EMBEDDED_MODULE_INIT]]
15+
16+
define void @foo() #1 {
17+
entry:
18+
ret void
19+
}
20+
21+
attributes #1 = { "hlsl.numthreads"="4,8,16" "hlsl.shader"="compute" }
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
; XFAIL: *
2+
; RUN: llc -verify-machineinstrs -mtriple=spirv-unknown-unknown %s -o - | FileCheck %s
3+
4+
@llvm.embedded.module = private constant [0 x i8] zeroinitializer, section ".llvmbc", align 1
5+
@llvm.cmdline = private constant [5 x i8] c"-cc1\00", section ".llvmcmd", align 1
6+
@llvm.compiler.used = appending global [2 x ptr] [ptr @llvm.embedded.module, ptr @llvm.cmdline], section "llvm.metadata"
7+
8+
define spir_kernel void @foo() {
9+
entry:
10+
ret void
11+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
; RUN: llc -verify-machineinstrs -mtriple=spirv-unknown-unknown %s -o - | FileCheck %s
2+
3+
@llvm.embedded.module = private constant [4 x i8] c"BC\C0\DE", section ".llvmbc", align 1
4+
@llvm.cmdline = private constant [5 x i8] c"-cc1\00", section ".llvmcmd", align 1
5+
@llvm.compiler.used = appending global [2 x ptr] [ptr @llvm.embedded.module, ptr @llvm.cmdline], section "llvm.metadata"
6+
7+
; CHECK-DAG: OpName [[FOO:%[0-9]+]] "foo"
8+
; CHECK-DAG: OpName [[MODULE:%[0-9]+]] "llvm.embedded.module"
9+
; CHECK-DAG: [[INT8:%[0-9]+]] = OpTypeInt 8 0
10+
; CHECK-DAG: [[INT32:%[0-9]+]] = OpTypeInt 32 0
11+
; CHECK-DAG: [[CONST_4_32:%[0-9]+]] = OpConstant [[INT32]] 4
12+
; CHECK-DAG: [[ARRAY_INT8x4:%[0-9]+]] = OpTypeArray [[INT8]] [[CONST_4_32]]
13+
; CHECK-DAG: [[POINTER:%[0-9]+]] = OpTypePointer Function [[ARRAY_INT8x4]]
14+
; CHECK-DAG: [[CONST_B_8:%[0-9]+]] = OpConstant [[INT8]] 66
15+
; CHECK-DAG: [[CONST_C_8:%[0-9]+]] = OpConstant [[INT8]] 67
16+
; CHECK-DAG: [[CONST_0xC0_8:%[0-9]+]] = OpConstant [[INT8]] 192
17+
; CHECK-DAG: [[CONST_0xDE_8:%[0-9]+]] = OpConstant [[INT8]] 222
18+
; CHECK-DAG: [[EMBEDDED_MODULE_INIT:%[0-9]+]] = OpConstantComposite [[ARRAY_INT8x4]] [[CONST_B_8]] [[CONST_C_8]] [[CONST_0xC0_8]] [[CONST_0xDE_8]]
19+
; CHECK: [[FOO]] = OpFunction {{.*}} None {{.*}}
20+
; CHECK-DAG: {{%[0-9]+}} = OpVariable [[POINTER]] Function [[EMBEDDED_MODULE_INIT]]
21+
22+
define spir_kernel void @foo() {
23+
entry:
24+
ret void
25+
}

0 commit comments

Comments
 (0)