1
Fork 0

Rollup merge of #94496 - durin42:llvm-15-moar-intrinsic, r=nikic

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:
Matthias Krüger 2022-03-02 04:30:10 +01:00 committed by GitHub
commit aabd068f18
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

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: llvm.umax
// 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}}
// CHECK: ret
&x.dst
}