about summary refs log tree commit diff
diff options
context:
space:
mode:
authorNilstrieb <48135649+Nilstrieb@users.noreply.github.com>2022-12-30 21:11:17 +0100
committernils <48135649+Nilstrieb@users.noreply.github.com>2023-01-17 08:14:35 +0100
commitaf23ad93cd3309e90ccb2c49b7a7b2ac913e0d06 (patch)
tree4061af827e64c9f2369b594f6cadb9691f9f0db5
parent645c0fddd2e0446cc0e6eecd8a78de4b5ab5a967 (diff)
downloadrust-af23ad93cd3309e90ccb2c49b7a7b2ac913e0d06.tar.gz
rust-af23ad93cd3309e90ccb2c49b7a7b2ac913e0d06.zip
Improve comments
-rw-r--r--compiler/rustc_ty_utils/src/abi.rs6
-rw-r--r--tests/codegen/loads.rs2
2 files changed, 1 insertions, 7 deletions
diff --git a/compiler/rustc_ty_utils/src/abi.rs b/compiler/rustc_ty_utils/src/abi.rs
index ce50b6fb43f..669f84ae1b4 100644
--- a/compiler/rustc_ty_utils/src/abi.rs
+++ b/compiler/rustc_ty_utils/src/abi.rs
@@ -219,7 +219,6 @@ fn adjust_for_rust_scalar<'tcx>(
         return;
     }
 
-    // Scalars which have invalid values cannot be undef.
     if !scalar.is_uninit_valid() {
         attrs.set(ArgAttribute::NoUndef);
     }
@@ -246,11 +245,6 @@ fn adjust_for_rust_scalar<'tcx>(
                 PointerKind::SharedMutable | PointerKind::UniqueOwned => Size::ZERO,
             };
 
-            // `Box`, `&T`, and `&mut T` cannot be undef.
-            // Note that this only applies to the value of the pointer itself;
-            // this attribute doesn't make it UB for the pointed-to data to be undef.
-            attrs.set(ArgAttribute::NoUndef);
-
             // The aliasing rules for `Box<T>` are still not decided, but currently we emit
             // `noalias` for it. This can be turned off using an unstable flag.
             // See https://github.com/rust-lang/unsafe-code-guidelines/issues/326
diff --git a/tests/codegen/loads.rs b/tests/codegen/loads.rs
index c9728197092..7c3bf07cc81 100644
--- a/tests/codegen/loads.rs
+++ b/tests/codegen/loads.rs
@@ -50,7 +50,7 @@ pub fn load_scalar_pair<'a>(x: &(&'a i32, &'a Align16)) -> (&'a i32, &'a Align16
 // CHECK-LABEL: @load_raw_pointer
 #[no_mangle]
 pub fn load_raw_pointer<'a>(x: &*const i32) -> *const i32 {
-    // loaded raw pointer should not have !nonnull, !align, or !noundef metadata
+    // loaded raw pointer should not have !nonnull or !align metadata
     // CHECK: load {{i32\*|ptr}}, {{i32\*\*|ptr}} %x, align [[PTR_ALIGNMENT]], !noundef !2{{$}}
     *x
 }