11// compile-flags: -C no-prepopulate-passes
2+ // min-llvm-version: 15.0 (for opaque pointers)
23
34// Check that we use undef (and not zero) for uninitialized bytes in constants.
45
@@ -25,30 +26,30 @@ pub struct PartiallyUninit {
2526#[ no_mangle]
2627pub const fn fully_uninit ( ) -> MaybeUninit < [ u8 ; 10 ] > {
2728 const M : MaybeUninit < [ u8 ; 10 ] > = MaybeUninit :: uninit ( ) ;
28- // CHECK: call void @llvm.memcpy.{{.+}}({{i8\*| ptr}} align 1 %_0, {{i8\*| ptr}} align 1 {{.*}}[[FULLY_UNINIT]]{{.*}}, i{{(32|64)}} 10, i1 false)
29+ // CHECK: call void @llvm.memcpy.{{.+}}(ptr align 1 %_0, ptr align 1 {{.*}}[[FULLY_UNINIT]]{{.*}}, i{{(32|64)}} 10, i1 false)
2930 M
3031}
3132
3233// CHECK-LABEL: @partially_uninit
3334#[ no_mangle]
3435pub const fn partially_uninit ( ) -> PartiallyUninit {
3536 const X : PartiallyUninit = PartiallyUninit { x : 0xdeadbeef , y : MaybeUninit :: uninit ( ) } ;
36- // CHECK: call void @llvm.memcpy.{{.+}}({{i8\*| ptr}} align 4 %_0, {{i8\*| ptr}} align 4 {{.*}}[[PARTIALLY_UNINIT]]{{.*}}, i{{(32|64)}} 16, i1 false)
37+ // CHECK: call void @llvm.memcpy.{{.+}}(ptr align 4 %_0, ptr align 4 {{.*}}[[PARTIALLY_UNINIT]]{{.*}}, i{{(32|64)}} 16, i1 false)
3738 X
3839}
3940
4041// CHECK-LABEL: @uninit_padding_huge
4142#[ no_mangle]
4243pub const fn uninit_padding_huge ( ) -> [ ( u32 , u8 ) ; 4096 ] {
4344 const X : [ ( u32 , u8 ) ; 4096 ] = [ ( 123 , 45 ) ; 4096 ] ;
44- // CHECK: call void @llvm.memcpy.{{.+}}({{i8\*| ptr}} align 4 %_0, {{i8\*| ptr}} align 4 {{.*}}[[UNINIT_PADDING_HUGE]]{{.*}}, i{{(32|64)}} 32768, i1 false)
45+ // CHECK: call void @llvm.memcpy.{{.+}}(ptr align 4 %_0, ptr align 4 {{.*}}[[UNINIT_PADDING_HUGE]]{{.*}}, i{{(32|64)}} 32768, i1 false)
4546 X
4647}
4748
4849// CHECK-LABEL: @fully_uninit_huge
4950#[ no_mangle]
5051pub const fn fully_uninit_huge ( ) -> MaybeUninit < [ u32 ; 4096 ] > {
5152 const F : MaybeUninit < [ u32 ; 4096 ] > = MaybeUninit :: uninit ( ) ;
52- // CHECK: call void @llvm.memcpy.{{.+}}({{i8\*| ptr}} align 4 %_0, {{i8\*| ptr}} align 4 {{.*}}[[FULLY_UNINIT_HUGE]]{{.*}}, i{{(32|64)}} 16384, i1 false)
53+ // CHECK: call void @llvm.memcpy.{{.+}}(ptr align 4 %_0, ptr align 4 {{.*}}[[FULLY_UNINIT_HUGE]]{{.*}}, i{{(32|64)}} 16384, i1 false)
5354 F
5455}
0 commit comments