On Thu, Nov 7, 2019 at 1:33 PM Martin Liska <mli...@suse.cz> 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 >