about summary refs log tree commit diff
path: root/tests/codegen/ptr-read-metadata.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/codegen/ptr-read-metadata.rs')
-rw-r--r--tests/codegen/ptr-read-metadata.rs94
1 files changed, 0 insertions, 94 deletions
diff --git a/tests/codegen/ptr-read-metadata.rs b/tests/codegen/ptr-read-metadata.rs
deleted file mode 100644
index b38cfdbff88..00000000000
--- a/tests/codegen/ptr-read-metadata.rs
+++ /dev/null
@@ -1,94 +0,0 @@
-//@ compile-flags: -Copt-level=3 -Z merge-functions=disabled
-
-#![crate_type = "lib"]
-
-// Ensure that various forms of reading pointers correctly annotate the `load`s
-// with `!noundef` and `!range` metadata to enable extra optimization.
-
-use std::mem::MaybeUninit;
-
-// CHECK-LABEL: define {{(dso_local )?}}noundef i8 @copy_byte(
-#[no_mangle]
-pub unsafe fn copy_byte(p: *const u8) -> u8 {
-    // CHECK-NOT: load
-    // CHECK: load i8, ptr %p, align 1
-    // CHECK-SAME: !noundef !
-    // CHECK-NOT: load
-    *p
-}
-
-// CHECK-LABEL: define {{(dso_local )?}}noundef i8 @read_byte(
-#[no_mangle]
-pub unsafe fn read_byte(p: *const u8) -> u8 {
-    // CHECK-NOT: load
-    // CHECK: load i8, ptr %p, align 1
-    // CHECK-SAME: !noundef !
-    // CHECK-NOT: load
-    p.read()
-}
-
-// CHECK-LABEL: define {{(dso_local )?}}i8 @read_byte_maybe_uninit(
-#[no_mangle]
-pub unsafe fn read_byte_maybe_uninit(p: *const MaybeUninit<u8>) -> MaybeUninit<u8> {
-    // CHECK-NOT: load
-    // CHECK: load i8, ptr %p, align 1
-    // CHECK-NOT: noundef
-    // CHECK-NOT: load
-    p.read()
-}
-
-// CHECK-LABEL: define {{(dso_local )?}}noundef i8 @read_byte_assume_init(
-#[no_mangle]
-pub unsafe fn read_byte_assume_init(p: &MaybeUninit<u8>) -> u8 {
-    // CHECK-NOT: load
-    // CHECK: load i8, ptr %p, align 1
-    // CHECK-SAME: !noundef !
-    // CHECK-NOT: load
-    p.assume_init_read()
-}
-
-// CHECK-LABEL: define {{(dso_local )?}}noundef {{(range\(.*\) )?}}i32 @copy_char(
-#[no_mangle]
-pub unsafe fn copy_char(p: *const char) -> char {
-    // CHECK-NOT: load
-    // CHECK: load i32, ptr %p
-    // CHECK-SAME: !range ![[RANGE:[0-9]+]]
-    // CHECK-SAME: !noundef !
-    // CHECK-NOT: load
-    *p
-}
-
-// CHECK-LABEL: define {{(dso_local )?}}noundef {{(range\(.*\) )?}}i32 @read_char(
-#[no_mangle]
-pub unsafe fn read_char(p: *const char) -> char {
-    // CHECK-NOT: load
-    // CHECK: load i32, ptr %p
-    // CHECK-SAME: !range ![[RANGE]]
-    // CHECK-SAME: !noundef !
-    // CHECK-NOT: load
-    p.read()
-}
-
-// CHECK-LABEL: define {{(dso_local )?}}i32 @read_char_maybe_uninit(
-#[no_mangle]
-pub unsafe fn read_char_maybe_uninit(p: *const MaybeUninit<char>) -> MaybeUninit<char> {
-    // CHECK-NOT: load
-    // CHECK: load i32, ptr %p
-    // CHECK-NOT: range
-    // CHECK-NOT: noundef
-    // CHECK-NOT: load
-    p.read()
-}
-
-// CHECK-LABEL: define {{(dso_local )?}}noundef {{(range\(.*\) )?}}i32 @read_char_assume_init(
-#[no_mangle]
-pub unsafe fn read_char_assume_init(p: &MaybeUninit<char>) -> char {
-    // CHECK-NOT: load
-    // CHECK: load i32, ptr %p
-    // CHECK-SAME: !range ![[RANGE]]
-    // CHECK-SAME: !noundef !
-    // CHECK-NOT: load
-    p.assume_init_read()
-}
-
-// CHECK: ![[RANGE]] = !{i32 0, i32 1114112}