|
8 | 8 | ; Test that we can propagate the align 16 to the load and store that are set to align 4 |
9 | 9 | ; ------------------------------------------------------------------------------ |
10 | 10 |
|
11 | | -; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite) |
12 | | -define void @prop_align(ptr noundef readonly captures(none) %v, ptr noundef writeonly captures(none) initializes((0, 32)) %vout) local_unnamed_addr #0 { |
| 11 | +define void @prop_align(ptr %v, ptr %vout) { |
13 | 12 | ; CHECK-LABEL: define void @prop_align( |
14 | | -; CHECK-SAME: ptr noundef readonly captures(none) [[V:%.*]], ptr noundef writeonly captures(none) initializes((0, 32)) [[VOUT:%.*]]) local_unnamed_addr { |
| 13 | +; CHECK-SAME: ptr [[V:%.*]], ptr [[VOUT:%.*]]) { |
15 | 14 | ; CHECK-NEXT: [[DOTUNPACK_UNPACK:%.*]] = load float, ptr [[V]], align 16 |
16 | 15 | ; CHECK-NEXT: [[DOTUNPACK_ELT7:%.*]] = getelementptr inbounds nuw i8, ptr [[V]], i64 4 |
17 | 16 | ; CHECK-NEXT: [[DOTUNPACK_UNPACK8:%.*]] = load float, ptr [[DOTUNPACK_ELT7]], align 4 |
@@ -81,10 +80,9 @@ define void @prop_align(ptr noundef readonly captures(none) %v, ptr noundef writ |
81 | 80 | ; Test that alignment is not propagated from a source that does not dominate the destination |
82 | 81 | ; ------------------------------------------------------------------------------ |
83 | 82 |
|
84 | | -; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite) |
85 | | -define void @no_prop_align(ptr noundef readonly captures(none) %v, ptr noundef writeonly captures(none) initializes((0, 32)) %vout, i1 %cond) local_unnamed_addr #0 { |
| 83 | +define void @no_prop_align(ptr %v, ptr %vout, i1 %cond) { |
86 | 84 | ; CHECK-LABEL: define void @no_prop_align( |
87 | | -; CHECK-SAME: ptr noundef readonly captures(none) [[V:%.*]], ptr noundef writeonly captures(none) initializes((0, 32)) [[VOUT:%.*]], i1 [[COND:%.*]]) local_unnamed_addr { |
| 85 | +; CHECK-SAME: ptr [[V:%.*]], ptr [[VOUT:%.*]], i1 [[COND:%.*]]) { |
88 | 86 | ; CHECK-NEXT: br i1 [[COND]], label %[[BRANCH1:.*]], label %[[BRANCH2:.*]] |
89 | 87 | ; CHECK: [[BRANCH1]]: |
90 | 88 | ; CHECK-NEXT: [[DOTUNPACK_UNPACK:%.*]] = load float, ptr [[V]], align 16 |
|
0 commit comments