|
1 | 1 | ; RUN: llc --filetype=obj %s -o - | dxil-dis -o - | FileCheck %s |
2 | 2 | target triple = "dxil-unknown-shadermodel6.7-library" |
3 | 3 |
|
4 | | -define i64 @test(ptr %p) { |
| 4 | +define i64 @test(ptr %p) #0 { |
5 | 5 | store i32 0, ptr %p |
6 | 6 | %v = load i64, ptr %p |
7 | 7 | ret i64 %v |
8 | 8 | } |
9 | 9 |
|
10 | | -; CHECK: define internal i64 @test(i8* %p) { |
| 10 | +; CHECK: define i64 @test(i8* %p) { |
11 | 11 | ; CHECK-NEXT: %1 = bitcast i8* %p to i32* |
12 | 12 | ; CHECK-NEXT: store i32 0, i32* %1, align 4 |
13 | 13 | ; CHECK-NEXT: %2 = bitcast i8* %p to i64* |
14 | 14 | ; CHECK-NEXT: %3 = load i64, i64* %2, align 8 |
15 | 15 |
|
16 | | -define i64 @test2(ptr %p) { |
| 16 | +define i64 @test2(ptr %p) #0 { |
17 | 17 | store i64 0, ptr %p |
18 | 18 | %v = load i64, ptr %p |
19 | 19 | ret i64 %v |
20 | 20 | } |
21 | 21 |
|
22 | | -; CHECK: define internal i64 @test2(i64* %p) { |
| 22 | +; CHECK: define i64 @test2(i64* %p) { |
23 | 23 | ; CHECK-NEXT: store i64 0, i64* %p, align 8 |
24 | 24 | ; CHECK-NEXT: %v = load i64, i64* %p, align 8 |
25 | 25 |
|
26 | | -define i64 @test3(ptr addrspace(1) %p) { |
| 26 | +define i64 @test3(ptr addrspace(1) %p) #0 { |
27 | 27 | store i32 0, ptr addrspace(1) %p |
28 | 28 | %v = load i64, ptr addrspace(1) %p |
29 | 29 | ret i64 %v |
30 | 30 | } |
31 | 31 |
|
32 | | -; CHECK: define internal i64 @test3(i8 addrspace(1)* %p) { |
| 32 | +; CHECK: define i64 @test3(i8 addrspace(1)* %p) { |
33 | 33 | ; CHECK-NEXT: %1 = bitcast i8 addrspace(1)* %p to i32 addrspace(1)* |
34 | 34 | ; CHECK-NEXT: store i32 0, i32 addrspace(1)* %1, align 4 |
35 | 35 | ; CHECK-NEXT: %2 = bitcast i8 addrspace(1)* %p to i64 addrspace(1)* |
36 | 36 | ; CHECK-NEXT: %3 = load i64, i64 addrspace(1)* %2, align 8 |
37 | 37 |
|
38 | | -define i64 @test4(ptr addrspace(1) %p) { |
| 38 | +define i64 @test4(ptr addrspace(1) %p) #0 { |
39 | 39 | store i64 0, ptr addrspace(1) %p |
40 | 40 | %v = load i64, ptr addrspace(1) %p |
41 | 41 | ret i64 %v |
42 | 42 | } |
43 | 43 |
|
44 | | -; CHECK: define internal i64 @test4(i64 addrspace(1)* %p) { |
| 44 | +; CHECK: define i64 @test4(i64 addrspace(1)* %p) { |
45 | 45 | ; CHECK-NEXT: store i64 0, i64 addrspace(1)* %p, align 8 |
46 | 46 | ; CHECK-NEXT: %v = load i64, i64 addrspace(1)* %p, align 8 |
47 | 47 |
|
48 | 48 |
|
49 | | -define i64 @test5(ptr %p) { |
| 49 | +define i64 @test5(ptr %p) #0 { |
50 | 50 | %casted = addrspacecast ptr %p to ptr addrspace(1) |
51 | 51 | store i64 0, ptr addrspace(1) %casted |
52 | 52 | %v = load i64, ptr addrspace(1) %casted |
53 | 53 | ret i64 %v |
54 | 54 | } |
55 | 55 |
|
56 | | -; CHECK: define internal i64 @test5(i8* %p) { |
| 56 | +; CHECK: define i64 @test5(i8* %p) { |
57 | 57 | ; CHECK-NEXT: %casted = addrspacecast i8* %p to i64 addrspace(1)* |
58 | 58 | ; CHECK-NEXT: store i64 0, i64 addrspace(1)* %casted, align 8 |
59 | 59 | ; CHECK-NEXT: %v = load i64, i64 addrspace(1)* %casted, align 8 |
| 60 | + |
| 61 | +attributes #0 = { "hlsl.export" } |
0 commit comments