@@ -22,7 +22,7 @@ define void @test16(i32* noalias %P) {
22
22
; CHECK-NEXT: br label [[BB3]]
23
23
; CHECK: bb3:
24
24
; CHECK-NEXT: call void @free(i8* [[P2]])
25
- ; CHECK-NEXT: store i32 1, i32* [[P]]
25
+ ; CHECK-NEXT: store i32 1, i32* [[P]], align 4
26
26
; CHECK-NEXT: ret void
27
27
;
28
28
%P2 = bitcast i32* %P to i8*
@@ -71,7 +71,7 @@ define void @test17_read_after_free(i32* noalias %P) {
71
71
; CHECK-NEXT: br label [[BB3]]
72
72
; CHECK: bb3:
73
73
; CHECK-NEXT: call void @free(i8* [[P2]])
74
- ; CHECK-NEXT: [[LV:%.*]] = load i8, i8* [[P2]]
74
+ ; CHECK-NEXT: [[LV:%.*]] = load i8, i8* [[P2]], align 1
75
75
; CHECK-NEXT: ret void
76
76
;
77
77
%P2 = bitcast i32* %P to i8*
@@ -156,7 +156,7 @@ define i8* @test26() {
156
156
; CHECK-NEXT: br i1 true, label [[BB2:%.*]], label [[BB3:%.*]]
157
157
; CHECK: bb2:
158
158
; CHECK-NEXT: [[M:%.*]] = call noalias i8* @malloc(i64 10)
159
- ; CHECK-NEXT: store i8 1, i8* [[M]]
159
+ ; CHECK-NEXT: store i8 1, i8* [[M]], align 1
160
160
; CHECK-NEXT: br label [[BB3]]
161
161
; CHECK: bb3:
162
162
; CHECK-NEXT: [[R:%.*]] = phi i8* [ null, [[BB1:%.*]] ], [ [[M]], [[BB2]] ]
@@ -210,7 +210,7 @@ define i8* @test28() {
210
210
; CHECK-NEXT: [[MC5:%.*]] = bitcast i8* [[MC4]] to i8*
211
211
; CHECK-NEXT: [[MC6:%.*]] = bitcast i8* [[MC5]] to i8*
212
212
; CHECK-NEXT: [[M0:%.*]] = bitcast i8* [[MC6]] to i8*
213
- ; CHECK-NEXT: store i8 2, i8* [[M]]
213
+ ; CHECK-NEXT: store i8 2, i8* [[M]], align 1
214
214
; CHECK-NEXT: ret i8* [[M0]]
215
215
;
216
216
bb0:
@@ -239,7 +239,7 @@ declare %struct.NodePtrVecStruct* @NodePtrVec_new(i32)
239
239
define noalias %struct.SystemCallMapElementStruct* @SystemCallMapElement_new (i8* nocapture readonly %label , i32 %initialSize ) {
240
240
; CHECK-LABEL: @SystemCallMapElement_new(
241
241
; CHECK-NEXT: entry:
242
- ; CHECK-NEXT: [[CALL:%.*]] = tail call dereferenceable_or_null(24) i8* @malloc(i64 24) #6
242
+ ; CHECK-NEXT: [[CALL:%.*]] = tail call dereferenceable_or_null(24) i8* @malloc(i64 24) #[[ATTR6:[0-9]+]]
243
243
; CHECK-NEXT: [[TMP0:%.*]] = bitcast i8* [[CALL]] to %struct.SystemCallMapElementStruct*
244
244
; CHECK-NEXT: [[TOBOOL:%.*]] = icmp eq i8* [[CALL]], null
245
245
; CHECK-NEXT: br i1 [[TOBOOL]], label [[CLEANUP:%.*]], label [[IF_THEN:%.*]]
@@ -256,7 +256,7 @@ define noalias %struct.SystemCallMapElementStruct* @SystemCallMapElement_new(i8*
256
256
; CHECK-NEXT: tail call void @free(i8* nonnull [[CALL]])
257
257
; CHECK-NEXT: br label [[CLEANUP]]
258
258
; CHECK: if.end:
259
- ; CHECK-NEXT: [[CALL6:%.*]] = tail call %struct.NodePtrVecStruct* @NodePtrVec_new(i32 [[INITIALSIZE:%.*]]) #4
259
+ ; CHECK-NEXT: [[CALL6:%.*]] = tail call %struct.NodePtrVecStruct* @NodePtrVec_new(i32 [[INITIALSIZE:%.*]]) #[[ATTR4:[0-9]+]]
260
260
; CHECK-NEXT: [[NODES:%.*]] = getelementptr inbounds i8, i8* [[CALL]], i64 16
261
261
; CHECK-NEXT: [[TMP2:%.*]] = bitcast i8* [[NODES]] to %struct.NodePtrVecStruct**
262
262
; CHECK-NEXT: store %struct.NodePtrVecStruct* [[CALL6]], %struct.NodePtrVecStruct** [[TMP2]], align 8
@@ -311,15 +311,15 @@ cleanup: ; preds = %entry, %if.end, %if
311
311
define noalias %struct.BitfieldStruct* @Bitfield_new (i32 %bitsNeeded ) {
312
312
; CHECK-LABEL: @Bitfield_new(
313
313
; CHECK-NEXT: entry:
314
- ; CHECK-NEXT: [[CALL:%.*]] = tail call dereferenceable_or_null(16) i8* @malloc(i64 16) #6
314
+ ; CHECK-NEXT: [[CALL:%.*]] = tail call dereferenceable_or_null(16) i8* @malloc(i64 16) #[[ATTR6]]
315
315
; CHECK-NEXT: [[TMP0:%.*]] = bitcast i8* [[CALL]] to %struct.BitfieldStruct*
316
316
; CHECK-NEXT: [[TOBOOL:%.*]] = icmp eq i8* [[CALL]], null
317
317
; CHECK-NEXT: br i1 [[TOBOOL]], label [[CLEANUP:%.*]], label [[IF_END:%.*]]
318
318
; CHECK: if.end:
319
319
; CHECK-NEXT: [[ADD:%.*]] = add nsw i32 [[BITSNEEDED:%.*]], 7
320
320
; CHECK-NEXT: [[DIV:%.*]] = sdiv i32 [[ADD]], 8
321
321
; CHECK-NEXT: [[CONV:%.*]] = sext i32 [[DIV]] to i64
322
- ; CHECK-NEXT: [[CALL1:%.*]] = tail call i8* @calloc(i64 [[CONV]], i64 1) #7
322
+ ; CHECK-NEXT: [[CALL1:%.*]] = tail call i8* @calloc(i64 [[CONV]], i64 1) #[[ATTR7:[0-9]+]]
323
323
; CHECK-NEXT: [[BITFIELD:%.*]] = getelementptr inbounds i8, i8* [[CALL]], i64 8
324
324
; CHECK-NEXT: [[TMP1:%.*]] = bitcast i8* [[BITFIELD]] to i8**
325
325
; CHECK-NEXT: store i8* [[CALL1]], i8** [[TMP1]], align 8
0 commit comments