async-llvm(12): Hide no_integrated_as logic in write::run_passes.
This commit is contained in:
parent
f3ce50558f
commit
397b2a800f
2 changed files with 22 additions and 40 deletions
|
@ -665,7 +665,6 @@ pub fn run_passes(sess: &Session,
|
|||
modules: Vec<ModuleTranslation>,
|
||||
metadata_module: ModuleTranslation,
|
||||
allocator_module: Option<ModuleTranslation>,
|
||||
output_types_override: &OutputTypes,
|
||||
crate_output: &OutputFilenames,
|
||||
|
||||
crate_name: Symbol,
|
||||
|
@ -690,6 +689,12 @@ pub fn run_passes(sess: &Session,
|
|||
sess.fatal("can't perform LTO when using multiple codegen units");
|
||||
}
|
||||
|
||||
let output_types_override = if no_integrated_as {
|
||||
OutputTypes::new(&[(OutputType::Assembly, None)])
|
||||
} else {
|
||||
sess.opts.output_types.clone()
|
||||
};
|
||||
|
||||
// Sanity check
|
||||
assert!(modules.len() == sess.opts.cg.codegen_units ||
|
||||
sess.opts.debugging_opts.incremental.is_some() ||
|
||||
|
|
|
@ -44,7 +44,7 @@ use rustc::dep_graph::AssertDepGraphSafe;
|
|||
use rustc::middle::cstore::LinkMeta;
|
||||
use rustc::hir::map as hir_map;
|
||||
use rustc::util::common::time;
|
||||
use rustc::session::config::{self, NoDebugInfo, OutputFilenames, OutputType, OutputTypes};
|
||||
use rustc::session::config::{self, NoDebugInfo, OutputFilenames, OutputType};
|
||||
use rustc::session::Session;
|
||||
use rustc_incremental::{self, IncrementalHashesMap};
|
||||
use abi;
|
||||
|
@ -967,7 +967,6 @@ pub fn trans_crate<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>,
|
|||
vec![],
|
||||
metadata_module,
|
||||
None,
|
||||
&output_filenames.outputs,
|
||||
output_filenames,
|
||||
|
||||
tcx.crate_name(LOCAL_CRATE),
|
||||
|
@ -1237,44 +1236,22 @@ pub fn trans_crate<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>,
|
|||
link_meta.crate_hash));
|
||||
// ---
|
||||
|
||||
if no_integrated_as {
|
||||
let output_types = OutputTypes::new(&[(OutputType::Assembly, None)]);
|
||||
time(sess.time_passes(),
|
||||
"LLVM passes",
|
||||
|| write::run_passes(sess,
|
||||
modules,
|
||||
metadata_module,
|
||||
allocator_module,
|
||||
&output_types,
|
||||
outputs,
|
||||
time(sess.time_passes(),
|
||||
"LLVM passes",
|
||||
|| write::run_passes(sess,
|
||||
modules,
|
||||
metadata_module,
|
||||
allocator_module,
|
||||
outputs,
|
||||
|
||||
tcx.crate_name(LOCAL_CRATE),
|
||||
link_meta,
|
||||
metadata,
|
||||
exported_symbols,
|
||||
no_builtins,
|
||||
windows_subsystem,
|
||||
linker_info,
|
||||
no_integrated_as))
|
||||
} else {
|
||||
time(sess.time_passes(),
|
||||
"LLVM passes",
|
||||
|| write::run_passes(sess,
|
||||
modules,
|
||||
metadata_module,
|
||||
allocator_module,
|
||||
&sess.opts.output_types,
|
||||
outputs,
|
||||
|
||||
tcx.crate_name(LOCAL_CRATE),
|
||||
link_meta,
|
||||
metadata,
|
||||
exported_symbols,
|
||||
no_builtins,
|
||||
windows_subsystem,
|
||||
linker_info,
|
||||
no_integrated_as))
|
||||
}
|
||||
tcx.crate_name(LOCAL_CRATE),
|
||||
link_meta,
|
||||
metadata,
|
||||
exported_symbols,
|
||||
no_builtins,
|
||||
windows_subsystem,
|
||||
linker_info,
|
||||
no_integrated_as))
|
||||
}
|
||||
|
||||
#[inline(never)] // give this a place in the profiler
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue