|
35 | 35 | ret i32 %call
|
36 | 36 |
|
37 | 37 | ; CHECK-LABEL: test1
|
38 |
| - ; CHECK: %0 = getelementptr { [7 x double], [7 x double], [6 x i32], [6 x i32], [7 x float], [7 x float], [8 x i8], [16 x i8] }, ptr @__ModuleStringPool, i32 0, i32 6 |
39 |
| - ; CHECK: tail call signext i32 @calleeStr |
| 38 | + ; CHECK: %call = tail call signext i32 @calleeStr(ptr noundef nonnull getelementptr inbounds ({ [7 x double], [7 x double], [6 x i32], [6 x i32], [7 x float], [7 x float], [8 x i8], [16 x i8] }, ptr @__ModuleStringPool, i32 0, i32 6)) |
40 | 39 | }
|
41 | 40 |
|
42 | 41 | define dso_local signext i32 @test2() local_unnamed_addr #0 {
|
|
49 | 48 | ret i32 %call
|
50 | 49 |
|
51 | 50 | ; CHECK-LABEL: test2
|
52 |
| - ; CHECK: %0 = getelementptr { [7 x double], [7 x double], [6 x i32], [6 x i32], [7 x float], [7 x float], [8 x i8], [16 x i8] }, ptr @__ModuleStringPool, i32 0, i32 2 |
| 51 | + ; CHECK: call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(24) %A, ptr noundef nonnull align 4 dereferenceable(24) getelementptr inbounds ({ [7 x double], [7 x double], [6 x i32], [6 x i32], [7 x float], [7 x float], [8 x i8], [16 x i8] }, ptr @__ModuleStringPool, i32 0, i32 2), i64 24, i1 false) |
53 | 52 | ; CHECK: call signext i32 @calleeInt
|
54 | 53 | }
|
55 | 54 |
|
|
62 | 61 | call void @llvm.lifetime.end.p0(i64 28, ptr nonnull %A) #0
|
63 | 62 | ret i32 %call
|
64 | 63 | ; CHECK-LABEL: test3
|
65 |
| - ; CHECK: %0 = getelementptr { [7 x double], [7 x double], [6 x i32], [6 x i32], [7 x float], [7 x float], [8 x i8], [16 x i8] }, ptr @__ModuleStringPool, i32 0, i32 4 |
| 64 | + ; CHECK: call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(28) %A, ptr noundef nonnull align 4 dereferenceable(28) getelementptr inbounds ({ [7 x double], [7 x double], [6 x i32], [6 x i32], [7 x float], [7 x float], [8 x i8], [16 x i8] }, ptr @__ModuleStringPool, i32 0, i32 4), i64 28, i1 false) |
66 | 65 | ; CHECK: call signext i32 @calleeFloat
|
67 | 66 | }
|
68 | 67 |
|
|
75 | 74 | call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %A) #0
|
76 | 75 | ret i32 %call
|
77 | 76 | ; CHECK-LABEL: test4
|
78 |
| - ; CHECK: %0 = getelementptr { [7 x double], [7 x double], [6 x i32], [6 x i32], [7 x float], [7 x float], [8 x i8], [16 x i8] }, ptr @__ModuleStringPool, i32 0, i32 0 |
| 77 | + ; CHECK: call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %A, ptr noundef nonnull align 8 dereferenceable(56) @__ModuleStringPool, i64 56, i1 false) |
79 | 78 | ; CHECK: call signext i32 @calleeDouble
|
80 | 79 | }
|
81 | 80 |
|
|
102 | 101 | call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %B) #0
|
103 | 102 | ret i32 %add7
|
104 | 103 | ; CHECK-LABEL: test5
|
105 |
| - ; CHECK: %0 = getelementptr { [7 x double], [7 x double], [6 x i32], [6 x i32], [7 x float], [7 x float], [8 x i8], [16 x i8] }, ptr @__ModuleStringPool, i32 0, i32 3 |
106 |
| - ; CHECK: %1 = getelementptr { [7 x double], [7 x double], [6 x i32], [6 x i32], [7 x float], [7 x float], [8 x i8], [16 x i8] }, ptr @__ModuleStringPool, i32 0, i32 5 |
107 |
| - ; CHECK: %2 = getelementptr { [7 x double], [7 x double], [6 x i32], [6 x i32], [7 x float], [7 x float], [8 x i8], [16 x i8] }, ptr @__ModuleStringPool, i32 0, i32 1 |
108 |
| - ; CHECK: %3 = getelementptr { [7 x double], [7 x double], [6 x i32], [6 x i32], [7 x float], [7 x float], [8 x i8], [16 x i8] }, ptr @__ModuleStringPool, i32 0, i32 7 |
109 |
| - ; CHECK: call signext i32 @calleeStr |
| 104 | + ; CHECK: call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(24) %B, ptr noundef nonnull align 4 dereferenceable(24) getelementptr inbounds ({ [7 x double], [7 x double], [6 x i32], [6 x i32], [7 x float], [7 x float], [8 x i8], [16 x i8] }, ptr @__ModuleStringPool, i32 0, i32 3), i64 24, i1 false) |
| 105 | + ; CHECK: call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(28) %C, ptr noundef nonnull align 4 dereferenceable(28) getelementptr inbounds ({ [7 x double], [7 x double], [6 x i32], [6 x i32], [7 x float], [7 x float], [8 x i8], [16 x i8] }, ptr @__ModuleStringPool, i32 0, i32 5), i64 28, i1 false) |
| 106 | + ; CHECK: call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %D, ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds ({ [7 x double], [7 x double], [6 x i32], [6 x i32], [7 x float], [7 x float], [8 x i8], [16 x i8] }, ptr @__ModuleStringPool, i32 0, i32 1), i64 56, i1 false) |
| 107 | + ; CHECK: call signext i32 @calleeStr(ptr noundef nonnull getelementptr inbounds ({ [7 x double], [7 x double], [6 x i32], [6 x i32], [7 x float], [7 x float], [8 x i8], [16 x i8] }, ptr @__ModuleStringPool, i32 0, i32 7)) |
110 | 108 | ; CHECK: call signext i32 @calleeInt
|
111 | 109 | ; CHECK: call signext i32 @calleeFloat
|
112 | 110 | ; CHECK: call signext i32 @calleeDouble
|
|
0 commit comments