Skip to content

Commit 2c69f27

Browse files
committed
Restrict test to opaque pointers.
1 parent 6c95fa3 commit 2c69f27

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

tests/codegen/consts.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
// compile-flags: -C no-prepopulate-passes
2+
// min-llvm-version: 15.0 (for opaque pointers)
23

34
#![crate_type = "lib"]
45

@@ -42,14 +43,14 @@ pub fn inline_enum_const() -> E<i8, i16> {
4243
#[no_mangle]
4344
pub fn low_align_const() -> E<i16, [i16; 3]> {
4445
// Check that low_align_const and high_align_const use the same constant
45-
// CHECK: memcpy.{{.+}}({{i8\*|ptr}} align 2 %_0, {{i8\*|ptr}} align 2 {{.*}}[[LOW_HIGH]]{{.*}}, i{{(32|64)}} 8, i1 false)
46+
// CHECK: memcpy.{{.+}}(ptr align 2 %_0, ptr align 2 {{.*}}[[LOW_HIGH]]{{.*}}, i{{(32|64)}} 8, i1 false)
4647
*&E::A(0)
4748
}
4849

4950
// CHECK-LABEL: @high_align_const
5051
#[no_mangle]
5152
pub fn high_align_const() -> E<i16, i32> {
5253
// Check that low_align_const and high_align_const use the same constant
53-
// CHECK: memcpy.{{.+}}({{i8\*|ptr}} align 4 %_0, {{i8\*|ptr}} align 4 {{.*}}[[LOW_HIGH]]{{.*}}, i{{(32|64)}} 8, i1 false)
54+
// CHECK: memcpy.{{.+}}(ptr align 4 %_0, ptr align 4 {{.*}}[[LOW_HIGH]]{{.*}}, i{{(32|64)}} 8, i1 false)
5455
*&E::A(0)
5556
}

tests/codegen/uninit-consts.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
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]
2627
pub 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]
3435
pub 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]
4243
pub 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]
5051
pub 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

Comments
 (0)