about summary refs log tree commit diff
path: root/src/librustc_driver
diff options
context:
space:
mode:
authorAriel Ben-Yehuda <arielb1@mail.tau.ac.il>2017-04-20 15:08:41 +0300
committerAriel Ben-Yehuda <ariel.byd@gmail.com>2017-04-22 21:00:50 +0300
commitece6c8434bc4eba1d3addfa4d5900264e55395fc (patch)
tree5fe4185c3ba908c2eb5c9660111eb18f9d4918f1 /src/librustc_driver
parentacd0e40b86d718d339b13f594242575c28e966f7 (diff)
downloadrust-ece6c8434bc4eba1d3addfa4d5900264e55395fc.tar.gz
rust-ece6c8434bc4eba1d3addfa4d5900264e55395fc.zip
cache attributes of items from foreign crates
this avoids parsing item attributes on each call to `item_attrs`, which takes
off 33% (!) of translation time and 50% (!) of trans-item collection time.
Diffstat (limited to 'src/librustc_driver')
-rw-r--r--src/librustc_driver/driver.rs2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/librustc_driver/driver.rs b/src/librustc_driver/driver.rs
index ac4e2bd5c10..438f482fa55 100644
--- a/src/librustc_driver/driver.rs
+++ b/src/librustc_driver/driver.rs
@@ -225,6 +225,8 @@ pub fn compile_input(sess: &Session,
         sess.code_stats.borrow().print_type_sizes();
     }
 
+    if ::std::env::var("SKIP_LLVM").is_ok() { ::std::process::exit(0); }
+
     let phase5_result = phase_5_run_llvm_passes(sess, &trans, &outputs);
 
     controller_entry_point!(after_llvm,