3
3
// may e.g. multiply `size_of::<T>()` with a variable "count" (which is only
4
4
// known to be `1` after inlining).
5
5
6
- // compile-flags: -C no-prepopulate-passes
6
+ // compile-flags: -C no-prepopulate-passes -Zinline-mir=no
7
7
8
8
#![ crate_type = "lib" ]
9
9
@@ -12,14 +12,12 @@ pub fn replace_byte(dst: &mut u8, src: u8) -> u8 {
12
12
}
13
13
14
14
// 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 `.
16
16
17
17
// CHECK-NOT: call void @llvm.memcpy
18
- // CHECK: ; core::ptr::read
18
+ // CHECK: ; core::mem::replace
19
19
// 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)
21
21
// 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)
25
23
// CHECK-NOT: call void @llvm.memcpy
0 commit comments