Only apply NoAlias attribute if optimization is enabled

This commit is contained in:
Guillaume Gomez
2023-08-31 21:19:36 +02:00
parent 4e41a8a632
commit 03bcfff8b3
+3 -1
View File
@@ -3,6 +3,7 @@
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 @@ fn gcc_type(&self, cx: &CodegenCx<'gcc, 'tcx>) -> (Type<'gcc>, Vec<Type<'gcc>>,
#[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 {