@@ -21,9 +21,9 @@ struct S {
2121// CHECK-LABEL: define dso_local i32 @foo(
2222// CHECK-SAME: ) #[[ATTR0:[0-9]+]] {
2323// CHECK-NEXT: [[ENTRY:.*:]]
24- // CHECK-NEXT: [[BUFFER:%.*]] = alloca [12 x i8], align 1
24+ // CHECK-NEXT: [[BUFFER:%.*]] = alloca [12 x i8], align 4
2525// CHECK-NEXT: [[S_PTR:%.*]] = alloca ptr, align 8
26- // CHECK-NEXT: call void @llvm.memset.p0.i64(ptr align 1 [[BUFFER]], i8 0, i64 12, i1 false)
26+ // CHECK-NEXT: call void @llvm.memset.p0.i64(ptr align 4 [[BUFFER]], i8 0, i64 12, i1 false)
2727// CHECK-NEXT: [[ARRAYDECAY:%.*]] = getelementptr inbounds [12 x i8], ptr [[BUFFER]], i64 0, i64 0
2828// CHECK-NEXT: store ptr [[ARRAYDECAY]], ptr [[S_PTR]], align 8
2929// CHECK-NEXT: [[TMP0:%.*]] = load ptr, ptr [[S_PTR]], align 8
@@ -40,13 +40,13 @@ int foo() {
4040// CHECK-LABEL: define dso_local signext i8 @bar(
4141// CHECK-SAME: ) #[[ATTR0]] {
4242// CHECK-NEXT: [[ENTRY:.*:]]
43- // CHECK-NEXT: [[BUFFER:%.*]] = alloca [12 x i8], align 1
43+ // CHECK-NEXT: [[BUFFER:%.*]] = alloca [12 x i8], align 4
4444// CHECK-NEXT: [[ARRAYDECAY:%.*]] = getelementptr inbounds [12 x i8], ptr [[BUFFER]], i64 0, i64 0
4545// CHECK-NEXT: [[C:%.*]] = getelementptr inbounds [[STRUCT_S:%.*]], ptr [[ARRAYDECAY]], i32 0, i32 1
46- // CHECK-NEXT: store i8 97, ptr [[C]], align 1
46+ // CHECK-NEXT: store i8 97, ptr [[C]], align 4
4747// CHECK-NEXT: [[ARRAYDECAY1:%.*]] = getelementptr inbounds [12 x i8], ptr [[BUFFER]], i64 0, i64 0
4848// CHECK-NEXT: [[C2:%.*]] = getelementptr inbounds [[STRUCT_S]], ptr [[ARRAYDECAY1]], i32 0, i32 1
49- // CHECK-NEXT: [[TMP0:%.*]] = load i8, ptr [[C2]], align 1
49+ // CHECK-NEXT: [[TMP0:%.*]] = load i8, ptr [[C2]], align 4
5050// CHECK-NEXT: ret i8 [[TMP0]]
5151//
5252char bar () {
@@ -58,13 +58,13 @@ char bar() {
5858// CHECK-LABEL: define dso_local float @baz(
5959// CHECK-SAME: ) #[[ATTR0]] {
6060// CHECK-NEXT: [[ENTRY:.*:]]
61- // CHECK-NEXT: [[BUFFER:%.*]] = alloca [12 x i8], align 1
61+ // CHECK-NEXT: [[BUFFER:%.*]] = alloca [12 x i8], align 4
6262// CHECK-NEXT: [[ARRAYDECAY:%.*]] = getelementptr inbounds [12 x i8], ptr [[BUFFER]], i64 0, i64 0
6363// CHECK-NEXT: [[F:%.*]] = getelementptr inbounds [[STRUCT_S:%.*]], ptr [[ARRAYDECAY]], i32 0, i32 2
64- // CHECK-NEXT: store float 3.000000e+00, ptr [[F]], align 1
64+ // CHECK-NEXT: store float 3.000000e+00, ptr [[F]], align 4
6565// CHECK-NEXT: [[ARRAYDECAY1:%.*]] = getelementptr inbounds [12 x i8], ptr [[BUFFER]], i64 0, i64 0
6666// CHECK-NEXT: [[F2:%.*]] = getelementptr inbounds [[STRUCT_S]], ptr [[ARRAYDECAY1]], i32 0, i32 2
67- // CHECK-NEXT: [[TMP0:%.*]] = load float, ptr [[F2]], align 1
67+ // CHECK-NEXT: [[TMP0:%.*]] = load float, ptr [[F2]], align 4
6868// CHECK-NEXT: ret float [[TMP0]]
6969//
7070float baz () {
@@ -80,9 +80,9 @@ struct T {
8080// CHECK-LABEL: define dso_local signext i8 @quux(
8181// CHECK-SAME: ) #[[ATTR0]] {
8282// CHECK-NEXT: [[ENTRY:.*:]]
83- // CHECK-NEXT: [[T:%.*]] = alloca [[STRUCT_T:%.*]], align 1
83+ // CHECK-NEXT: [[T:%.*]] = alloca [[STRUCT_T:%.*]], align 4
8484// CHECK-NEXT: [[S_PTR:%.*]] = alloca ptr, align 8
85- // CHECK-NEXT: call void @llvm.memset.p0.i64(ptr align 1 [[T]], i8 0, i64 12, i1 false)
85+ // CHECK-NEXT: call void @llvm.memset.p0.i64(ptr align 4 [[T]], i8 0, i64 12, i1 false)
8686// CHECK-NEXT: [[BUFFER:%.*]] = getelementptr inbounds [[STRUCT_T]], ptr [[T]], i32 0, i32 0
8787// CHECK-NEXT: [[ARRAYDECAY:%.*]] = getelementptr inbounds [12 x i8], ptr [[BUFFER]], i64 0, i64 0
8888// CHECK-NEXT: store ptr [[ARRAYDECAY]], ptr [[S_PTR]], align 8
@@ -100,10 +100,10 @@ char quux() {
100100// CHECK-LABEL: define dso_local float @quibble(
101101// CHECK-SAME: ) #[[ATTR0]] {
102102// CHECK-NEXT: [[ENTRY:.*:]]
103- // CHECK-NEXT: [[BUFFER:%.*]] = alloca [12 x i8], align 1
103+ // CHECK-NEXT: [[BUFFER:%.*]] = alloca [12 x i8], align 4
104104// CHECK-NEXT: [[T_PTR:%.*]] = alloca ptr, align 8
105105// CHECK-NEXT: [[S_PTR:%.*]] = alloca ptr, align 8
106- // CHECK-NEXT: call void @llvm.memset.p0.i64(ptr align 1 [[BUFFER]], i8 0, i64 12, i1 false)
106+ // CHECK-NEXT: call void @llvm.memset.p0.i64(ptr align 4 [[BUFFER]], i8 0, i64 12, i1 false)
107107// CHECK-NEXT: [[ARRAYDECAY:%.*]] = getelementptr inbounds [12 x i8], ptr [[BUFFER]], i64 0, i64 0
108108// CHECK-NEXT: store ptr [[ARRAYDECAY]], ptr [[T_PTR]], align 8
109109// CHECK-NEXT: [[TMP0:%.*]] = load ptr, ptr [[T_PTR]], align 8
@@ -125,13 +125,13 @@ float quibble() {
125125// CHECK-LABEL: define dso_local i32 @quorble(
126126// CHECK-SAME: ) #[[ATTR0]] {
127127// CHECK-NEXT: [[ENTRY:.*:]]
128- // CHECK-NEXT: [[BUFFER:%.*]] = alloca [12 x i8], align 1
128+ // CHECK-NEXT: [[BUFFER:%.*]] = alloca [12 x i8], align 4
129129// CHECK-NEXT: [[S_PTR:%.*]] = alloca ptr, align 8
130130// CHECK-NEXT: [[ARRAYDECAY:%.*]] = getelementptr inbounds [12 x i8], ptr [[BUFFER]], i64 0, i64 0
131131// CHECK-NEXT: [[BUFFER1:%.*]] = getelementptr inbounds [[STRUCT_T:%.*]], ptr [[ARRAYDECAY]], i32 0, i32 0
132132// CHECK-NEXT: [[ARRAYDECAY2:%.*]] = getelementptr inbounds [12 x i8], ptr [[BUFFER1]], i64 0, i64 0
133133// CHECK-NEXT: [[X:%.*]] = getelementptr inbounds [[STRUCT_S:%.*]], ptr [[ARRAYDECAY2]], i32 0, i32 0
134- // CHECK-NEXT: store i32 12, ptr [[X]], align 1
134+ // CHECK-NEXT: store i32 12, ptr [[X]], align 4
135135// CHECK-NEXT: [[ARRAYDECAY3:%.*]] = getelementptr inbounds [12 x i8], ptr [[BUFFER]], i64 0, i64 0
136136// CHECK-NEXT: [[BUFFER4:%.*]] = getelementptr inbounds [[STRUCT_T]], ptr [[ARRAYDECAY3]], i32 0, i32 0
137137// CHECK-NEXT: [[ARRAYDECAY5:%.*]] = getelementptr inbounds [12 x i8], ptr [[BUFFER4]], i64 0, i64 0
0 commit comments