about summary refs log tree commit diff
diff options
context:
space:
mode:
authorantoyo <antoyo@users.noreply.github.com>2023-08-31 17:55:41 -0400
committerGitHub <noreply@github.com>2023-08-31 17:55:41 -0400
commitb6ccb55f561adc795b9e3b154244b8097a65ff30 (patch)
tree0a8dfe05ee3463f3ef34736472c1c1820d695d3f
parent4e41a8a632552de954c2487f238335521cc73185 (diff)
parent03bcfff8b37f465143fccdcab7f5576a015984af (diff)
downloadrust-b6ccb55f561adc795b9e3b154244b8097a65ff30.tar.gz
rust-b6ccb55f561adc795b9e3b154244b8097a65ff30.zip
Merge pull request #324 from GuillaumeGomez/no-alias-optimization
Only apply NoAlias attribute if optimization is enabled
-rw-r--r--src/abi.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/abi.rs b/src/abi.rs
index 874ac0b087e..9f6e2f7ff10 100644
--- a/src/abi.rs
+++ b/src/abi.rs
@@ -3,6 +3,7 @@ use rustc_codegen_ssa::traits::{AbiBuilderMethods, BaseTypeMethods};
 use rustc_data_structures::fx::FxHashSet;
 use rustc_middle::bug;
 use rustc_middle::ty::Ty;
+use rustc_session::config;
 use rustc_target::abi::call::{ArgAttributes, CastTarget, FnAbi, PassMode, Reg, RegKind};
 
 use crate::builder::Builder;
@@ -122,7 +123,8 @@ impl<'gcc, 'tcx> FnAbiGccExt<'gcc, 'tcx> for FnAbi<'tcx, Ty<'tcx>> {
 
         #[cfg(feature = "master")]
         let apply_attrs = |ty: Type<'gcc>, attrs: &ArgAttributes| {
-            if attrs.regular.contains(rustc_target::abi::call::ArgAttribute::NoAlias)
+            if cx.sess().opts.optimize != config::OptLevel::No
+                && attrs.regular.contains(rustc_target::abi::call::ArgAttribute::NoAlias)
             {
                 ty.make_restrict()
             } else {