From fdfd7f53ba8f363c31a1cbb5310f92ecfc52cbfe Mon Sep 17 00:00:00 2001 From: Martin Liska Date: Thu, 9 Jan 2020 12:29:23 +0100 Subject: Add Optimization for various IPA parameters. 2020-01-09 Martin Liska * auto-profile.c (auto_profile): Use opt_for_fn for a parameter. * ipa-cp.c (ipcp_lattice::add_value): Likewise. (propagate_vals_across_arith_jfunc): Likewise. (hint_time_bonus): Likewise. (incorporate_penalties): Likewise. (good_cloning_opportunity_p): Likewise. (perform_estimation_of_a_value): Likewise. (estimate_local_effects): Likewise. (ipcp_propagate_stage): Likewise. * ipa-fnsummary.c (decompose_param_expr): Likewise. (set_switch_stmt_execution_predicate): Likewise. (analyze_function_body): Likewise. * ipa-inline-analysis.c (offline_size): Likewise. * ipa-inline.c (early_inliner): Likewise. * ipa-prop.c (ipa_analyze_node): Likewise. (ipcp_transform_function): Likewise. * ipa-sra.c (process_scan_results): Likewise. (ipa_sra_summarize_function): Likewise. * params.opt: Rename ipcp-unit-growth to ipa-cp-unit-growth. Add Optimization for various IPA-related parameters. From-SVN: r280040 --- gcc/params.opt | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) (limited to 'gcc/params.opt') diff --git a/gcc/params.opt b/gcc/params.opt index 5d39244..094e04a 100644 --- a/gcc/params.opt +++ b/gcc/params.opt @@ -83,7 +83,7 @@ Common Joined UInteger Var(param_case_values_threshold) Param Optimization The smallest number of different values for which it is best to use a jump-table instead of a tree of conditional branches, if 0, use the default for the machine. -param=comdat-sharing-probability= -Common Joined UInteger Var(param_comdat_sharing_probability) Init(20) Param +Common Joined UInteger Var(param_comdat_sharing_probability) Init(20) Param Optimization Probability that COMDAT function will be shared with different compilation unit. -param=cxx-max-namespaces-for-diagnostic-help= @@ -191,35 +191,39 @@ Common Joined UInteger Var(param_integer_share_limit) Init(251) IntegerRange(2, The upper bound for sharing integer constants. -param=ipa-cp-eval-threshold= -Common Joined UInteger Var(param_ipa_cp_eval_threshold) Init(500) Param +Common Joined UInteger Var(param_ipa_cp_eval_threshold) Init(500) Param Optimization Threshold ipa-cp opportunity evaluation that is still considered beneficial to clone. -param=ipa-cp-loop-hint-bonus= -Common Joined UInteger Var(param_ipa_cp_loop_hint_bonus) Init(64) Param +Common Joined UInteger Var(param_ipa_cp_loop_hint_bonus) Init(64) Param Optimization Compile-time bonus IPA-CP assigns to candidates which make loop bounds or strides known. -param=ipa-cp-max-recursive-depth= -Common Joined UInteger Var(param_ipa_cp_max_recursive_depth) Init(8) Param +Common Joined UInteger Var(param_ipa_cp_max_recursive_depth) Init(8) Param Optimization Maximum depth of recursive cloning for self-recursive function. -param=ipa-cp-min-recursive-probability= -Common Joined UInteger Var(param_ipa_cp_min_recursive_probability) Init(2) Param +Common Joined UInteger Var(param_ipa_cp_min_recursive_probability) Init(2) Param Optimization Recursive cloning only when the probability of call being executed exceeds the parameter. -param=ipa-cp-recursion-penalty= -Common Joined UInteger Var(param_ipa_cp_recursion_penalty) Init(40) IntegerRange(0, 100) Param +Common Joined UInteger Var(param_ipa_cp_recursion_penalty) Init(40) IntegerRange(0, 100) Param Optimization Percentage penalty the recursive functions will receive when they are evaluated for cloning. -param=ipa-cp-single-call-penalty= -Common Joined UInteger Var(param_ipa_cp_single_call_penalty) Init(15) IntegerRange(0, 100) Param +Common Joined UInteger Var(param_ipa_cp_single_call_penalty) Init(15) IntegerRange(0, 100) Param Optimization Percentage penalty functions containing a single call to another function will receive when they are evaluated for cloning. +-param=ipa-cp-unit-growth= +Common Joined UInteger Var(param_ipa_cp_unit_growth) Init(10) Param +How much can given compilation unit grow because of the interprocedural constant propagation (in percent). + -param=ipa-cp-value-list-size= -Common Joined UInteger Var(param_ipa_cp_value_list_size) Init(8) Param +Common Joined UInteger Var(param_ipa_cp_value_list_size) Init(8) Param Optimization Maximum size of a list of values associated with each parameter for interprocedural constant propagation. -param=ipa-max-aa-steps= -Common Joined UInteger Var(param_ipa_max_aa_steps) Init(25000) Param +Common Joined UInteger Var(param_ipa_max_aa_steps) Init(25000) Param Optimization Maximum number of statements that will be visited by IPA formal parameter analysis based on alias analysis in any given function. -param=ipa-max-agg-items= @@ -227,11 +231,11 @@ Common Joined UInteger Var(param_ipa_max_agg_items) Init(16) Param Maximum number of aggregate content items for a parameter in jump functions and lattices. -param=ipa-max-param-expr-ops= -Common Joined UInteger Var(param_ipa_max_param_expr_ops) Init(10) Param +Common Joined UInteger Var(param_ipa_max_param_expr_ops) Init(10) Param Optimization Maximum number of operations in a parameter expression that can be handled by IPA analysis. -param=ipa-max-switch-predicate-bounds= -Common Joined UInteger Var(param_ipa_max_switch_predicate_bounds) Init(5) Param +Common Joined UInteger Var(param_ipa_max_switch_predicate_bounds) Init(5) Param Optimization Maximal number of boundary endpoints of case ranges of switch statement used during IPA functoin summary generation. -param=ipa-sra-max-replacements= @@ -239,13 +243,9 @@ Common Joined UInteger Var(param_ipa_sra_max_replacements) Init(8) IntegerRange( Maximum pieces that IPA-SRA tracks per formal parameter, as a consequence, also the maximum number of replacements of a formal parameter. -param=ipa-sra-ptr-growth-factor= -Common Joined UInteger Var(param_ipa_sra_ptr_growth_factor) Init(2) Param +Common Joined UInteger Var(param_ipa_sra_ptr_growth_factor) Init(2) Param Optimization Maximum allowed growth of number and total size of new parameters that ipa-sra replaces a pointer to an aggregate with. --param=ipcp-unit-growth= -Common Joined UInteger Var(param_ipcp_unit_growth) Init(10) Param -How much can given compilation unit grow because of the interprocedural constant propagation (in percent). - -param=ira-loop-reserved-regs= Common Joined UInteger Var(param_ira_loop_reserved_regs) Init(2) Param Optimization The number of registers in each class kept unused by loop invariant motion. @@ -423,7 +423,7 @@ Common Joined UInteger Var(param_max_dse_active_local_stores) Init(5000) Param O Maximum number of active local stores in RTL dead store elimination. -param=max-early-inliner-iterations= -Common Joined UInteger Var(param_early_inliner_max_iterations) Init(1) Param +Common Joined UInteger Var(param_early_inliner_max_iterations) Init(1) Param Optimization The maximum number of nested indirect inlining performed by early inliner. -param=max-fields-for-field-sensitive= -- cgit v1.1