diff options
| author | bors <bors@rust-lang.org> | 2024-03-26 06:46:43 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2024-03-26 06:46:43 +0000 |
| commit | 73476d49904751f8d90ce904e16dfbc278083d2c (patch) | |
| tree | 702c856462f970f2167d6290889238c1b3a0e227 /compiler/rustc_codegen_llvm/src/builder.rs | |
| parent | 8b9e47c136aeee998effdcae356e134b8de65891 (diff) | |
| parent | b500693ad7dcc6e8651217f2f5c1d2f5899c3cff (diff) | |
| download | rust-73476d49904751f8d90ce904e16dfbc278083d2c.tar.gz rust-73476d49904751f8d90ce904e16dfbc278083d2c.zip | |
Auto merge of #122849 - clubby789:no-metadata, r=petrochenkov
Don't emit load metadata in debug mode r? `@ghost`
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/builder.rs')
| -rw-r--r-- | compiler/rustc_codegen_llvm/src/builder.rs | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/compiler/rustc_codegen_llvm/src/builder.rs b/compiler/rustc_codegen_llvm/src/builder.rs index 8724752ce24..1a32958d362 100644 --- a/compiler/rustc_codegen_llvm/src/builder.rs +++ b/compiler/rustc_codegen_llvm/src/builder.rs @@ -20,6 +20,7 @@ use rustc_middle::ty::layout::{ FnAbiError, FnAbiOfHelpers, FnAbiRequest, LayoutError, LayoutOfHelpers, TyAndLayout, }; use rustc_middle::ty::{self, Instance, Ty, TyCtxt}; +use rustc_session::config::OptLevel; use rustc_span::Span; use rustc_symbol_mangling::typeid::{ kcfi_typeid_for_fnabi, kcfi_typeid_for_instance, typeid_for_fnabi, typeid_for_instance, @@ -551,6 +552,11 @@ impl<'a, 'll, 'tcx> BuilderMethods<'a, 'tcx> for Builder<'a, 'll, 'tcx> { layout: TyAndLayout<'tcx>, offset: Size, ) { + if bx.cx.sess().opts.optimize == OptLevel::No { + // Don't emit metadata we're not going to use + return; + } + if !scalar.is_uninit_valid() { bx.noundef_metadata(load); } @@ -667,6 +673,11 @@ impl<'a, 'll, 'tcx> BuilderMethods<'a, 'tcx> for Builder<'a, 'll, 'tcx> { return; } + if self.cx.sess().opts.optimize == OptLevel::No { + // Don't emit metadata we're not going to use + return; + } + unsafe { let llty = self.cx.val_ty(load); let v = [ |
