tests: accept llvm intrinsic in align-checking test

This changed in upstream change https://reviews.llvm.org/D98152 (aka
a266af7211)
wherein LLVM got smarter about using intrinsics. As best I can tell the
change I've made here preserves the intent of the test on LLVM 14 and
before while also passing on LLVM 15 and later.
This commit is contained in:
Augie Fackler 2022-03-01 15:28:50 -05:00
parent f0c4da4998
commit 26c5d2155e

View File

@ -24,6 +24,7 @@ pub fn eliminates_runtime_check_when_align_1(
x: &Struct<WrapperWithAlign1<dyn Trait>>
) -> &WrapperWithAlign1<dyn Trait> {
// CHECK: load [[USIZE:i[0-9]+]], {{.+}} !range [[RANGE_META:![0-9]+]]
// CHECK-NOT: tail call i64 @llvm.umax.i64
// CHECK-NOT: icmp
// CHECK-NOT: select
// CHECK: ret
@ -36,8 +37,7 @@ pub fn does_not_eliminate_runtime_check_when_align_2(
x: &Struct<WrapperWithAlign2<dyn Trait>>
) -> &WrapperWithAlign2<dyn Trait> {
// CHECK: [[X0:%[0-9]+]] = load [[USIZE]], {{.+}} !range [[RANGE_META]]
// CHECK: [[X1:%[0-9]+]] = icmp {{.+}} [[X0]]
// CHECK: [[X2:%[0-9]+]] = select {{.+}} [[X1]]
// CHECK: {{icmp|llvm.umax.i64}}
// CHECK: ret
&x.dst
}