@@ -10,6 +10,7 @@ define ptr @align_replacement_does_not_have_align_metadata(ptr noalias %p) {
10
10
; CHECK-NEXT: call void @foo(ptr [[L_1]])
11
11
; CHECK-NEXT: [[GEP:%.*]] = getelementptr i8, ptr [[L_1]], i64 4
12
12
; CHECK-NEXT: store ptr [[GEP]], ptr [[P]], align 8
13
+ ; CHECK-NEXT: call void @llvm.assume(i1 true) [ "align"(ptr [[GEP]], i64 4) ]
13
14
; CHECK-NEXT: ret ptr [[GEP]]
14
15
;
15
16
%l.1 = load ptr , ptr %p , align 8
@@ -27,6 +28,7 @@ define ptr @align_replacement_does_not_have_align_metadata2(ptr noalias %p) {
27
28
; CHECK-NEXT: [[L_1:%.*]] = load ptr, ptr [[P]], align 8
28
29
; CHECK-NEXT: [[GEP:%.*]] = getelementptr i8, ptr [[L_1]], i64 4
29
30
; CHECK-NEXT: store ptr [[GEP]], ptr [[P]], align 8
31
+ ; CHECK-NEXT: call void @llvm.assume(i1 true) [ "align"(ptr [[GEP]], i64 4) ]
30
32
; CHECK-NEXT: ret ptr [[GEP]]
31
33
;
32
34
%l.1 = load ptr , ptr %p , align 8
@@ -54,6 +56,7 @@ define ptr @align_replacement_has_smaller_alignment(ptr noalias %p) {
54
56
; CHECK-SAME: ptr noalias [[P:%.*]]) {
55
57
; CHECK-NEXT: [[L_1:%.*]] = load ptr, ptr [[P]], align 8, !align [[META0]]
56
58
; CHECK-NEXT: call void @foo(ptr [[L_1]])
59
+ ; CHECK-NEXT: call void @llvm.assume(i1 true) [ "align"(ptr [[L_1]], i64 8) ]
57
60
; CHECK-NEXT: ret ptr [[L_1]]
58
61
;
59
62
%l.1 = load ptr , ptr %p , align 8 , !align !0
0 commit comments