33// may e.g. multiply `size_of::<T>()` with a variable "count" (which is only
44// known to be `1` after inlining).
55
6- // compile-flags: -C no-prepopulate-passes
6+ // compile-flags: -C no-prepopulate-passes -Zinline-mir=no
77
88#![ crate_type = "lib" ]
99
@@ -12,14 +12,12 @@ pub fn replace_byte(dst: &mut u8, src: u8) -> u8 {
1212}
1313
1414// NOTE(eddyb) the `CHECK-NOT`s ensure that the only calls of `@llvm.memcpy` in
15- // the entire output, are the two direct calls we want, from `ptr::{read,write} `.
15+ // the entire output, are the two direct calls we want, from `ptr::replace `.
1616
1717// CHECK-NOT: call void @llvm.memcpy
18- // CHECK: ; core::ptr::read
18+ // CHECK: ; core::mem::replace
1919// CHECK-NOT: call void @llvm.memcpy
20- // CHECK: call void @llvm.memcpy.{{.+}}({{i8\*|ptr}} align 1 %{{.*}}, {{i8\*|ptr}} align 1 %src , i{{.*}} 1, i1 false)
20+ // CHECK: call void @llvm.memcpy.{{.+}}({{i8\*|ptr}} align 1 %{{.*}}, {{i8\*|ptr}} align 1 %dest , i{{.*}} 1, i1 false)
2121// CHECK-NOT: call void @llvm.memcpy
22- // CHECK: ; core::ptr::write
23- // CHECK-NOT: call void @llvm.memcpy
24- // CHECK: call void @llvm.memcpy.{{.+}}({{i8\*|ptr}} align 1 %dst, {{i8\*|ptr}} align 1 %src, i{{.*}} 1, i1 false)
22+ // CHECK: call void @llvm.memcpy.{{.+}}({{i8\*|ptr}} align 1 %dest, {{i8\*|ptr}} align 1 %src{{.*}}, i{{.*}} 1, i1 false)
2523// CHECK-NOT: call void @llvm.memcpy
0 commit comments