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