diff options
| author | bjorn3 <bjorn3@users.noreply.github.com> | 2017-09-23 15:00:49 +0200 |
|---|---|---|
| committer | bjorn3 <bjorn3@users.noreply.github.com> | 2017-09-23 15:00:49 +0200 |
| commit | 43bfd4cd545348836f0739dcfa2d47dcc3569d96 (patch) | |
| tree | c8004f934a081c53e6ec0edd705d4d6653bd18ea /src | |
| parent | e130ccc54e4a25a81c6e3492e6611c5f3ae90e09 (diff) | |
Fix some nits
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc_driver/driver.rs | 32 | ||||
| -rw-r--r-- | src/librustc_trans_utils/trans_crate.rs | 1 |
2 files changed, 13 insertions, 20 deletions
diff --git a/src/librustc_driver/driver.rs b/src/librustc_driver/driver.rs index ba54301d835..06c3dae68e3 100644 --- a/src/librustc_driver/driver.rs +++ b/src/librustc_driver/driver.rs @@ -275,7 +275,11 @@ pub fn compile_input(sess: &Session, phase5_result); phase5_result?; - phase_6_link_output::<DefaultTransCrate>(sess, &trans, &outputs); + // Run the linker on any artifacts that resulted from the LLVM run. + // This should produce either a finished executable or library. + time(sess.time_passes(), "linking", || { + DefaultTransCrate::link_binary(sess, &trans, &outputs) + }); // Now that we won't touch anything in the incremental compilation directory // any more, we can finalize it (which involves renaming it) @@ -1112,9 +1116,9 @@ pub fn phase_3_run_analysis_passes<'tcx, F, R>(sess: &'tcx Session, /// Run the translation phase to LLVM, after which the AST and analysis can /// be discarded. -pub fn phase_4_translate_to_llvm<'a, 'tcx, T: TransCrate>(tcx: TyCtxt<'a, 'tcx, 'tcx>, +pub fn phase_4_translate_to_llvm<'a, 'tcx, Trans: TransCrate>(tcx: TyCtxt<'a, 'tcx, 'tcx>, rx: mpsc::Receiver<Box<Any + Send>>) - -> <T as TransCrate>::OngoingCrateTranslation { + -> <Trans as TransCrate>::OngoingCrateTranslation { let time_passes = tcx.sess.time_passes(); time(time_passes, @@ -1123,7 +1127,7 @@ pub fn phase_4_translate_to_llvm<'a, 'tcx, T: TransCrate>(tcx: TyCtxt<'a, 'tcx, let translation = time(time_passes, "translation", move || { - T::trans_crate(tcx, rx) + Trans::trans_crate(tcx, rx) }); if tcx.sess.profile_queries() { profile::dump("profile_queries".to_string()) @@ -1134,14 +1138,14 @@ pub fn phase_4_translate_to_llvm<'a, 'tcx, T: TransCrate>(tcx: TyCtxt<'a, 'tcx, /// Run LLVM itself, producing a bitcode file, assembly file or object file /// as a side effect. -pub fn phase_5_run_llvm_passes<T: TransCrate>(sess: &Session, +pub fn phase_5_run_llvm_passes<Trans: TransCrate>(sess: &Session, dep_graph: &DepGraph, - trans: <T as TransCrate>::OngoingCrateTranslation) - -> (CompileResult, <T as TransCrate>::TranslatedCrate) { - let trans = T::join_trans(trans, sess, dep_graph); + trans: <Trans as TransCrate>::OngoingCrateTranslation) + -> (CompileResult, <Trans as TransCrate>::TranslatedCrate) { + let trans = Trans::join_trans(trans, sess, dep_graph); if sess.opts.debugging_opts.incremental_info { - T::dump_incremental_data(&trans); + Trans::dump_incremental_data(&trans); } time(sess.time_passes(), @@ -1151,16 +1155,6 @@ pub fn phase_5_run_llvm_passes<T: TransCrate>(sess: &Session, (sess.compile_status(), trans) } -/// Run the linker on any artifacts that resulted from the LLVM run. -/// This should produce either a finished executable or library. -pub fn phase_6_link_output<T: TransCrate>(sess: &Session, - trans: &<T as TransCrate>::TranslatedCrate, - outputs: &OutputFilenames) { - time(sess.time_passes(), "linking", || { - T::link_binary(sess, trans, outputs) - }); -} - fn escape_dep_filename(filename: &str) -> String { // Apparently clang and gcc *only* escape spaces: // http://llvm.org/klaus/clang/commit/9d50634cfc268ecc9a7250226dd5ca0e945240d4 diff --git a/src/librustc_trans_utils/trans_crate.rs b/src/librustc_trans_utils/trans_crate.rs index d8f87ee834c..1a03d95ebaa 100644 --- a/src/librustc_trans_utils/trans_crate.rs +++ b/src/librustc_trans_utils/trans_crate.rs @@ -153,7 +153,6 @@ impl MetadataLoaderTrait for NoLlvmMetadataLoader { } } -#[allow(dead_code)] pub struct MetadataOnlyTransCrate; pub struct OngoingCrateTranslation { metadata: EncodedMetadata, |
