@@ -21,7 +21,7 @@ use rustc_builtin_macros;
2121use rustc_codegen_ssa:: back:: link:: emit_metadata;
2222use rustc_codegen_utils:: codegen_backend:: CodegenBackend ;
2323use rustc_codegen_utils:: link:: filename_for_metadata;
24- use rustc_data_structures:: sync:: { par_for_each, Lrc , Once , WorkerLocal } ;
24+ use rustc_data_structures:: sync:: { join , par_for_each, Lrc , Once , WorkerLocal } ;
2525use rustc_data_structures:: { box_region_allow_access, declare_box_region_type, parallel} ;
2626use rustc_errors:: PResult ;
2727use rustc_expand:: base:: ExtCtxt ;
@@ -721,10 +721,13 @@ pub fn create_global_ctxt<'tcx>(
721721 let sess = & compiler. session ( ) ;
722722 let defs = mem:: take ( & mut resolver_outputs. definitions ) ;
723723
724- // Construct the HIR map.
725- let hir_map = map:: map_crate ( sess, & * resolver_outputs. cstore , & hir_forest, defs) ;
726-
727- let query_result_on_disk_cache = rustc_incremental:: load_query_result_cache ( sess) ;
724+ let ( query_result_on_disk_cache, hir_map) = join (
725+ || rustc_incremental:: load_query_result_cache ( sess) ,
726+ || {
727+ // Construct the HIR map.
728+ map:: map_crate ( sess, & * resolver_outputs. cstore , & hir_forest, defs)
729+ } ,
730+ ) ;
728731
729732 let codegen_backend = compiler. codegen_backend ( ) ;
730733 let mut local_providers = ty:: query:: Providers :: default ( ) ;
0 commit comments