diff --git a/src/lib_rdi_make/rdi_make.h b/src/lib_rdi_make/rdi_make.h index 92664267..1aea0530 100644 --- a/src/lib_rdi_make/rdi_make.h +++ b/src/lib_rdi_make/rdi_make.h @@ -325,19 +325,21 @@ X(Types, types)\ X(UDTs, udts)\ X(LineInfo, line_info)\ X(InlineLineInfo, inline_line_info)\ -X(GlobalVariableNameMap, global_variable_name_map)\ -X(ThreadVariableNameMap, thread_variable_name_map)\ -X(ProcedureNameMap, procedure_name_map)\ -X(ConstantNameMap, constant_name_map)\ -X(TypeNameMap, type_name_map)\ -X(LinkNameProcedureNameMap, link_name_procedure_name_map)\ -X(NormalSourcePathNameMap, normal_source_path_name_map)\ +Y(GlobalVariableNameMap, global_variable_name_map)\ +Y(ThreadVariableNameMap, thread_variable_name_map)\ +Y(ProcedureNameMap, procedure_name_map)\ +Y(ConstantNameMap, constant_name_map)\ +Y(TypeNameMap, type_name_map)\ +Y(LinkNameProcedureNameMap, link_name_procedure_name_map)\ +Y(NormalSourcePathNameMap, normal_source_path_name_map)\ typedef enum RDIM_Subset { #define X(name, name_lower) RDIM_Subset_##name, +#define Y(name, name_lower) RDIM_Subset_##name, RDIM_Subset_XList #undef X +#undef Y } RDIM_Subset; @@ -345,8 +347,15 @@ typedef U32 RDIM_SubsetFlags; enum { #define X(name, name_lower) RDIM_SubsetFlag_##name = (1<string, str8_lit(#name_lower), 0)) { subset_flags |= RDIM_SubsetFlag_##name; } +#define Y(name, name_lower) X(name, name_lower) RDIM_Subset_XList #undef X +#undef Y } String8List omit_names = cmd_line_strings(cmdline, str8_lit("omit")); for(String8Node *n = omit_names.first; n != 0; n = n->next) { if(0){} #define X(name, name_lower) else if(str8_match(n->string, str8_lit(#name_lower), 0)) { subset_flags &= ~RDIM_SubsetFlag_##name; } +#define Y(name, name_lower) X(name, name_lower) RDIM_Subset_XList #undef X +#undef Y } }break; case OutputKind_Breakpad: diff --git a/src/rdi_make/rdi_make_local.c b/src/rdi_make/rdi_make_local.c index ff5cfe42..c9b307d8 100644 --- a/src/rdi_make/rdi_make_local.c +++ b/src/rdi_make/rdi_make_local.c @@ -1212,7 +1212,9 @@ rdim_bake(Arena *arena, RDIM_BakeParams *params) ////////////////////////////////////////////////////////////// //- rjf: @rdim_bake_stage build index runs // - ProfScope("build index runs") + B32 need_index_runs = (!!(params->subset_flags & RDIM_SubsetFlag_NameMaps) || + !!(params->subset_flags & RDIM_SubsetFlag_Types)); + if(need_index_runs) ProfScope("build index runs") { Temp scratch = scratch_begin(&arena, 1); @@ -1501,7 +1503,7 @@ rdim_bake(Arena *arena, RDIM_BakeParams *params) ////////////////////////////////////////////////////////////// //- rjf: @rdim_bake_stage bake idx runs // - ProfScope("bake idx runs") + if(need_index_runs) ProfScope("bake idx runs") { // rjf: set up if(lane_idx() == 0)