Skip to content

Commit 3a1ae06

Browse files
committed
Move timers into execute_*_work_item
1 parent f2933b3 commit 3a1ae06

File tree

1 file changed

+20
-27
lines changed
  • compiler/rustc_codegen_ssa/src/back

1 file changed

+20
-27
lines changed

compiler/rustc_codegen_ssa/src/back/write.rs

Lines changed: 20 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -830,6 +830,8 @@ fn execute_optimize_work_item<B: ExtraBackendMethods>(
830830
cgcx: &CodegenContext<B>,
831831
mut module: ModuleCodegen<B::Module>,
832832
) -> WorkItemResult<B> {
833+
let _timer = cgcx.prof.generic_activity_with_arg("codegen_module_optimize", &*module.name);
834+
833835
let dcx = cgcx.create_dcx();
834836
let dcx = dcx.handle();
835837

@@ -890,6 +892,10 @@ fn execute_copy_from_cache_work_item<B: ExtraBackendMethods>(
890892
cgcx: &CodegenContext<B>,
891893
module: CachedModuleCodegen,
892894
) -> WorkItemResult<B> {
895+
let _timer = cgcx
896+
.prof
897+
.generic_activity_with_arg("codegen_copy_artifacts_from_incr_cache", &*module.name);
898+
893899
let incr_comp_session_dir = cgcx.incr_comp_session_dir.as_ref().unwrap();
894900

895901
let mut links_from_incr_cache = Vec::new();
@@ -977,6 +983,8 @@ fn execute_fat_lto_work_item<B: ExtraBackendMethods>(
977983
mut needs_fat_lto: Vec<FatLtoInput<B>>,
978984
import_only_modules: Vec<(SerializedModule<B::ModuleBuffer>, WorkProduct)>,
979985
) -> WorkItemResult<B> {
986+
let _timer = cgcx.prof.generic_activity_with_arg("codegen_module_perform_lto", "everything");
987+
980988
for (module, wp) in import_only_modules {
981989
needs_fat_lto.push(FatLtoInput::Serialized { name: wp.cgu_name, buffer: module })
982990
}
@@ -995,6 +1003,8 @@ fn execute_thin_lto_work_item<B: ExtraBackendMethods>(
9951003
cgcx: &CodegenContext<B>,
9961004
module: lto::ThinModule<B>,
9971005
) -> WorkItemResult<B> {
1006+
let _timer = cgcx.prof.generic_activity_with_arg("codegen_module_perform_lto", module.name());
1007+
9981008
let module = B::optimize_thin(cgcx, module);
9991009
let module = B::codegen(cgcx, module, &cgcx.module_config);
10001010
WorkItemResult::Finished(module)
@@ -1714,38 +1724,21 @@ fn spawn_work<'a, B: ExtraBackendMethods>(
17141724

17151725
B::spawn_named_thread(cgcx.time_trace, work.short_description(), move || {
17161726
let result = std::panic::catch_unwind(AssertUnwindSafe(|| match work {
1717-
WorkItem::Optimize(m) => {
1718-
let _timer =
1719-
cgcx.prof.generic_activity_with_arg("codegen_module_optimize", &*m.name);
1720-
execute_optimize_work_item(&cgcx, m)
1721-
}
1722-
WorkItem::CopyPostLtoArtifacts(m) => {
1723-
let _timer = cgcx
1724-
.prof
1725-
.generic_activity_with_arg("codegen_copy_artifacts_from_incr_cache", &*m.name);
1726-
execute_copy_from_cache_work_item(&cgcx, m)
1727-
}
1727+
WorkItem::Optimize(m) => execute_optimize_work_item(&cgcx, m),
1728+
WorkItem::CopyPostLtoArtifacts(m) => execute_copy_from_cache_work_item(&cgcx, m),
17281729
WorkItem::FatLto {
17291730
exported_symbols_for_lto,
17301731
each_linked_rlib_for_lto,
17311732
needs_fat_lto,
17321733
import_only_modules,
1733-
} => {
1734-
let _timer =
1735-
cgcx.prof.generic_activity_with_arg("codegen_module_perform_lto", "everything");
1736-
execute_fat_lto_work_item(
1737-
&cgcx,
1738-
&exported_symbols_for_lto,
1739-
&each_linked_rlib_for_lto,
1740-
needs_fat_lto,
1741-
import_only_modules,
1742-
)
1743-
}
1744-
WorkItem::ThinLto(m) => {
1745-
let _timer =
1746-
cgcx.prof.generic_activity_with_arg("codegen_module_perform_lto", m.name());
1747-
execute_thin_lto_work_item(&cgcx, m)
1748-
}
1734+
} => execute_fat_lto_work_item(
1735+
&cgcx,
1736+
&exported_symbols_for_lto,
1737+
&each_linked_rlib_for_lto,
1738+
needs_fat_lto,
1739+
import_only_modules,
1740+
),
1741+
WorkItem::ThinLto(m) => execute_thin_lto_work_item(&cgcx, m),
17491742
}));
17501743

17511744
let msg = match result {

0 commit comments

Comments
 (0)