The email thread is follow up of a demo that I made here:
https://gcc.gnu.org/ml/gcc-patches/2019-10/msg02220.html The patchset converts current param infrastructure to the option machinery. The parts 3 and 4 are quite mechanical. I would appreciate a feedback about what parameters should be per function (Optimization keyword) and global. The patch survives bootstrap and regtests on x86_64-linux-gnu and ppc64-linux-gnu and I made cross build of all target compilers. Thoughts? Martin Martin Liska (7): Param to options conversion. Include new generated gcc/params.opt file. Apply mechanical replacement (generated patch). Remove gcc/params.* files. Remove last leftover usage of params* files. Remove set_default_param_value from documentation. Fix test-suite fallout. gcc/Makefile.in | 20 +- gcc/asan.c | 19 +- gcc/auto-profile.c | 3 +- gcc/bb-reorder.c | 5 +- gcc/builtins.c | 3 +- gcc/c/gimple-parser.c | 3 +- gcc/cfgcleanup.c | 5 +- gcc/cfgexpand.c | 9 +- gcc/cfgloopanal.c | 9 +- gcc/cgraph.c | 3 +- gcc/combine.c | 5 +- gcc/common.opt | 10 - gcc/common/common-target.def | 6 +- gcc/common/config/aarch64/aarch64-common.c | 16 +- gcc/common/config/gcn/gcn-common.c | 1 - gcc/common/config/ia64/ia64-common.c | 9 +- .../config/powerpcspe/powerpcspe-common.c | 3 +- gcc/common/config/rs6000/rs6000-common.c | 3 +- gcc/common/config/sh/sh-common.c | 3 +- gcc/config/aarch64/aarch64.c | 80 +- gcc/config/alpha/alpha.c | 17 +- gcc/config/arm/arm.c | 44 +- gcc/config/avr/avr.c | 1 - gcc/config/csky/csky.c | 1 - gcc/config/i386/i386-builtins.c | 1 - gcc/config/i386/i386-expand.c | 1 - gcc/config/i386/i386-features.c | 1 - gcc/config/i386/i386-options.c | 35 +- gcc/config/i386/i386.c | 27 +- gcc/config/ia64/ia64.c | 3 +- gcc/config/rs6000/rs6000-logue.c | 5 +- gcc/config/rs6000/rs6000.c | 56 +- gcc/config/s390/s390.c | 80 +- gcc/config/sparc/sparc.c | 84 +- gcc/config/visium/visium.c | 7 +- gcc/coverage.c | 9 +- gcc/cp/name-lookup.c | 3 +- gcc/cp/typeck.c | 5 +- gcc/cprop.c | 1 - gcc/cse.c | 7 +- gcc/cselib.c | 3 +- gcc/doc/options.texi | 3 + gcc/doc/tm.texi | 4 +- gcc/dse.c | 3 +- gcc/emit-rtl.c | 19 +- gcc/explow.c | 3 +- gcc/final.c | 5 +- gcc/flag-types.h | 11 + gcc/fold-const.c | 13 +- gcc/gcc.c | 9 - gcc/gcse.c | 17 +- gcc/ggc-common.c | 5 +- gcc/ggc-page.c | 5 +- gcc/gimple-loop-interchange.cc | 7 +- gcc/gimple-loop-jam.c | 9 +- gcc/gimple-loop-versioning.cc | 5 +- gcc/gimple-ssa-split-paths.c | 3 +- gcc/gimple-ssa-sprintf.c | 1 - gcc/gimple-ssa-store-merging.c | 9 +- gcc/gimple-ssa-strength-reduction.c | 3 +- gcc/gimple-ssa-warn-alloca.c | 1 - gcc/gimple-ssa-warn-restrict.c | 1 - gcc/graphite-isl-ast-to-gimple.c | 5 +- gcc/graphite-optimize-isl.c | 5 +- gcc/graphite-scop-detection.c | 5 +- gcc/graphite-sese-to-poly.c | 1 - gcc/graphite.c | 1 - gcc/haifa-sched.c | 39 +- gcc/hsa-gen.c | 3 +- gcc/ifcvt.c | 5 +- gcc/ipa-cp.c | 31 +- gcc/ipa-fnsummary.c | 21 +- gcc/ipa-inline-analysis.c | 3 +- gcc/ipa-inline.c | 78 +- gcc/ipa-polymorphic-call.c | 3 +- gcc/ipa-profile.c | 3 +- gcc/ipa-prop.c | 7 +- gcc/ipa-split.c | 11 +- gcc/ipa-sra.c | 10 +- gcc/ira-build.c | 5 +- gcc/ira-conflicts.c | 5 +- gcc/loop-doloop.c | 3 +- gcc/loop-invariant.c | 5 +- gcc/loop-unroll.c | 27 +- gcc/lra-assigns.c | 3 +- gcc/lra-constraints.c | 3 +- gcc/lto/lto-common.c | 1 - gcc/lto/lto-partition.c | 11 +- gcc/lto/lto.c | 11 +- gcc/modulo-sched.c | 7 +- gcc/opt-functions.awk | 3 +- gcc/opt-suggestions.c | 59 +- gcc/opt-suggestions.h | 5 - gcc/opts-common.c | 20 + gcc/opts.c | 158 +- gcc/opts.h | 11 +- gcc/params-enum.h | 39 - gcc/params-list.h | 26 - gcc/params-options.h | 27 - gcc/params.c | 302 ---- gcc/params.def | 1495 ----------------- gcc/params.h | 254 --- gcc/params.opt | 967 +++++++++++ gcc/postreload-gcse.c | 7 +- gcc/predict.c | 21 +- gcc/reload.c | 3 +- gcc/reorg.c | 5 +- gcc/resource.c | 5 +- gcc/sanopt.c | 5 +- gcc/sched-deps.c | 11 +- gcc/sched-ebb.c | 5 +- gcc/sched-rgn.c | 19 +- gcc/sel-sched-ir.c | 5 +- gcc/sel-sched-ir.h | 2 +- gcc/sel-sched.c | 5 +- gcc/shrink-wrap.c | 3 +- gcc/stmt.c | 1 - gcc/targhooks.c | 22 +- gcc/testsuite/gcc.dg/completion-3.c | 16 +- gcc/testsuite/gcc.dg/pr83620.c | 2 +- gcc/testsuite/gcc.dg/spellcheck-params-2.c | 2 +- gcc/testsuite/gcc.dg/spellcheck-params.c | 2 +- gcc/testsuite/gcc.misc-tests/help.exp | 4 +- gcc/toplev.c | 13 +- gcc/tracer.c | 13 +- gcc/trans-mem.c | 3 +- gcc/tree-chrec.c | 5 +- gcc/tree-data-ref.c | 5 +- gcc/tree-if-conv.c | 3 +- gcc/tree-inline.c | 3 +- gcc/tree-loop-distribution.c | 3 +- gcc/tree-parloops.c | 20 +- gcc/tree-predcom.c | 3 +- gcc/tree-profile.c | 1 - gcc/tree-scalar-evolution.c | 5 +- gcc/tree-sra.c | 20 +- gcc/tree-ssa-ccp.c | 3 +- gcc/tree-ssa-dom.c | 1 - gcc/tree-ssa-dse.c | 9 +- gcc/tree-ssa-ifcombine.c | 5 +- gcc/tree-ssa-loop-ch.c | 3 +- gcc/tree-ssa-loop-im.c | 3 +- gcc/tree-ssa-loop-ivcanon.c | 19 +- gcc/tree-ssa-loop-ivopts.c | 11 +- gcc/tree-ssa-loop-manip.c | 3 +- gcc/tree-ssa-loop-niter.c | 3 +- gcc/tree-ssa-loop-prefetch.c | 47 +- gcc/tree-ssa-loop-unswitch.c | 7 +- gcc/tree-ssa-math-opts.c | 7 +- gcc/tree-ssa-phiopt.c | 9 +- gcc/tree-ssa-pre.c | 5 +- gcc/tree-ssa-reassoc.c | 3 +- gcc/tree-ssa-sccvn.c | 7 +- gcc/tree-ssa-scopedtables.c | 3 +- gcc/tree-ssa-sink.c | 3 +- gcc/tree-ssa-strlen.c | 9 +- gcc/tree-ssa-structalias.c | 9 +- gcc/tree-ssa-tail-merge.c | 5 +- gcc/tree-ssa-threadbackward.c | 17 +- gcc/tree-ssa-threadedge.c | 5 +- gcc/tree-ssa-uninit.c | 3 +- gcc/tree-switch-conversion.c | 7 +- gcc/tree-switch-conversion.h | 4 +- gcc/tree-vect-data-refs.c | 12 +- gcc/tree-vect-loop.c | 7 +- gcc/tree-vect-slp.c | 3 +- gcc/tree-vectorizer.h | 2 +- gcc/tree-vrp.c | 5 +- gcc/tree.c | 23 +- gcc/value-prof.c | 1 - gcc/var-tracking.c | 7 +- 171 files changed, 1689 insertions(+), 3243 deletions(-) delete mode 100644 gcc/params-enum.h delete mode 100644 gcc/params-list.h delete mode 100644 gcc/params-options.h delete mode 100644 gcc/params.c delete mode 100644 gcc/params.def delete mode 100644 gcc/params.h create mode 100644 gcc/params.opt -- 2.23.0 |
gcc/ChangeLog: 2019-11-06 Martin Liska <[hidden email]> * common.opt: Remove --param and --param= options. * opt-functions.awk: Mark CL_PARAMS for options that have Param keyword. * opts-common.c (decode_cmdline_options_to_array): Replace --param key=value with --param=key=value. * opts.c (print_filtered_help): Remove special printing of params. (print_specific_help): Update title for params. (common_handle_option): Do not handle OPT__param. opts.h (SET_OPTION_IF_UNSET): New macro. * doc/options.texi: Document Param keyword. --- gcc/common.opt | 7 ------- gcc/doc/options.texi | 3 +++ gcc/opt-functions.awk | 3 ++- gcc/opts-common.c | 9 +++++++++ gcc/opts.c | 38 +------------------------------------- gcc/opts.h | 10 ++++++++++ 6 files changed, 25 insertions(+), 45 deletions(-) |
In reply to this post by Martin Liška-2
gcc/ChangeLog: 2019-11-06 Martin Liska <[hidden email]> * Makefile.in: Include params.opt. * flag-types.h (enum parloops_schedule_type): Add parloops_schedule_type used in params.opt. * params.opt: New file. --- gcc/Makefile.in | 2 +- gcc/flag-types.h | 11 + gcc/params.opt | 967 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 979 insertions(+), 1 deletion(-) create mode 100644 gcc/params.opt |
In reply to this post by Martin Liška-2
gcc/ChangeLog: 2019-11-07 Martin Liska <[hidden email]> * asan.c (asan_sanitize_stack_p): Replace old parameter syntax with the new one, include opts.h if needed. Use SET_OPTION_IF_UNSET macro. (asan_sanitize_allocas_p): Likewise. (asan_emit_stack_protection): Likewise. (asan_protect_global): Likewise. (instrument_derefs): Likewise. (instrument_builtin_call): Likewise. (asan_expand_mark_ifn): Likewise. * auto-profile.c (auto_profile): Likewise. * bb-reorder.c (copy_bb_p): Likewise. (duplicate_computed_gotos): Likewise. * builtins.c (inline_expand_builtin_string_cmp): Likewise. * cfgcleanup.c (try_crossjump_to_edge): Likewise. (try_crossjump_bb): Likewise. * cfgexpand.c (defer_stack_allocation): Likewise. (stack_protect_classify_type): Likewise. (pass_expand::execute): Likewise. * cfgloopanal.c (expected_loop_iterations_unbounded): Likewise. (estimate_reg_pressure_cost): Likewise. * cgraph.c (cgraph_edge::maybe_hot_p): Likewise. * combine.c (combine_instructions): Likewise. (record_value_for_reg): Likewise. * common/config/aarch64/aarch64-common.c (aarch64_option_validate_param): Likewise. (aarch64_option_default_params): Likewise. * common/config/ia64/ia64-common.c (ia64_option_default_params): Likewise. * common/config/powerpcspe/powerpcspe-common.c (rs6000_option_default_params): Likewise. * common/config/rs6000/rs6000-common.c (rs6000_option_default_params): Likewise. * common/config/sh/sh-common.c (sh_option_default_params): Likewise. * config/aarch64/aarch64.c (aarch64_output_probe_stack_range): Likewise. (aarch64_allocate_and_probe_stack_space): Likewise. (aarch64_expand_epilogue): Likewise. (aarch64_override_options_internal): Likewise. * config/alpha/alpha.c (alpha_option_override): Likewise. * config/arm/arm.c (arm_option_override): Likewise. (arm_valid_target_attribute_p): Likewise. * config/i386/i386-options.c (ix86_option_override_internal): Likewise. * config/i386/i386.c (get_probe_interval): Likewise. (ix86_adjust_stack_and_probe_stack_clash): Likewise. (ix86_max_noce_ifcvt_seq_cost): Likewise. * config/ia64/ia64.c (ia64_adjust_cost): Likewise. * config/rs6000/rs6000-logue.c (get_stack_clash_protection_probe_interval): Likewise. (get_stack_clash_protection_guard_size): Likewise. * config/rs6000/rs6000.c (rs6000_option_override_internal): Likewise. * config/s390/s390.c (allocate_stack_space): Likewise. (s390_emit_prologue): Likewise. (s390_option_override_internal): Likewise. * config/sparc/sparc.c (sparc_option_override): Likewise. * config/visium/visium.c (visium_option_override): Likewise. * coverage.c (get_coverage_counts): Likewise. (coverage_compute_profile_id): Likewise. (coverage_begin_function): Likewise. (coverage_end_function): Likewise. * cse.c (cse_find_path): Likewise. (cse_extended_basic_block): Likewise. (cse_main): Likewise. * cselib.c (cselib_invalidate_mem): Likewise. * dse.c (dse_step1): Likewise. * emit-rtl.c (set_new_first_and_last_insn): Likewise. (get_max_insn_count): Likewise. (make_debug_insn_raw): Likewise. (init_emit): Likewise. * explow.c (compute_stack_clash_protection_loop_data): Likewise. * final.c (compute_alignments): Likewise. * fold-const.c (fold_range_test): Likewise. (fold_truth_andor): Likewise. (tree_single_nonnegative_warnv_p): Likewise. (integer_valued_real_single_p): Likewise. * gcse.c (want_to_gcse_p): Likewise. (prune_insertions_deletions): Likewise. (hoist_code): Likewise. (gcse_or_cprop_is_too_expensive): Likewise. * ggc-common.c: Likewise. * ggc-page.c (ggc_collect): Likewise. * gimple-loop-interchange.cc (MAX_NUM_STMT): Likewise. (MAX_DATAREFS): Likewise. (OUTER_STRIDE_RATIO): Likewise. * gimple-loop-jam.c (tree_loop_unroll_and_jam): Likewise. * gimple-loop-versioning.cc (loop_versioning::max_insns_for_loop): Likewise. * gimple-ssa-split-paths.c (is_feasible_trace): Likewise. * gimple-ssa-store-merging.c (imm_store_chain_info::try_coalesce_bswap): Likewise. (imm_store_chain_info::coalesce_immediate_stores): Likewise. (imm_store_chain_info::output_merged_store): Likewise. (pass_store_merging::process_store): Likewise. * gimple-ssa-strength-reduction.c (find_basis_for_base_expr): Likewise. * graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple): Likewise. (scop_to_isl_ast): Likewise. * graphite-optimize-isl.c (get_schedule_for_node_st): Likewise. (optimize_isl): Likewise. * graphite-scop-detection.c (build_scops): Likewise. * haifa-sched.c (set_modulo_params): Likewise. (rank_for_schedule): Likewise. (model_add_to_worklist): Likewise. (model_promote_insn): Likewise. (model_choose_insn): Likewise. (queue_to_ready): Likewise. (autopref_multipass_dfa_lookahead_guard): Likewise. (schedule_block): Likewise. (sched_init): Likewise. * hsa-gen.c (init_prologue): Likewise. * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Likewise. (cond_move_process_if_block): Likewise. * ipa-cp.c (ipcp_lattice::add_value): Likewise. (merge_agg_lats_step): Likewise. (devirtualization_time_bonus): Likewise. (hint_time_bonus): Likewise. (incorporate_penalties): Likewise. (good_cloning_opportunity_p): Likewise. (ipcp_propagate_stage): Likewise. * ipa-fnsummary.c (decompose_param_expr): Likewise. (set_switch_stmt_execution_predicate): Likewise. (analyze_function_body): Likewise. (compute_fn_summary): Likewise. * ipa-inline-analysis.c (estimate_growth): Likewise. * ipa-inline.c (caller_growth_limits): Likewise. (inline_insns_single): Likewise. (inline_insns_auto): Likewise. (can_inline_edge_by_limits_p): Likewise. (want_early_inline_function_p): Likewise. (big_speedup_p): Likewise. (want_inline_small_function_p): Likewise. (want_inline_self_recursive_call_p): Likewise. (edge_badness): Likewise. (recursive_inlining): Likewise. (compute_max_insns): Likewise. (early_inliner): Likewise. * ipa-polymorphic-call.c (csftc_abort_walking_p): Likewise. * ipa-profile.c (ipa_profile): Likewise. * ipa-prop.c (determine_known_aggregate_parts): Likewise. (ipa_analyze_node): Likewise. (ipcp_transform_function): Likewise. * ipa-split.c (consider_split): Likewise. * ipa-sra.c (allocate_access): Likewise. (process_scan_results): Likewise. (ipa_sra_summarize_function): Likewise. (pull_accesses_from_callee): Likewise. * ira-build.c (loop_compare_func): Likewise. (mark_loops_for_removal): Likewise. * ira-conflicts.c (build_conflict_bit_table): Likewise. * loop-doloop.c (doloop_optimize): Likewise. * loop-invariant.c (gain_for_invariant): Likewise. (move_loop_invariants): Likewise. * loop-unroll.c (decide_unroll_constant_iterations): Likewise. (decide_unroll_runtime_iterations): Likewise. (decide_unroll_stupid): Likewise. (expand_var_during_unrolling): Likewise. * lra-assigns.c (spill_for): Likewise. * lra-constraints.c (EBB_PROBABILITY_CUTOFF): Likewise. * modulo-sched.c (sms_schedule): Likewise. (DFA_HISTORY): Likewise. * opts.c (default_options_optimization): Likewise. (finish_options): Likewise. (common_handle_option): Likewise. * postreload-gcse.c (eliminate_partially_redundant_load): Likewise. (if): Likewise. * predict.c (get_hot_bb_threshold): Likewise. (maybe_hot_count_p): Likewise. (probably_never_executed): Likewise. (predictable_edge_p): Likewise. (predict_loops): Likewise. (expr_expected_value_1): Likewise. (tree_predict_by_opcode): Likewise. (handle_missing_profiles): Likewise. * reload.c (find_equiv_reg): Likewise. * reorg.c (redundant_insn): Likewise. * resource.c (mark_target_live_regs): Likewise. (incr_ticks_for_insn): Likewise. * sanopt.c (pass_sanopt::execute): Likewise. * sched-deps.c (sched_analyze_1): Likewise. (sched_analyze_2): Likewise. (sched_analyze_insn): Likewise. (deps_analyze_insn): Likewise. * sched-ebb.c (schedule_ebbs): Likewise. * sched-rgn.c (find_single_block_region): Likewise. (too_large): Likewise. (haifa_find_rgns): Likewise. (extend_rgns): Likewise. (new_ready): Likewise. (schedule_region): Likewise. (sched_rgn_init): Likewise. * sel-sched-ir.c (make_region_from_loop): Likewise. * sel-sched-ir.h (MAX_WS): Likewise. * sel-sched.c (process_pipelined_exprs): Likewise. (sel_setup_region_sched_flags): Likewise. * shrink-wrap.c (try_shrink_wrapping): Likewise. * targhooks.c (default_max_noce_ifcvt_seq_cost): Likewise. * toplev.c (print_version): Likewise. (process_options): Likewise. * tracer.c (tail_duplicate): Likewise. * trans-mem.c (tm_log_add): Likewise. * tree-chrec.c (chrec_fold_plus_1): Likewise. * tree-data-ref.c (split_constant_offset): Likewise. (compute_all_dependences): Likewise. * tree-if-conv.c (MAX_PHI_ARG_NUM): Likewise. * tree-inline.c (remap_gimple_stmt): Likewise. * tree-loop-distribution.c (MAX_DATAREFS_NUM): Likewise. * tree-parloops.c (MIN_PER_THREAD): Likewise. (create_parallel_loop): Likewise. * tree-predcom.c (determine_unroll_factor): Likewise. * tree-scalar-evolution.c (instantiate_scev_r): Likewise. * tree-sra.c (analyze_all_variable_accesses): Likewise. * tree-ssa-ccp.c (fold_builtin_alloca_with_align): Likewise. * tree-ssa-dse.c (setup_live_bytes_from_ref): Likewise. (dse_optimize_redundant_stores): Likewise. (dse_classify_store): Likewise. * tree-ssa-ifcombine.c (ifcombine_ifandif): Likewise. * tree-ssa-loop-ch.c (ch_base::copy_headers): Likewise. * tree-ssa-loop-im.c (LIM_EXPENSIVE): Likewise. * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Likewise. (try_peel_loop): Likewise. (tree_unroll_loops_completely): Likewise. * tree-ssa-loop-ivopts.c (avg_loop_niter): Likewise. (CONSIDER_ALL_CANDIDATES_BOUND): Likewise. (MAX_CONSIDERED_GROUPS): Likewise. (ALWAYS_PRUNE_CAND_SET_BOUND): Likewise. * tree-ssa-loop-manip.c (can_unroll_loop_p): Likewise. * tree-ssa-loop-niter.c (MAX_ITERATIONS_TO_TRACK): Likewise. * tree-ssa-loop-prefetch.c (PREFETCH_BLOCK): Likewise. (L1_CACHE_SIZE_BYTES): Likewise. (L2_CACHE_SIZE_BYTES): Likewise. (should_issue_prefetch_p): Likewise. (schedule_prefetches): Likewise. (determine_unroll_factor): Likewise. (volume_of_references): Likewise. (add_subscript_strides): Likewise. (self_reuse_distance): Likewise. (mem_ref_count_reasonable_p): Likewise. (insn_to_prefetch_ratio_too_small_p): Likewise. (loop_prefetch_arrays): Likewise. (tree_ssa_prefetch_arrays): Likewise. * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Likewise. * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Likewise. (convert_mult_to_fma): Likewise. (math_opts_dom_walker::after_dom_children): Likewise. * tree-ssa-phiopt.c (cond_if_else_store_replacement): Likewise. (hoist_adjacent_loads): Likewise. (gate_hoist_loads): Likewise. * tree-ssa-pre.c (translate_vuse_through_block): Likewise. (compute_partial_antic_aux): Likewise. * tree-ssa-reassoc.c (get_reassociation_width): Likewise. * tree-ssa-sccvn.c (vn_reference_lookup_pieces): Likewise. (vn_reference_lookup): Likewise. (do_rpo_vn): Likewise. * tree-ssa-scopedtables.c (avail_exprs_stack::lookup_avail_expr): Likewise. * tree-ssa-sink.c (select_best_block): Likewise. * tree-ssa-strlen.c (new_stridx): Likewise. (new_addr_stridx): Likewise. (get_range_strlen_dynamic): Likewise. (class ssa_name_limit_t): Likewise. * tree-ssa-structalias.c (push_fields_onto_fieldstack): Likewise. (create_variable_info_for_1): Likewise. (init_alias_vars): Likewise. * tree-ssa-tail-merge.c (find_clusters_1): Likewise. (tail_merge_optimize): Likewise. * tree-ssa-threadbackward.c (thread_jumps::profitable_jump_thread_path): Likewise. (thread_jumps::fsm_find_control_statement_thread_paths): Likewise. (thread_jumps::find_jump_threads_backwards): Likewise. * tree-ssa-threadedge.c (record_temporary_equivalences_from_stmts_at_dest): Likewise. * tree-ssa-uninit.c (compute_control_dep_chain): Likewise. * tree-switch-conversion.c (switch_conversion::check_range): Likewise. (jump_table_cluster::can_be_handled): Likewise. * tree-switch-conversion.h (jump_table_cluster::case_values_threshold): Likewise. (SWITCH_CONVERSION_BRANCH_RATIO): Likewise. (param_switch_conversion_branch_ratio): Likewise. * tree-vect-data-refs.c (vect_mark_for_runtime_alias_test): Likewise. (vect_enhance_data_refs_alignment): Likewise. (vect_prune_runtime_alias_test_list): Likewise. * tree-vect-loop.c (vect_analyze_loop_costing): Likewise. (vect_get_datarefs_in_loop): Likewise. (vect_analyze_loop): Likewise. * tree-vect-slp.c (vect_slp_bb): Likewise. * tree-vectorizer.h: Likewise. * tree-vrp.c (find_switch_asserts): Likewise. (vrp_prop::check_mem_ref): Likewise. * tree.c (wide_int_to_tree_1): Likewise. (cache_integer_cst): Likewise. * var-tracking.c (EXPR_USE_DEPTH): Likewise. (reverse_op): Likewise. (vt_find_locations): Likewise. gcc/c/ChangeLog: 2019-11-07 Martin Liska <[hidden email]> * gimple-parser.c (c_parser_parse_gimple_body): Replace old parameter syntax with the new one, include opts.h if needed. Use SET_OPTION_IF_UNSET macro. gcc/cp/ChangeLog: 2019-11-07 Martin Liska <[hidden email]> * name-lookup.c (namespace_hints::namespace_hints): Replace old parameter syntax with the new one, include opts.h if needed. Use SET_OPTION_IF_UNSET macro. * typeck.c (comptypes): Likewise. gcc/lto/ChangeLog: 2019-11-07 Martin Liska <[hidden email]> * lto-partition.c (lto_balanced_map): Replace old parameter syntax with the new one, include opts.h if needed. Use SET_OPTION_IF_UNSET macro. * lto.c (do_whole_program_analysis): Likewise. --- gcc/asan.c | 18 ++-- gcc/auto-profile.c | 2 +- gcc/bb-reorder.c | 4 +- gcc/builtins.c | 2 +- gcc/c/gimple-parser.c | 2 +- gcc/cfgcleanup.c | 4 +- gcc/cfgexpand.c | 8 +- gcc/cfgloopanal.c | 8 +- gcc/cgraph.c | 2 +- gcc/combine.c | 4 +- gcc/common/config/aarch64/aarch64-common.c | 15 ++-- gcc/common/config/ia64/ia64-common.c | 8 +- .../config/powerpcspe/powerpcspe-common.c | 2 +- gcc/common/config/rs6000/rs6000-common.c | 2 +- gcc/common/config/sh/sh-common.c | 2 +- gcc/config/aarch64/aarch64.c | 79 ++++++++---------- gcc/config/alpha/alpha.c | 16 ++-- gcc/config/arm/arm.c | 43 ++++------ gcc/config/i386/i386-options.c | 32 +++---- gcc/config/i386/i386.c | 26 +++--- gcc/config/ia64/ia64.c | 2 +- gcc/config/rs6000/rs6000-logue.c | 4 +- gcc/config/rs6000/rs6000.c | 55 ++++++------ gcc/config/s390/s390.c | 79 ++++++------------ gcc/config/sparc/sparc.c | 83 +++++++++---------- gcc/config/visium/visium.c | 6 +- gcc/coverage.c | 8 +- gcc/cp/name-lookup.c | 2 +- gcc/cp/typeck.c | 4 +- gcc/cse.c | 6 +- gcc/cselib.c | 2 +- gcc/dse.c | 2 +- gcc/emit-rtl.c | 18 ++-- gcc/explow.c | 2 +- gcc/final.c | 4 +- gcc/fold-const.c | 12 +-- gcc/gcse.c | 16 ++-- gcc/ggc-common.c | 4 +- gcc/ggc-page.c | 4 +- gcc/gimple-loop-interchange.cc | 6 +- gcc/gimple-loop-jam.c | 8 +- gcc/gimple-loop-versioning.cc | 4 +- gcc/gimple-ssa-split-paths.c | 2 +- gcc/gimple-ssa-store-merging.c | 8 +- gcc/gimple-ssa-strength-reduction.c | 2 +- gcc/graphite-isl-ast-to-gimple.c | 4 +- gcc/graphite-optimize-isl.c | 4 +- gcc/graphite-scop-detection.c | 4 +- gcc/haifa-sched.c | 38 ++++----- gcc/hsa-gen.c | 2 +- gcc/ifcvt.c | 4 +- gcc/ipa-cp.c | 30 +++---- gcc/ipa-fnsummary.c | 20 ++--- gcc/ipa-inline-analysis.c | 2 +- gcc/ipa-inline.c | 77 +++++++++-------- gcc/ipa-polymorphic-call.c | 2 +- gcc/ipa-profile.c | 2 +- gcc/ipa-prop.c | 6 +- gcc/ipa-split.c | 10 +-- gcc/ipa-sra.c | 9 +- gcc/ira-build.c | 4 +- gcc/ira-conflicts.c | 4 +- gcc/loop-doloop.c | 2 +- gcc/loop-invariant.c | 4 +- gcc/loop-unroll.c | 26 +++--- gcc/lra-assigns.c | 2 +- gcc/lra-constraints.c | 2 +- gcc/lto/lto-partition.c | 10 +-- gcc/lto/lto.c | 10 +-- gcc/modulo-sched.c | 6 +- gcc/opts.c | 48 ++++------- gcc/postreload-gcse.c | 6 +- gcc/predict.c | 20 ++--- gcc/reload.c | 2 +- gcc/reorg.c | 4 +- gcc/resource.c | 4 +- gcc/sanopt.c | 4 +- gcc/sched-deps.c | 10 +-- gcc/sched-ebb.c | 4 +- gcc/sched-rgn.c | 18 ++-- gcc/sel-sched-ir.c | 4 +- gcc/sel-sched-ir.h | 2 +- gcc/sel-sched.c | 4 +- gcc/shrink-wrap.c | 2 +- gcc/targhooks.c | 21 ++--- gcc/toplev.c | 4 +- gcc/tracer.c | 12 +-- gcc/trans-mem.c | 2 +- gcc/tree-chrec.c | 4 +- gcc/tree-data-ref.c | 4 +- gcc/tree-if-conv.c | 2 +- gcc/tree-inline.c | 2 +- gcc/tree-loop-distribution.c | 2 +- gcc/tree-parloops.c | 18 ++-- gcc/tree-predcom.c | 2 +- gcc/tree-scalar-evolution.c | 4 +- gcc/tree-sra.c | 19 +++-- gcc/tree-ssa-ccp.c | 2 +- gcc/tree-ssa-dse.c | 8 +- gcc/tree-ssa-ifcombine.c | 4 +- gcc/tree-ssa-loop-ch.c | 2 +- gcc/tree-ssa-loop-im.c | 2 +- gcc/tree-ssa-loop-ivcanon.c | 18 ++-- gcc/tree-ssa-loop-ivopts.c | 10 +-- gcc/tree-ssa-loop-manip.c | 2 +- gcc/tree-ssa-loop-niter.c | 2 +- gcc/tree-ssa-loop-prefetch.c | 46 +++++----- gcc/tree-ssa-loop-unswitch.c | 6 +- gcc/tree-ssa-math-opts.c | 6 +- gcc/tree-ssa-phiopt.c | 8 +- gcc/tree-ssa-pre.c | 4 +- gcc/tree-ssa-reassoc.c | 2 +- gcc/tree-ssa-sccvn.c | 6 +- gcc/tree-ssa-scopedtables.c | 2 +- gcc/tree-ssa-sink.c | 2 +- gcc/tree-ssa-strlen.c | 8 +- gcc/tree-ssa-structalias.c | 8 +- gcc/tree-ssa-tail-merge.c | 4 +- gcc/tree-ssa-threadbackward.c | 16 ++-- gcc/tree-ssa-threadedge.c | 4 +- gcc/tree-ssa-uninit.c | 2 +- gcc/tree-switch-conversion.c | 6 +- gcc/tree-switch-conversion.h | 4 +- gcc/tree-vect-data-refs.c | 11 ++- gcc/tree-vect-loop.c | 6 +- gcc/tree-vect-slp.c | 2 +- gcc/tree-vectorizer.h | 2 +- gcc/tree-vrp.c | 4 +- gcc/tree.c | 22 ++--- gcc/var-tracking.c | 6 +- 130 files changed, 640 insertions(+), 731 deletions(-) |
In reply to this post by Martin Liška-2
gcc/ChangeLog: 2019-11-06 Martin Liska <[hidden email]> * Makefile.in: Remove PARAMS_H and params.list and params.options. * params-enum.h: Remove. * params-list.h: Remove. * params-options.h: Remove. * params.c: Remove. * params.def: Remove. * params.h: Remove. * asan.c: Do not include params.h. * auto-profile.c: Likewise. * bb-reorder.c: Likewise. * builtins.c: Likewise. * cfgcleanup.c: Likewise. * cfgexpand.c: Likewise. * cfgloopanal.c: Likewise. * cgraph.c: Likewise. * combine.c: Likewise. * common/config/aarch64/aarch64-common.c: Likewise. * common/config/gcn/gcn-common.c: Likewise. * common/config/ia64/ia64-common.c: Likewise. * common/config/powerpcspe/powerpcspe-common.c: Likewise. * common/config/rs6000/rs6000-common.c: Likewise. * common/config/sh/sh-common.c: Likewise. * config/aarch64/aarch64.c: Likewise. * config/alpha/alpha.c: Likewise. * config/arm/arm.c: Likewise. * config/avr/avr.c: Likewise. * config/csky/csky.c: Likewise. * config/i386/i386-builtins.c: Likewise. * config/i386/i386-expand.c: Likewise. * config/i386/i386-features.c: Likewise. * config/i386/i386-options.c: Likewise. * config/i386/i386.c: Likewise. * config/ia64/ia64.c: Likewise. * config/rs6000/rs6000-logue.c: Likewise. * config/rs6000/rs6000.c: Likewise. * config/s390/s390.c: Likewise. * config/sparc/sparc.c: Likewise. * config/visium/visium.c: Likewise. * coverage.c: Likewise. * cprop.c: Likewise. * cse.c: Likewise. * cselib.c: Likewise. * dse.c: Likewise. * emit-rtl.c: Likewise. * explow.c: Likewise. * final.c: Likewise. * fold-const.c: Likewise. * gcc.c: Likewise. * gcse.c: Likewise. * ggc-common.c: Likewise. * ggc-page.c: Likewise. * gimple-loop-interchange.cc: Likewise. * gimple-loop-jam.c: Likewise. * gimple-loop-versioning.cc: Likewise. * gimple-ssa-split-paths.c: Likewise. * gimple-ssa-sprintf.c: Likewise. * gimple-ssa-store-merging.c: Likewise. * gimple-ssa-strength-reduction.c: Likewise. * gimple-ssa-warn-alloca.c: Likewise. * gimple-ssa-warn-restrict.c: Likewise. * graphite-isl-ast-to-gimple.c: Likewise. * graphite-optimize-isl.c: Likewise. * graphite-scop-detection.c: Likewise. * graphite-sese-to-poly.c: Likewise. * graphite.c: Likewise. * haifa-sched.c: Likewise. * hsa-gen.c: Likewise. * ifcvt.c: Likewise. * ipa-cp.c: Likewise. * ipa-fnsummary.c: Likewise. * ipa-inline-analysis.c: Likewise. * ipa-inline.c: Likewise. * ipa-polymorphic-call.c: Likewise. * ipa-profile.c: Likewise. * ipa-prop.c: Likewise. * ipa-split.c: Likewise. * ipa-sra.c: Likewise. * ira-build.c: Likewise. * ira-conflicts.c: Likewise. * loop-doloop.c: Likewise. * loop-invariant.c: Likewise. * loop-unroll.c: Likewise. * lra-assigns.c: Likewise. * lra-constraints.c: Likewise. * modulo-sched.c: Likewise. * opt-suggestions.c: Likewise. * opts.c: Likewise. * postreload-gcse.c: Likewise. * predict.c: Likewise. * reload.c: Likewise. * reorg.c: Likewise. * resource.c: Likewise. * sanopt.c: Likewise. * sched-deps.c: Likewise. * sched-ebb.c: Likewise. * sched-rgn.c: Likewise. * sel-sched-ir.c: Likewise. * sel-sched.c: Likewise. * shrink-wrap.c: Likewise. * stmt.c: Likewise. * targhooks.c: Likewise. * toplev.c: Likewise. * tracer.c: Likewise. * trans-mem.c: Likewise. * tree-chrec.c: Likewise. * tree-data-ref.c: Likewise. * tree-if-conv.c: Likewise. * tree-inline.c: Likewise. * tree-loop-distribution.c: Likewise. * tree-parloops.c: Likewise. * tree-predcom.c: Likewise. * tree-profile.c: Likewise. * tree-scalar-evolution.c: Likewise. * tree-sra.c: Likewise. * tree-ssa-ccp.c: Likewise. * tree-ssa-dom.c: Likewise. * tree-ssa-dse.c: Likewise. * tree-ssa-ifcombine.c: Likewise. * tree-ssa-loop-ch.c: Likewise. * tree-ssa-loop-im.c: Likewise. * tree-ssa-loop-ivcanon.c: Likewise. * tree-ssa-loop-ivopts.c: Likewise. * tree-ssa-loop-manip.c: Likewise. * tree-ssa-loop-niter.c: Likewise. * tree-ssa-loop-prefetch.c: Likewise. * tree-ssa-loop-unswitch.c: Likewise. * tree-ssa-math-opts.c: Likewise. * tree-ssa-phiopt.c: Likewise. * tree-ssa-pre.c: Likewise. * tree-ssa-reassoc.c: Likewise. * tree-ssa-sccvn.c: Likewise. * tree-ssa-scopedtables.c: Likewise. * tree-ssa-sink.c: Likewise. * tree-ssa-strlen.c: Likewise. * tree-ssa-structalias.c: Likewise. * tree-ssa-tail-merge.c: Likewise. * tree-ssa-threadbackward.c: Likewise. * tree-ssa-threadedge.c: Likewise. * tree-ssa-uninit.c: Likewise. * tree-switch-conversion.c: Likewise. * tree-vect-data-refs.c: Likewise. * tree-vect-loop.c: Likewise. * tree-vect-slp.c: Likewise. * tree-vrp.c: Likewise. * tree.c: Likewise. * value-prof.c: Likewise. * var-tracking.c: Likewise. gcc/c/ChangeLog: 2019-11-06 Martin Liska <[hidden email]> * gimple-parser.c: Do not include params.h. gcc/cp/ChangeLog: 2019-11-06 Martin Liska <[hidden email]> * name-lookup.c: Do not include params.h. * typeck.c: Likewise. gcc/lto/ChangeLog: 2019-11-06 Martin Liska <[hidden email]> * lto-common.c: Do not include params.h. * lto-partition.c: Likewise. * lto.c: Likewise. --- gcc/Makefile.in | 18 +- gcc/asan.c | 1 - gcc/auto-profile.c | 1 - gcc/bb-reorder.c | 1 - gcc/builtins.c | 1 - gcc/c/gimple-parser.c | 1 - gcc/cfgcleanup.c | 1 - gcc/cfgexpand.c | 1 - gcc/cfgloopanal.c | 1 - gcc/cgraph.c | 1 - gcc/combine.c | 1 - gcc/common/config/aarch64/aarch64-common.c | 1 - gcc/common/config/gcn/gcn-common.c | 1 - gcc/common/config/ia64/ia64-common.c | 1 - .../config/powerpcspe/powerpcspe-common.c | 1 - gcc/common/config/rs6000/rs6000-common.c | 1 - gcc/common/config/sh/sh-common.c | 1 - gcc/config/aarch64/aarch64.c | 1 - gcc/config/alpha/alpha.c | 1 - gcc/config/arm/arm.c | 1 - gcc/config/avr/avr.c | 1 - gcc/config/csky/csky.c | 1 - gcc/config/i386/i386-builtins.c | 1 - gcc/config/i386/i386-expand.c | 1 - gcc/config/i386/i386-features.c | 1 - gcc/config/i386/i386-options.c | 1 - gcc/config/i386/i386.c | 1 - gcc/config/ia64/ia64.c | 1 - gcc/config/rs6000/rs6000-logue.c | 1 - gcc/config/rs6000/rs6000.c | 1 - gcc/config/s390/s390.c | 1 - gcc/config/sparc/sparc.c | 1 - gcc/config/visium/visium.c | 1 - gcc/coverage.c | 1 - gcc/cp/name-lookup.c | 1 - gcc/cp/typeck.c | 1 - gcc/cprop.c | 1 - gcc/cse.c | 1 - gcc/cselib.c | 1 - gcc/dse.c | 1 - gcc/emit-rtl.c | 1 - gcc/explow.c | 1 - gcc/final.c | 1 - gcc/fold-const.c | 1 - gcc/gcc.c | 1 - gcc/gcse.c | 1 - gcc/ggc-common.c | 1 - gcc/ggc-page.c | 1 - gcc/gimple-loop-interchange.cc | 1 - gcc/gimple-loop-jam.c | 1 - gcc/gimple-loop-versioning.cc | 1 - gcc/gimple-ssa-split-paths.c | 1 - gcc/gimple-ssa-sprintf.c | 1 - gcc/gimple-ssa-store-merging.c | 1 - gcc/gimple-ssa-strength-reduction.c | 1 - gcc/gimple-ssa-warn-alloca.c | 1 - gcc/gimple-ssa-warn-restrict.c | 1 - gcc/graphite-isl-ast-to-gimple.c | 1 - gcc/graphite-optimize-isl.c | 1 - gcc/graphite-scop-detection.c | 1 - gcc/graphite-sese-to-poly.c | 1 - gcc/graphite.c | 1 - gcc/haifa-sched.c | 1 - gcc/hsa-gen.c | 1 - gcc/ifcvt.c | 1 - gcc/ipa-cp.c | 1 - gcc/ipa-fnsummary.c | 1 - gcc/ipa-inline-analysis.c | 1 - gcc/ipa-inline.c | 1 - gcc/ipa-polymorphic-call.c | 1 - gcc/ipa-profile.c | 1 - gcc/ipa-prop.c | 1 - gcc/ipa-split.c | 1 - gcc/ipa-sra.c | 1 - gcc/ira-build.c | 1 - gcc/ira-conflicts.c | 1 - gcc/loop-doloop.c | 1 - gcc/loop-invariant.c | 1 - gcc/loop-unroll.c | 1 - gcc/lra-assigns.c | 1 - gcc/lra-constraints.c | 1 - gcc/lto/lto-common.c | 1 - gcc/lto/lto-partition.c | 1 - gcc/lto/lto.c | 1 - gcc/modulo-sched.c | 1 - gcc/opt-suggestions.c | 1 - gcc/opts.c | 1 - gcc/params-enum.h | 39 - gcc/params-list.h | 26 - gcc/params-options.h | 27 - gcc/params.c | 302 ---- gcc/params.def | 1495 ----------------- gcc/params.h | 254 --- gcc/postreload-gcse.c | 1 - gcc/predict.c | 1 - gcc/reload.c | 1 - gcc/reorg.c | 1 - gcc/resource.c | 1 - gcc/sanopt.c | 1 - gcc/sched-deps.c | 1 - gcc/sched-ebb.c | 1 - gcc/sched-rgn.c | 1 - gcc/sel-sched-ir.c | 1 - gcc/sel-sched.c | 1 - gcc/shrink-wrap.c | 1 - gcc/stmt.c | 1 - gcc/targhooks.c | 1 - gcc/toplev.c | 1 - gcc/tracer.c | 1 - gcc/trans-mem.c | 1 - gcc/tree-chrec.c | 1 - gcc/tree-data-ref.c | 1 - gcc/tree-if-conv.c | 1 - gcc/tree-inline.c | 1 - gcc/tree-loop-distribution.c | 1 - gcc/tree-parloops.c | 2 - gcc/tree-predcom.c | 1 - gcc/tree-profile.c | 1 - gcc/tree-scalar-evolution.c | 1 - gcc/tree-sra.c | 1 - gcc/tree-ssa-ccp.c | 1 - gcc/tree-ssa-dom.c | 1 - gcc/tree-ssa-dse.c | 1 - gcc/tree-ssa-ifcombine.c | 1 - gcc/tree-ssa-loop-ch.c | 1 - gcc/tree-ssa-loop-im.c | 1 - gcc/tree-ssa-loop-ivcanon.c | 1 - gcc/tree-ssa-loop-ivopts.c | 1 - gcc/tree-ssa-loop-manip.c | 1 - gcc/tree-ssa-loop-niter.c | 1 - gcc/tree-ssa-loop-prefetch.c | 1 - gcc/tree-ssa-loop-unswitch.c | 1 - gcc/tree-ssa-math-opts.c | 1 - gcc/tree-ssa-phiopt.c | 1 - gcc/tree-ssa-pre.c | 1 - gcc/tree-ssa-reassoc.c | 1 - gcc/tree-ssa-sccvn.c | 1 - gcc/tree-ssa-scopedtables.c | 1 - gcc/tree-ssa-sink.c | 1 - gcc/tree-ssa-strlen.c | 1 - gcc/tree-ssa-structalias.c | 1 - gcc/tree-ssa-tail-merge.c | 1 - gcc/tree-ssa-threadbackward.c | 1 - gcc/tree-ssa-threadedge.c | 1 - gcc/tree-ssa-uninit.c | 1 - gcc/tree-switch-conversion.c | 1 - gcc/tree-vect-data-refs.c | 1 - gcc/tree-vect-loop.c | 1 - gcc/tree-vect-slp.c | 1 - gcc/tree-vrp.c | 1 - gcc/tree.c | 1 - gcc/value-prof.c | 1 - gcc/var-tracking.c | 1 - 153 files changed, 2 insertions(+), 2306 deletions(-) delete mode 100644 gcc/params-enum.h delete mode 100644 gcc/params-list.h delete mode 100644 gcc/params-options.h delete mode 100644 gcc/params.c delete mode 100644 gcc/params.def delete mode 100644 gcc/params.h |
In reply to this post by Martin Liška-2
gcc/ChangeLog: 2019-11-06 Martin Liska <[hidden email]> * common.opt: Remove param_values. * config/i386/i386-options.c (ix86_valid_target_attribute_p): Remove finalize_options_struct. * gcc.c (driver::decode_argv): Do not call global_init_params and finish_params. (driver::finalize): Do not call params_c_finalize and finalize_options_struct. * opt-suggestions.c (option_proposer::get_completions): Remove special casing of params. (option_proposer::find_param_completions): Remove. (test_completion_partial_match): Update expected output. * opt-suggestions.h: Remove find_param_completions. * opts-common.c (add_misspelling_candidates): Add --param with a space. * opts.c (handle_param): Remove. (init_options_struct):. Remove init_options_struct and similar calls. (finalize_options_struct): Remove. (common_handle_option): Use SET_OPTION_IF_UNSET. * opts.h (finalize_options_struct): Remove. * toplev.c (general_init): Do not call global_init_params. (toplev::finalize): Do not call params_c_finalize and finalize_options_struct. --- gcc/common.opt | 3 -- gcc/config/i386/i386-options.c | 2 - gcc/gcc.c | 8 ---- gcc/opt-suggestions.c | 58 ++++++--------------------- gcc/opt-suggestions.h | 5 --- gcc/opts-common.c | 11 ++++++ gcc/opts.c | 71 ++-------------------------------- gcc/opts.h | 1 - gcc/toplev.c | 8 ---- 9 files changed, 27 insertions(+), 140 deletions(-) |
In reply to this post by Martin Liška-2
gcc/ChangeLog: 2019-11-06 Martin Liska <[hidden email]> * common/common-target.def: Do not mention set_default_param_value and set_param_value. * doc/tm.texi: Likewise. --- gcc/common/common-target.def | 6 ++---- gcc/doc/tm.texi | 4 ++-- 2 files changed, 4 insertions(+), 6 deletions(-) |
In reply to this post by Martin Liška-2
gcc/testsuite/ChangeLog: 2019-11-06 Martin Liska <[hidden email]> * gcc.dg/completion-3.c: Append = to all expected results and sort expected output. * gcc.dg/pr83620.c: Update error message. * gcc.dg/spellcheck-params-2.c: Likewise. * gcc.dg/spellcheck-params.c: Likewise. * gcc.misc-tests/help.exp: Update expected output. --- gcc/testsuite/gcc.dg/completion-3.c | 16 ++++++++-------- gcc/testsuite/gcc.dg/pr83620.c | 2 +- gcc/testsuite/gcc.dg/spellcheck-params-2.c | 2 +- gcc/testsuite/gcc.dg/spellcheck-params.c | 2 +- gcc/testsuite/gcc.misc-tests/help.exp | 4 +--- 5 files changed, 12 insertions(+), 14 deletions(-) |
In reply to this post by Martin Liška-2
There's one more refactoring patch that is about more
usage of SET_OPTION_IF_UNSET for parameters. Patch can bootstrap on x86_64-linux-gnu and survives regression tests. Ready to be installed? Thanks, Martin |
In reply to this post by Martin Liška-2
On Thu, Nov 7, 2019 at 1:35 PM Martin Liska <[hidden email]> wrote:
> > > gcc/ChangeLog: I think I've noticed at least one long line (please double-check): - if (tree_to_uhwi (t) < (unsigned HOST_WIDE_INT) INTEGER_SHARE_LIMIT) + if (tree_to_uhwi (t) < (unsigned HOST_WIDE_INT) param_integer_share_limit) as a followup I notice that the targets *_default_params () functions should be merged into the default-options structs they have (did you check the defaults are still applied and user-overridable?) > 2019-11-07 Martin Liska <[hidden email]> > > * asan.c (asan_sanitize_stack_p): Replace old parameter syntax > with the new one, include opts.h if needed. Use SET_OPTION_IF_UNSET > macro. > (asan_sanitize_allocas_p): Likewise. > (asan_emit_stack_protection): Likewise. > (asan_protect_global): Likewise. > (instrument_derefs): Likewise. > (instrument_builtin_call): Likewise. > (asan_expand_mark_ifn): Likewise. > * auto-profile.c (auto_profile): Likewise. > * bb-reorder.c (copy_bb_p): Likewise. > (duplicate_computed_gotos): Likewise. > * builtins.c (inline_expand_builtin_string_cmp): Likewise. > * cfgcleanup.c (try_crossjump_to_edge): Likewise. > (try_crossjump_bb): Likewise. > * cfgexpand.c (defer_stack_allocation): Likewise. > (stack_protect_classify_type): Likewise. > (pass_expand::execute): Likewise. > * cfgloopanal.c (expected_loop_iterations_unbounded): Likewise. > (estimate_reg_pressure_cost): Likewise. > * cgraph.c (cgraph_edge::maybe_hot_p): Likewise. > * combine.c (combine_instructions): Likewise. > (record_value_for_reg): Likewise. > * common/config/aarch64/aarch64-common.c (aarch64_option_validate_param): Likewise. > (aarch64_option_default_params): Likewise. > * common/config/ia64/ia64-common.c (ia64_option_default_params): Likewise. > * common/config/powerpcspe/powerpcspe-common.c (rs6000_option_default_params): Likewise. > * common/config/rs6000/rs6000-common.c (rs6000_option_default_params): Likewise. > * common/config/sh/sh-common.c (sh_option_default_params): Likewise. > * config/aarch64/aarch64.c (aarch64_output_probe_stack_range): Likewise. > (aarch64_allocate_and_probe_stack_space): Likewise. > (aarch64_expand_epilogue): Likewise. > (aarch64_override_options_internal): Likewise. > * config/alpha/alpha.c (alpha_option_override): Likewise. > * config/arm/arm.c (arm_option_override): Likewise. > (arm_valid_target_attribute_p): Likewise. > * config/i386/i386-options.c (ix86_option_override_internal): Likewise. > * config/i386/i386.c (get_probe_interval): Likewise. > (ix86_adjust_stack_and_probe_stack_clash): Likewise. > (ix86_max_noce_ifcvt_seq_cost): Likewise. > * config/ia64/ia64.c (ia64_adjust_cost): Likewise. > * config/rs6000/rs6000-logue.c (get_stack_clash_protection_probe_interval): Likewise. > (get_stack_clash_protection_guard_size): Likewise. > * config/rs6000/rs6000.c (rs6000_option_override_internal): Likewise. > * config/s390/s390.c (allocate_stack_space): Likewise. > (s390_emit_prologue): Likewise. > (s390_option_override_internal): Likewise. > * config/sparc/sparc.c (sparc_option_override): Likewise. > * config/visium/visium.c (visium_option_override): Likewise. > * coverage.c (get_coverage_counts): Likewise. > (coverage_compute_profile_id): Likewise. > (coverage_begin_function): Likewise. > (coverage_end_function): Likewise. > * cse.c (cse_find_path): Likewise. > (cse_extended_basic_block): Likewise. > (cse_main): Likewise. > * cselib.c (cselib_invalidate_mem): Likewise. > * dse.c (dse_step1): Likewise. > * emit-rtl.c (set_new_first_and_last_insn): Likewise. > (get_max_insn_count): Likewise. > (make_debug_insn_raw): Likewise. > (init_emit): Likewise. > * explow.c (compute_stack_clash_protection_loop_data): Likewise. > * final.c (compute_alignments): Likewise. > * fold-const.c (fold_range_test): Likewise. > (fold_truth_andor): Likewise. > (tree_single_nonnegative_warnv_p): Likewise. > (integer_valued_real_single_p): Likewise. > * gcse.c (want_to_gcse_p): Likewise. > (prune_insertions_deletions): Likewise. > (hoist_code): Likewise. > (gcse_or_cprop_is_too_expensive): Likewise. > * ggc-common.c: Likewise. > * ggc-page.c (ggc_collect): Likewise. > * gimple-loop-interchange.cc (MAX_NUM_STMT): Likewise. > (MAX_DATAREFS): Likewise. > (OUTER_STRIDE_RATIO): Likewise. > * gimple-loop-jam.c (tree_loop_unroll_and_jam): Likewise. > * gimple-loop-versioning.cc (loop_versioning::max_insns_for_loop): Likewise. > * gimple-ssa-split-paths.c (is_feasible_trace): Likewise. > * gimple-ssa-store-merging.c (imm_store_chain_info::try_coalesce_bswap): Likewise. > (imm_store_chain_info::coalesce_immediate_stores): Likewise. > (imm_store_chain_info::output_merged_store): Likewise. > (pass_store_merging::process_store): Likewise. > * gimple-ssa-strength-reduction.c (find_basis_for_base_expr): Likewise. > * graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple): Likewise. > (scop_to_isl_ast): Likewise. > * graphite-optimize-isl.c (get_schedule_for_node_st): Likewise. > (optimize_isl): Likewise. > * graphite-scop-detection.c (build_scops): Likewise. > * haifa-sched.c (set_modulo_params): Likewise. > (rank_for_schedule): Likewise. > (model_add_to_worklist): Likewise. > (model_promote_insn): Likewise. > (model_choose_insn): Likewise. > (queue_to_ready): Likewise. > (autopref_multipass_dfa_lookahead_guard): Likewise. > (schedule_block): Likewise. > (sched_init): Likewise. > * hsa-gen.c (init_prologue): Likewise. > * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Likewise. > (cond_move_process_if_block): Likewise. > * ipa-cp.c (ipcp_lattice::add_value): Likewise. > (merge_agg_lats_step): Likewise. > (devirtualization_time_bonus): Likewise. > (hint_time_bonus): Likewise. > (incorporate_penalties): Likewise. > (good_cloning_opportunity_p): Likewise. > (ipcp_propagate_stage): Likewise. > * ipa-fnsummary.c (decompose_param_expr): Likewise. > (set_switch_stmt_execution_predicate): Likewise. > (analyze_function_body): Likewise. > (compute_fn_summary): Likewise. > * ipa-inline-analysis.c (estimate_growth): Likewise. > * ipa-inline.c (caller_growth_limits): Likewise. > (inline_insns_single): Likewise. > (inline_insns_auto): Likewise. > (can_inline_edge_by_limits_p): Likewise. > (want_early_inline_function_p): Likewise. > (big_speedup_p): Likewise. > (want_inline_small_function_p): Likewise. > (want_inline_self_recursive_call_p): Likewise. > (edge_badness): Likewise. > (recursive_inlining): Likewise. > (compute_max_insns): Likewise. > (early_inliner): Likewise. > * ipa-polymorphic-call.c (csftc_abort_walking_p): Likewise. > * ipa-profile.c (ipa_profile): Likewise. > * ipa-prop.c (determine_known_aggregate_parts): Likewise. > (ipa_analyze_node): Likewise. > (ipcp_transform_function): Likewise. > * ipa-split.c (consider_split): Likewise. > * ipa-sra.c (allocate_access): Likewise. > (process_scan_results): Likewise. > (ipa_sra_summarize_function): Likewise. > (pull_accesses_from_callee): Likewise. > * ira-build.c (loop_compare_func): Likewise. > (mark_loops_for_removal): Likewise. > * ira-conflicts.c (build_conflict_bit_table): Likewise. > * loop-doloop.c (doloop_optimize): Likewise. > * loop-invariant.c (gain_for_invariant): Likewise. > (move_loop_invariants): Likewise. > * loop-unroll.c (decide_unroll_constant_iterations): Likewise. > (decide_unroll_runtime_iterations): Likewise. > (decide_unroll_stupid): Likewise. > (expand_var_during_unrolling): Likewise. > * lra-assigns.c (spill_for): Likewise. > * lra-constraints.c (EBB_PROBABILITY_CUTOFF): Likewise. > * modulo-sched.c (sms_schedule): Likewise. > (DFA_HISTORY): Likewise. > * opts.c (default_options_optimization): Likewise. > (finish_options): Likewise. > (common_handle_option): Likewise. > * postreload-gcse.c (eliminate_partially_redundant_load): Likewise. > (if): Likewise. > * predict.c (get_hot_bb_threshold): Likewise. > (maybe_hot_count_p): Likewise. > (probably_never_executed): Likewise. > (predictable_edge_p): Likewise. > (predict_loops): Likewise. > (expr_expected_value_1): Likewise. > (tree_predict_by_opcode): Likewise. > (handle_missing_profiles): Likewise. > * reload.c (find_equiv_reg): Likewise. > * reorg.c (redundant_insn): Likewise. > * resource.c (mark_target_live_regs): Likewise. > (incr_ticks_for_insn): Likewise. > * sanopt.c (pass_sanopt::execute): Likewise. > * sched-deps.c (sched_analyze_1): Likewise. > (sched_analyze_2): Likewise. > (sched_analyze_insn): Likewise. > (deps_analyze_insn): Likewise. > * sched-ebb.c (schedule_ebbs): Likewise. > * sched-rgn.c (find_single_block_region): Likewise. > (too_large): Likewise. > (haifa_find_rgns): Likewise. > (extend_rgns): Likewise. > (new_ready): Likewise. > (schedule_region): Likewise. > (sched_rgn_init): Likewise. > * sel-sched-ir.c (make_region_from_loop): Likewise. > * sel-sched-ir.h (MAX_WS): Likewise. > * sel-sched.c (process_pipelined_exprs): Likewise. > (sel_setup_region_sched_flags): Likewise. > * shrink-wrap.c (try_shrink_wrapping): Likewise. > * targhooks.c (default_max_noce_ifcvt_seq_cost): Likewise. > * toplev.c (print_version): Likewise. > (process_options): Likewise. > * tracer.c (tail_duplicate): Likewise. > * trans-mem.c (tm_log_add): Likewise. > * tree-chrec.c (chrec_fold_plus_1): Likewise. > * tree-data-ref.c (split_constant_offset): Likewise. > (compute_all_dependences): Likewise. > * tree-if-conv.c (MAX_PHI_ARG_NUM): Likewise. > * tree-inline.c (remap_gimple_stmt): Likewise. > * tree-loop-distribution.c (MAX_DATAREFS_NUM): Likewise. > * tree-parloops.c (MIN_PER_THREAD): Likewise. > (create_parallel_loop): Likewise. > * tree-predcom.c (determine_unroll_factor): Likewise. > * tree-scalar-evolution.c (instantiate_scev_r): Likewise. > * tree-sra.c (analyze_all_variable_accesses): Likewise. > * tree-ssa-ccp.c (fold_builtin_alloca_with_align): Likewise. > * tree-ssa-dse.c (setup_live_bytes_from_ref): Likewise. > (dse_optimize_redundant_stores): Likewise. > (dse_classify_store): Likewise. > * tree-ssa-ifcombine.c (ifcombine_ifandif): Likewise. > * tree-ssa-loop-ch.c (ch_base::copy_headers): Likewise. > * tree-ssa-loop-im.c (LIM_EXPENSIVE): Likewise. > * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Likewise. > (try_peel_loop): Likewise. > (tree_unroll_loops_completely): Likewise. > * tree-ssa-loop-ivopts.c (avg_loop_niter): Likewise. > (CONSIDER_ALL_CANDIDATES_BOUND): Likewise. > (MAX_CONSIDERED_GROUPS): Likewise. > (ALWAYS_PRUNE_CAND_SET_BOUND): Likewise. > * tree-ssa-loop-manip.c (can_unroll_loop_p): Likewise. > * tree-ssa-loop-niter.c (MAX_ITERATIONS_TO_TRACK): Likewise. > * tree-ssa-loop-prefetch.c (PREFETCH_BLOCK): Likewise. > (L1_CACHE_SIZE_BYTES): Likewise. > (L2_CACHE_SIZE_BYTES): Likewise. > (should_issue_prefetch_p): Likewise. > (schedule_prefetches): Likewise. > (determine_unroll_factor): Likewise. > (volume_of_references): Likewise. > (add_subscript_strides): Likewise. > (self_reuse_distance): Likewise. > (mem_ref_count_reasonable_p): Likewise. > (insn_to_prefetch_ratio_too_small_p): Likewise. > (loop_prefetch_arrays): Likewise. > (tree_ssa_prefetch_arrays): Likewise. > * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Likewise. > * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Likewise. > (convert_mult_to_fma): Likewise. > (math_opts_dom_walker::after_dom_children): Likewise. > * tree-ssa-phiopt.c (cond_if_else_store_replacement): Likewise. > (hoist_adjacent_loads): Likewise. > (gate_hoist_loads): Likewise. > * tree-ssa-pre.c (translate_vuse_through_block): Likewise. > (compute_partial_antic_aux): Likewise. > * tree-ssa-reassoc.c (get_reassociation_width): Likewise. > * tree-ssa-sccvn.c (vn_reference_lookup_pieces): Likewise. > (vn_reference_lookup): Likewise. > (do_rpo_vn): Likewise. > * tree-ssa-scopedtables.c (avail_exprs_stack::lookup_avail_expr): Likewise. > * tree-ssa-sink.c (select_best_block): Likewise. > * tree-ssa-strlen.c (new_stridx): Likewise. > (new_addr_stridx): Likewise. > (get_range_strlen_dynamic): Likewise. > (class ssa_name_limit_t): Likewise. > * tree-ssa-structalias.c (push_fields_onto_fieldstack): Likewise. > (create_variable_info_for_1): Likewise. > (init_alias_vars): Likewise. > * tree-ssa-tail-merge.c (find_clusters_1): Likewise. > (tail_merge_optimize): Likewise. > * tree-ssa-threadbackward.c (thread_jumps::profitable_jump_thread_path): Likewise. > (thread_jumps::fsm_find_control_statement_thread_paths): Likewise. > (thread_jumps::find_jump_threads_backwards): Likewise. > * tree-ssa-threadedge.c (record_temporary_equivalences_from_stmts_at_dest): Likewise. > * tree-ssa-uninit.c (compute_control_dep_chain): Likewise. > * tree-switch-conversion.c (switch_conversion::check_range): Likewise. > (jump_table_cluster::can_be_handled): Likewise. > * tree-switch-conversion.h (jump_table_cluster::case_values_threshold): Likewise. > (SWITCH_CONVERSION_BRANCH_RATIO): Likewise. > (param_switch_conversion_branch_ratio): Likewise. > * tree-vect-data-refs.c (vect_mark_for_runtime_alias_test): Likewise. > (vect_enhance_data_refs_alignment): Likewise. > (vect_prune_runtime_alias_test_list): Likewise. > * tree-vect-loop.c (vect_analyze_loop_costing): Likewise. > (vect_get_datarefs_in_loop): Likewise. > (vect_analyze_loop): Likewise. > * tree-vect-slp.c (vect_slp_bb): Likewise. > * tree-vectorizer.h: Likewise. > * tree-vrp.c (find_switch_asserts): Likewise. > (vrp_prop::check_mem_ref): Likewise. > * tree.c (wide_int_to_tree_1): Likewise. > (cache_integer_cst): Likewise. > * var-tracking.c (EXPR_USE_DEPTH): Likewise. > (reverse_op): Likewise. > (vt_find_locations): Likewise. > > gcc/c/ChangeLog: > > 2019-11-07 Martin Liska <[hidden email]> > > * gimple-parser.c (c_parser_parse_gimple_body): Replace old parameter syntax > with the new one, include opts.h if needed. Use SET_OPTION_IF_UNSET > macro. > > gcc/cp/ChangeLog: > > 2019-11-07 Martin Liska <[hidden email]> > > * name-lookup.c (namespace_hints::namespace_hints): Replace old parameter syntax > with the new one, include opts.h if needed. Use SET_OPTION_IF_UNSET > macro. > * typeck.c (comptypes): Likewise. > > gcc/lto/ChangeLog: > > 2019-11-07 Martin Liska <[hidden email]> > > * lto-partition.c (lto_balanced_map): Replace old parameter syntax > with the new one, include opts.h if needed. Use SET_OPTION_IF_UNSET > macro. > * lto.c (do_whole_program_analysis): Likewise. > --- > gcc/asan.c | 18 ++-- > gcc/auto-profile.c | 2 +- > gcc/bb-reorder.c | 4 +- > gcc/builtins.c | 2 +- > gcc/c/gimple-parser.c | 2 +- > gcc/cfgcleanup.c | 4 +- > gcc/cfgexpand.c | 8 +- > gcc/cfgloopanal.c | 8 +- > gcc/cgraph.c | 2 +- > gcc/combine.c | 4 +- > gcc/common/config/aarch64/aarch64-common.c | 15 ++-- > gcc/common/config/ia64/ia64-common.c | 8 +- > .../config/powerpcspe/powerpcspe-common.c | 2 +- > gcc/common/config/rs6000/rs6000-common.c | 2 +- > gcc/common/config/sh/sh-common.c | 2 +- > gcc/config/aarch64/aarch64.c | 79 ++++++++---------- > gcc/config/alpha/alpha.c | 16 ++-- > gcc/config/arm/arm.c | 43 ++++------ > gcc/config/i386/i386-options.c | 32 +++---- > gcc/config/i386/i386.c | 26 +++--- > gcc/config/ia64/ia64.c | 2 +- > gcc/config/rs6000/rs6000-logue.c | 4 +- > gcc/config/rs6000/rs6000.c | 55 ++++++------ > gcc/config/s390/s390.c | 79 ++++++------------ > gcc/config/sparc/sparc.c | 83 +++++++++---------- > gcc/config/visium/visium.c | 6 +- > gcc/coverage.c | 8 +- > gcc/cp/name-lookup.c | 2 +- > gcc/cp/typeck.c | 4 +- > gcc/cse.c | 6 +- > gcc/cselib.c | 2 +- > gcc/dse.c | 2 +- > gcc/emit-rtl.c | 18 ++-- > gcc/explow.c | 2 +- > gcc/final.c | 4 +- > gcc/fold-const.c | 12 +-- > gcc/gcse.c | 16 ++-- > gcc/ggc-common.c | 4 +- > gcc/ggc-page.c | 4 +- > gcc/gimple-loop-interchange.cc | 6 +- > gcc/gimple-loop-jam.c | 8 +- > gcc/gimple-loop-versioning.cc | 4 +- > gcc/gimple-ssa-split-paths.c | 2 +- > gcc/gimple-ssa-store-merging.c | 8 +- > gcc/gimple-ssa-strength-reduction.c | 2 +- > gcc/graphite-isl-ast-to-gimple.c | 4 +- > gcc/graphite-optimize-isl.c | 4 +- > gcc/graphite-scop-detection.c | 4 +- > gcc/haifa-sched.c | 38 ++++----- > gcc/hsa-gen.c | 2 +- > gcc/ifcvt.c | 4 +- > gcc/ipa-cp.c | 30 +++---- > gcc/ipa-fnsummary.c | 20 ++--- > gcc/ipa-inline-analysis.c | 2 +- > gcc/ipa-inline.c | 77 +++++++++-------- > gcc/ipa-polymorphic-call.c | 2 +- > gcc/ipa-profile.c | 2 +- > gcc/ipa-prop.c | 6 +- > gcc/ipa-split.c | 10 +-- > gcc/ipa-sra.c | 9 +- > gcc/ira-build.c | 4 +- > gcc/ira-conflicts.c | 4 +- > gcc/loop-doloop.c | 2 +- > gcc/loop-invariant.c | 4 +- > gcc/loop-unroll.c | 26 +++--- > gcc/lra-assigns.c | 2 +- > gcc/lra-constraints.c | 2 +- > gcc/lto/lto-partition.c | 10 +-- > gcc/lto/lto.c | 10 +-- > gcc/modulo-sched.c | 6 +- > gcc/opts.c | 48 ++++------- > gcc/postreload-gcse.c | 6 +- > gcc/predict.c | 20 ++--- > gcc/reload.c | 2 +- > gcc/reorg.c | 4 +- > gcc/resource.c | 4 +- > gcc/sanopt.c | 4 +- > gcc/sched-deps.c | 10 +-- > gcc/sched-ebb.c | 4 +- > gcc/sched-rgn.c | 18 ++-- > gcc/sel-sched-ir.c | 4 +- > gcc/sel-sched-ir.h | 2 +- > gcc/sel-sched.c | 4 +- > gcc/shrink-wrap.c | 2 +- > gcc/targhooks.c | 21 ++--- > gcc/toplev.c | 4 +- > gcc/tracer.c | 12 +-- > gcc/trans-mem.c | 2 +- > gcc/tree-chrec.c | 4 +- > gcc/tree-data-ref.c | 4 +- > gcc/tree-if-conv.c | 2 +- > gcc/tree-inline.c | 2 +- > gcc/tree-loop-distribution.c | 2 +- > gcc/tree-parloops.c | 18 ++-- > gcc/tree-predcom.c | 2 +- > gcc/tree-scalar-evolution.c | 4 +- > gcc/tree-sra.c | 19 +++-- > gcc/tree-ssa-ccp.c | 2 +- > gcc/tree-ssa-dse.c | 8 +- > gcc/tree-ssa-ifcombine.c | 4 +- > gcc/tree-ssa-loop-ch.c | 2 +- > gcc/tree-ssa-loop-im.c | 2 +- > gcc/tree-ssa-loop-ivcanon.c | 18 ++-- > gcc/tree-ssa-loop-ivopts.c | 10 +-- > gcc/tree-ssa-loop-manip.c | 2 +- > gcc/tree-ssa-loop-niter.c | 2 +- > gcc/tree-ssa-loop-prefetch.c | 46 +++++----- > gcc/tree-ssa-loop-unswitch.c | 6 +- > gcc/tree-ssa-math-opts.c | 6 +- > gcc/tree-ssa-phiopt.c | 8 +- > gcc/tree-ssa-pre.c | 4 +- > gcc/tree-ssa-reassoc.c | 2 +- > gcc/tree-ssa-sccvn.c | 6 +- > gcc/tree-ssa-scopedtables.c | 2 +- > gcc/tree-ssa-sink.c | 2 +- > gcc/tree-ssa-strlen.c | 8 +- > gcc/tree-ssa-structalias.c | 8 +- > gcc/tree-ssa-tail-merge.c | 4 +- > gcc/tree-ssa-threadbackward.c | 16 ++-- > gcc/tree-ssa-threadedge.c | 4 +- > gcc/tree-ssa-uninit.c | 2 +- > gcc/tree-switch-conversion.c | 6 +- > gcc/tree-switch-conversion.h | 4 +- > gcc/tree-vect-data-refs.c | 11 ++- > gcc/tree-vect-loop.c | 6 +- > gcc/tree-vect-slp.c | 2 +- > gcc/tree-vectorizer.h | 2 +- > gcc/tree-vrp.c | 4 +- > gcc/tree.c | 22 ++--- > gcc/var-tracking.c | 6 +- > 130 files changed, 640 insertions(+), 731 deletions(-) > |
In reply to this post by Martin Liška-2
On Thu, Nov 7, 2019 at 1:33 PM Martin Liska <[hidden email]> wrote:
> > The email thread is follow up of a demo that I made here: > https://gcc.gnu.org/ml/gcc-patches/2019-10/msg02220.html > > The patchset converts current param infrastructure to > the option machinery. The parts 3 and 4 are quite > mechanical. > > I would appreciate a feedback about what parameters > should be per function (Optimization keyword) and global. I didn't go over them but maybe we can postpone this to a followup and for now make _none_ of them Optimization which preserves previous behavior (I guess the optimize attribute/pragma doesn't accept -param either at the moment). I've commented on part 3/4 spotting a long line and also a followup / testing opportunity. > The patch survives bootstrap and regtests on x86_64-linux-gnu > and ppc64-linux-gnu and I made cross build of all target compilers. OK if you split the long lines. The rest can be done as followup. Thanks for the work, Richard. > Thoughts? > Martin > > Martin Liska (7): > Param to options conversion. > Include new generated gcc/params.opt file. > Apply mechanical replacement (generated patch). > Remove gcc/params.* files. > Remove last leftover usage of params* files. > Remove set_default_param_value from documentation. > Fix test-suite fallout. > > gcc/Makefile.in | 20 +- > gcc/asan.c | 19 +- > gcc/auto-profile.c | 3 +- > gcc/bb-reorder.c | 5 +- > gcc/builtins.c | 3 +- > gcc/c/gimple-parser.c | 3 +- > gcc/cfgcleanup.c | 5 +- > gcc/cfgexpand.c | 9 +- > gcc/cfgloopanal.c | 9 +- > gcc/cgraph.c | 3 +- > gcc/combine.c | 5 +- > gcc/common.opt | 10 - > gcc/common/common-target.def | 6 +- > gcc/common/config/aarch64/aarch64-common.c | 16 +- > gcc/common/config/gcn/gcn-common.c | 1 - > gcc/common/config/ia64/ia64-common.c | 9 +- > .../config/powerpcspe/powerpcspe-common.c | 3 +- > gcc/common/config/rs6000/rs6000-common.c | 3 +- > gcc/common/config/sh/sh-common.c | 3 +- > gcc/config/aarch64/aarch64.c | 80 +- > gcc/config/alpha/alpha.c | 17 +- > gcc/config/arm/arm.c | 44 +- > gcc/config/avr/avr.c | 1 - > gcc/config/csky/csky.c | 1 - > gcc/config/i386/i386-builtins.c | 1 - > gcc/config/i386/i386-expand.c | 1 - > gcc/config/i386/i386-features.c | 1 - > gcc/config/i386/i386-options.c | 35 +- > gcc/config/i386/i386.c | 27 +- > gcc/config/ia64/ia64.c | 3 +- > gcc/config/rs6000/rs6000-logue.c | 5 +- > gcc/config/rs6000/rs6000.c | 56 +- > gcc/config/s390/s390.c | 80 +- > gcc/config/sparc/sparc.c | 84 +- > gcc/config/visium/visium.c | 7 +- > gcc/coverage.c | 9 +- > gcc/cp/name-lookup.c | 3 +- > gcc/cp/typeck.c | 5 +- > gcc/cprop.c | 1 - > gcc/cse.c | 7 +- > gcc/cselib.c | 3 +- > gcc/doc/options.texi | 3 + > gcc/doc/tm.texi | 4 +- > gcc/dse.c | 3 +- > gcc/emit-rtl.c | 19 +- > gcc/explow.c | 3 +- > gcc/final.c | 5 +- > gcc/flag-types.h | 11 + > gcc/fold-const.c | 13 +- > gcc/gcc.c | 9 - > gcc/gcse.c | 17 +- > gcc/ggc-common.c | 5 +- > gcc/ggc-page.c | 5 +- > gcc/gimple-loop-interchange.cc | 7 +- > gcc/gimple-loop-jam.c | 9 +- > gcc/gimple-loop-versioning.cc | 5 +- > gcc/gimple-ssa-split-paths.c | 3 +- > gcc/gimple-ssa-sprintf.c | 1 - > gcc/gimple-ssa-store-merging.c | 9 +- > gcc/gimple-ssa-strength-reduction.c | 3 +- > gcc/gimple-ssa-warn-alloca.c | 1 - > gcc/gimple-ssa-warn-restrict.c | 1 - > gcc/graphite-isl-ast-to-gimple.c | 5 +- > gcc/graphite-optimize-isl.c | 5 +- > gcc/graphite-scop-detection.c | 5 +- > gcc/graphite-sese-to-poly.c | 1 - > gcc/graphite.c | 1 - > gcc/haifa-sched.c | 39 +- > gcc/hsa-gen.c | 3 +- > gcc/ifcvt.c | 5 +- > gcc/ipa-cp.c | 31 +- > gcc/ipa-fnsummary.c | 21 +- > gcc/ipa-inline-analysis.c | 3 +- > gcc/ipa-inline.c | 78 +- > gcc/ipa-polymorphic-call.c | 3 +- > gcc/ipa-profile.c | 3 +- > gcc/ipa-prop.c | 7 +- > gcc/ipa-split.c | 11 +- > gcc/ipa-sra.c | 10 +- > gcc/ira-build.c | 5 +- > gcc/ira-conflicts.c | 5 +- > gcc/loop-doloop.c | 3 +- > gcc/loop-invariant.c | 5 +- > gcc/loop-unroll.c | 27 +- > gcc/lra-assigns.c | 3 +- > gcc/lra-constraints.c | 3 +- > gcc/lto/lto-common.c | 1 - > gcc/lto/lto-partition.c | 11 +- > gcc/lto/lto.c | 11 +- > gcc/modulo-sched.c | 7 +- > gcc/opt-functions.awk | 3 +- > gcc/opt-suggestions.c | 59 +- > gcc/opt-suggestions.h | 5 - > gcc/opts-common.c | 20 + > gcc/opts.c | 158 +- > gcc/opts.h | 11 +- > gcc/params-enum.h | 39 - > gcc/params-list.h | 26 - > gcc/params-options.h | 27 - > gcc/params.c | 302 ---- > gcc/params.def | 1495 ----------------- > gcc/params.h | 254 --- > gcc/params.opt | 967 +++++++++++ > gcc/postreload-gcse.c | 7 +- > gcc/predict.c | 21 +- > gcc/reload.c | 3 +- > gcc/reorg.c | 5 +- > gcc/resource.c | 5 +- > gcc/sanopt.c | 5 +- > gcc/sched-deps.c | 11 +- > gcc/sched-ebb.c | 5 +- > gcc/sched-rgn.c | 19 +- > gcc/sel-sched-ir.c | 5 +- > gcc/sel-sched-ir.h | 2 +- > gcc/sel-sched.c | 5 +- > gcc/shrink-wrap.c | 3 +- > gcc/stmt.c | 1 - > gcc/targhooks.c | 22 +- > gcc/testsuite/gcc.dg/completion-3.c | 16 +- > gcc/testsuite/gcc.dg/pr83620.c | 2 +- > gcc/testsuite/gcc.dg/spellcheck-params-2.c | 2 +- > gcc/testsuite/gcc.dg/spellcheck-params.c | 2 +- > gcc/testsuite/gcc.misc-tests/help.exp | 4 +- > gcc/toplev.c | 13 +- > gcc/tracer.c | 13 +- > gcc/trans-mem.c | 3 +- > gcc/tree-chrec.c | 5 +- > gcc/tree-data-ref.c | 5 +- > gcc/tree-if-conv.c | 3 +- > gcc/tree-inline.c | 3 +- > gcc/tree-loop-distribution.c | 3 +- > gcc/tree-parloops.c | 20 +- > gcc/tree-predcom.c | 3 +- > gcc/tree-profile.c | 1 - > gcc/tree-scalar-evolution.c | 5 +- > gcc/tree-sra.c | 20 +- > gcc/tree-ssa-ccp.c | 3 +- > gcc/tree-ssa-dom.c | 1 - > gcc/tree-ssa-dse.c | 9 +- > gcc/tree-ssa-ifcombine.c | 5 +- > gcc/tree-ssa-loop-ch.c | 3 +- > gcc/tree-ssa-loop-im.c | 3 +- > gcc/tree-ssa-loop-ivcanon.c | 19 +- > gcc/tree-ssa-loop-ivopts.c | 11 +- > gcc/tree-ssa-loop-manip.c | 3 +- > gcc/tree-ssa-loop-niter.c | 3 +- > gcc/tree-ssa-loop-prefetch.c | 47 +- > gcc/tree-ssa-loop-unswitch.c | 7 +- > gcc/tree-ssa-math-opts.c | 7 +- > gcc/tree-ssa-phiopt.c | 9 +- > gcc/tree-ssa-pre.c | 5 +- > gcc/tree-ssa-reassoc.c | 3 +- > gcc/tree-ssa-sccvn.c | 7 +- > gcc/tree-ssa-scopedtables.c | 3 +- > gcc/tree-ssa-sink.c | 3 +- > gcc/tree-ssa-strlen.c | 9 +- > gcc/tree-ssa-structalias.c | 9 +- > gcc/tree-ssa-tail-merge.c | 5 +- > gcc/tree-ssa-threadbackward.c | 17 +- > gcc/tree-ssa-threadedge.c | 5 +- > gcc/tree-ssa-uninit.c | 3 +- > gcc/tree-switch-conversion.c | 7 +- > gcc/tree-switch-conversion.h | 4 +- > gcc/tree-vect-data-refs.c | 12 +- > gcc/tree-vect-loop.c | 7 +- > gcc/tree-vect-slp.c | 3 +- > gcc/tree-vectorizer.h | 2 +- > gcc/tree-vrp.c | 5 +- > gcc/tree.c | 23 +- > gcc/value-prof.c | 1 - > gcc/var-tracking.c | 7 +- > 171 files changed, 1689 insertions(+), 3243 deletions(-) > delete mode 100644 gcc/params-enum.h > delete mode 100644 gcc/params-list.h > delete mode 100644 gcc/params-options.h > delete mode 100644 gcc/params.c > delete mode 100644 gcc/params.def > delete mode 100644 gcc/params.h > create mode 100644 gcc/params.opt > > -- > 2.23.0 > |
In reply to this post by Martin Liška-2
On Mon, Nov 11, 2019 at 3:04 PM Martin Liška <[hidden email]> wrote:
> > There's one more refactoring patch that is about more > usage of SET_OPTION_IF_UNSET for parameters. > > Patch can bootstrap on x86_64-linux-gnu and survives regression tests. > > Ready to be installed? OK. Richard. > Thanks, > Martin |
In reply to this post by Richard Biener-2
On 11/11/19 3:36 PM, Richard Biener wrote:
> I think I've noticed at least one long line (please double-check): > > - if (tree_to_uhwi (t) < (unsigned HOST_WIDE_INT) > INTEGER_SHARE_LIMIT) > + if (tree_to_uhwi (t) < (unsigned HOST_WIDE_INT) > param_integer_share_limit) You are right, they were quite some GNU coding style violations. I'm sending updated version of the patch where I fixed that. Martin > > as a followup I notice that the targets *_default_params () functions should > be merged into the default-options structs they have (did you check the > defaults are still applied and user-overridable?) |
In reply to this post by Richard Biener-2
On 11/11/19 3:36 PM, Richard Biener wrote:
> as a followup I notice that the targets *_default_params () functions should > be merged into the default-options structs they have (did you check the > defaults are still applied and user-overridable?) Apparently, the *_default_params target hook is not called right now. So that I decided to directly transform all usages of that to default-options structs. I built all the affected cross compilers and checked --help=param -Q, where I can see the overwritten default. Moreover, a param value can be properly adjusted with a user option. I'm running tests on x86_64-linux-gnu and ppc64-linux-gnu right now to check affect of the attached patch. Martin |
In reply to this post by Richard Biener-2
On 11/11/19 3:42 PM, Richard Biener wrote:
> I didn't go over them but maybe we can postpone this to a followup > and for now make_none_ of them Optimization which preserves Ok, there's updated patch w/o the Optimization keyword. > previous behavior (I guess the optimize attribute/pragma doesn't > accept -param either at the moment). No, the syntax is not allowed. Martin |
In reply to this post by Martin Liška-2
On Tue, Nov 12, 2019 at 10:21 AM Martin Liška <[hidden email]> wrote:
> > On 11/11/19 3:36 PM, Richard Biener wrote: > > as a followup I notice that the targets *_default_params () functions should > > be merged into the default-options structs they have (did you check the > > defaults are still applied and user-overridable?) > > Apparently, the *_default_params target hook is not called right now. So that > I decided to directly transform all usages of that to default-options structs. > I built all the affected cross compilers and checked --help=param -Q, where > I can see the overwritten default. Moreover, a param value can be properly > adjusted with a user option. > > I'm running tests on x86_64-linux-gnu and ppc64-linux-gnu right now to check > affect of the attached patch. OK. Thanks, Richard. > > Martin |
In reply to this post by Martin Liška-2
On Tue, Nov 12, 2019 at 10:23 AM Martin Liška <[hidden email]> wrote:
> > On 11/11/19 3:42 PM, Richard Biener wrote: > > I didn't go over them but maybe we can postpone this to a followup > > and for now make_none_ of them Optimization which preserves > > Ok, there's updated patch w/o the Optimization keyword. OK. Richard. > > previous behavior (I guess the optimize attribute/pragma doesn't > > accept -param either at the moment). > > No, the syntax is not allowed. > > Martin > |
In reply to this post by Martin Liška-2
On Tue, Nov 12, 2019 at 10:19 AM Martin Liška <[hidden email]> wrote:
> > On 11/11/19 3:36 PM, Richard Biener wrote: > > I think I've noticed at least one long line (please double-check): > > > > - if (tree_to_uhwi (t) < (unsigned HOST_WIDE_INT) > > INTEGER_SHARE_LIMIT) > > + if (tree_to_uhwi (t) < (unsigned HOST_WIDE_INT) > > param_integer_share_limit) > > You are right, they were quite some GNU coding style violations. > > I'm sending updated version of the patch where I fixed that. OK. Thanks, Richard. > Martin > > > > > as a followup I notice that the targets *_default_params () functions should > > be merged into the default-options structs they have (did you check the > > defaults are still applied and user-overridable?) > |
In reply to this post by Martin Liška-2
Hi Martin,
On 06.11.19 13:40, Martin Liska wrote: > (finalize_options_struct): Remove. This patch has been committed by now, but it seems that a single use of finalize_options_struct has been overlooked in gcc/tree-streamer-in.c. Best regards, Frederik |
On 11/12/19 4:39 PM, Harwath, Frederik wrote:
> Hi Martin, > > On 06.11.19 13:40, Martin Liska wrote: > >> (finalize_options_struct): Remove. > > This patch has been committed by now, but it seems that a single use of finalize_options_struct has been overlooked > in gcc/tree-streamer-in.c. Thank you for heads up. I'll fix it tomorrow. Martin > > Best regards, > Frederik > |
Free forum by Nabble | Edit this page |