@@ -822,6 +822,8 @@ fn execute_optimize_work_item<B: ExtraBackendMethods>(
822822    cgcx :  & CodegenContext < B > , 
823823    mut  module :  ModuleCodegen < B :: Module > , 
824824)  -> WorkItemResult < B >  { 
825+     let  _timer = cgcx. prof . generic_activity_with_arg ( "codegen_module_optimize" ,  & * module. name ) ; 
826+ 
825827    let  dcx = cgcx. create_dcx ( ) ; 
826828    let  dcx = dcx. handle ( ) ; 
827829
@@ -877,6 +879,10 @@ fn execute_copy_from_cache_work_item<B: ExtraBackendMethods>(
877879    cgcx :  & CodegenContext < B > , 
878880    module :  CachedModuleCodegen , 
879881)  -> WorkItemResult < B >  { 
882+     let  _timer = cgcx
883+         . prof 
884+         . generic_activity_with_arg ( "codegen_copy_artifacts_from_incr_cache" ,  & * module. name ) ; 
885+ 
880886    let  incr_comp_session_dir = cgcx. incr_comp_session_dir . as_ref ( ) . unwrap ( ) ; 
881887
882888    let  mut  links_from_incr_cache = Vec :: new ( ) ; 
@@ -963,6 +969,8 @@ fn execute_fat_lto_work_item<B: ExtraBackendMethods>(
963969    mut  needs_fat_lto :  Vec < FatLtoInput < B > > , 
964970    import_only_modules :  Vec < ( SerializedModule < B :: ModuleBuffer > ,  WorkProduct ) > , 
965971)  -> WorkItemResult < B >  { 
972+     let  _timer = cgcx. prof . generic_activity_with_arg ( "codegen_module_perform_lto" ,  "everything" ) ; 
973+ 
966974    for  ( module,  wp)  in  import_only_modules { 
967975        needs_fat_lto. push ( FatLtoInput :: Serialized  {  name :  wp. cgu_name ,  buffer :  module } ) 
968976    } 
@@ -981,6 +989,8 @@ fn execute_thin_lto_work_item<B: ExtraBackendMethods>(
981989    cgcx :  & CodegenContext < B > , 
982990    module :  lto:: ThinModule < B > , 
983991)  -> WorkItemResult < B >  { 
992+     let  _timer = cgcx. prof . generic_activity_with_arg ( "codegen_module_perform_lto" ,  module. name ( ) ) ; 
993+ 
984994    let  module = B :: optimize_thin ( cgcx,  module) ; 
985995    let  module = B :: codegen ( cgcx,  module,  & cgcx. module_config ) ; 
986996    WorkItemResult :: Finished ( module) 
@@ -1693,38 +1703,21 @@ fn spawn_work<'a, B: ExtraBackendMethods>(
16931703
16941704    B :: spawn_named_thread ( cgcx. time_trace ,  work. short_description ( ) ,  move  || { 
16951705        let  result = std:: panic:: catch_unwind ( AssertUnwindSafe ( || match  work { 
1696-             WorkItem :: Optimize ( m)  => { 
1697-                 let  _timer =
1698-                     cgcx. prof . generic_activity_with_arg ( "codegen_module_optimize" ,  & * m. name ) ; 
1699-                 execute_optimize_work_item ( & cgcx,  m) 
1700-             } 
1701-             WorkItem :: CopyPostLtoArtifacts ( m)  => { 
1702-                 let  _timer = cgcx
1703-                     . prof 
1704-                     . generic_activity_with_arg ( "codegen_copy_artifacts_from_incr_cache" ,  & * m. name ) ; 
1705-                 execute_copy_from_cache_work_item ( & cgcx,  m) 
1706-             } 
1706+             WorkItem :: Optimize ( m)  => execute_optimize_work_item ( & cgcx,  m) , 
1707+             WorkItem :: CopyPostLtoArtifacts ( m)  => execute_copy_from_cache_work_item ( & cgcx,  m) , 
17071708            WorkItem :: FatLto  { 
17081709                exported_symbols_for_lto, 
17091710                each_linked_rlib_for_lto, 
17101711                needs_fat_lto, 
17111712                import_only_modules, 
1712-             }  => { 
1713-                 let  _timer =
1714-                     cgcx. prof . generic_activity_with_arg ( "codegen_module_perform_lto" ,  "everything" ) ; 
1715-                 execute_fat_lto_work_item ( 
1716-                     & cgcx, 
1717-                     & exported_symbols_for_lto, 
1718-                     & each_linked_rlib_for_lto, 
1719-                     needs_fat_lto, 
1720-                     import_only_modules, 
1721-                 ) 
1722-             } 
1723-             WorkItem :: ThinLto ( m)  => { 
1724-                 let  _timer =
1725-                     cgcx. prof . generic_activity_with_arg ( "codegen_module_perform_lto" ,  m. name ( ) ) ; 
1726-                 execute_thin_lto_work_item ( & cgcx,  m) 
1727-             } 
1713+             }  => execute_fat_lto_work_item ( 
1714+                 & cgcx, 
1715+                 & exported_symbols_for_lto, 
1716+                 & each_linked_rlib_for_lto, 
1717+                 needs_fat_lto, 
1718+                 import_only_modules, 
1719+             ) , 
1720+             WorkItem :: ThinLto ( m)  => execute_thin_lto_work_item ( & cgcx,  m) , 
17281721        } ) ) ; 
17291722
17301723        let  msg = match  result { 
0 commit comments