6
6
// correctly.
7
7
8
8
// CHECK: %ScalarPair = type { i32, [3 x i32], i128 }
9
- // CHECK: %Struct = type { i32, i32, [2 x i32], i128 }
10
9
11
10
#![ feature( core_intrinsics) ]
12
11
@@ -43,7 +42,7 @@ pub fn store(x: &mut ScalarPair) {
43
42
#[ no_mangle]
44
43
pub fn alloca ( ) {
45
44
// CHECK-LABEL: @alloca(
46
- // CHECK: [[X:%.*]] = alloca %ScalarPair , align 16
45
+ // CHECK: [[X:%.*]] = alloca [32 x i8] , align 16
47
46
// CHECK: store i32 1, ptr %x, align 16
48
47
// CHECK-NEXT: [[GEP:%.*]] = getelementptr inbounds i8, ptr %x, i64 16
49
48
// CHECK-NEXT: store i128 2, ptr [[GEP]], align 16
@@ -55,7 +54,7 @@ pub fn alloca() {
55
54
pub fn load_volatile ( x : & ScalarPair ) -> ScalarPair {
56
55
// CHECK-LABEL: @load_volatile(
57
56
// CHECK-SAME: align 16 dereferenceable(32) %x
58
- // CHECK: [[TMP:%.*]] = alloca %ScalarPair , align 16
57
+ // CHECK: [[TMP:%.*]] = alloca [32 x i8] , align 16
59
58
// CHECK: [[LOAD:%.*]] = load volatile %ScalarPair, ptr %x, align 16
60
59
// CHECK-NEXT: store %ScalarPair [[LOAD]], ptr [[TMP]], align 16
61
60
// CHECK-NEXT: [[A:%.*]] = load i32, ptr [[TMP]], align 16
@@ -67,7 +66,7 @@ pub fn load_volatile(x: &ScalarPair) -> ScalarPair {
67
66
#[ no_mangle]
68
67
pub fn transmute ( x : ScalarPair ) -> ( std:: mem:: MaybeUninit < i128 > , i128 ) {
69
68
// CHECK-LABEL: define { i128, i128 } @transmute(i32 noundef %x.0, i128 noundef %x.1)
70
- // CHECK: [[TMP:%.*]] = alloca { i128, i128 } , align 16
69
+ // CHECK: [[TMP:%.*]] = alloca [32 x i8] , align 16
71
70
// CHECK-NEXT: store i32 %x.0, ptr [[TMP]], align 16
72
71
// CHECK-NEXT: [[GEP:%.*]] = getelementptr inbounds i8, ptr [[TMP]], i64 16
73
72
// CHECK-NEXT: store i128 %x.1, ptr [[GEP]], align 16
@@ -92,7 +91,7 @@ pub struct Struct {
92
91
pub fn store_struct ( x : & mut Struct ) {
93
92
// CHECK-LABEL: @store_struct(
94
93
// CHECK-SAME: align 16 dereferenceable(32) %x
95
- // CHECK: [[TMP:%.*]] = alloca %Struct , align 16
94
+ // CHECK: [[TMP:%.*]] = alloca [32 x i8] , align 16
96
95
// CHECK: store i32 1, ptr [[TMP]], align 16
97
96
// CHECK-NEXT: [[GEP1:%.*]] = getelementptr inbounds i8, ptr [[TMP]], i64 4
98
97
// CHECK-NEXT: store i32 2, ptr [[GEP1]], align 4
0 commit comments