On Fri, Aug 27, 2021 at 10:35 AM Martin Liška <mli...@suse.cz> wrote: > > On 8/26/21 14:39, Martin Liška wrote: > > I can investigate that. > > So there are statistics about #pragma GCC optimize and optimize attribute in > openSUSE:Factory. > The numbers at the line beginning represent number of functions affected by > the pragma or attribute. > Are we smarter in what we want?
So with ignoring darktable which seems completely insane the cases will likely continue to work as intended if we change from the current scheme to appending as proposed. Richard. > Processed 14026 packages, attr/pragma used in 111 > > > --- Mesa-drivers.log --- > > 1x: "O1" > > --- Mesa.log --- > > 1x: "O1" > > --- PrusaSlicer.log --- > > 44x: "-fno-unsafe-math-optimizations" > > --- SVT-AV1.log --- > > 2x: "unroll-loops" > > --- abseil-cpp.log --- > > 4x: "no-optimize-sibling-calls" > > --- analitza.log --- > > 1x: "-fno-unsafe-math-optimizations" > > --- argon2.log --- > > 2x: "O0" > > --- arpack-ng:serial.log --- > > 2x: "-fno-unsafe-math-optimizations" > > --- avogadrolibs.log --- > > 106x: "-fno-unsafe-math-optimizations" > > --- caddy.log --- > > 32x: "no-tree-vectorize" > > --- calligra.log --- > > 1x: "-fno-unsafe-math-optimizations" > > --- ceph-test.log --- > > 2x: "no-tree-vectorize" > > --- ceph.log --- > > 2x: "no-tree-vectorize" > > --- ceres-solver.log --- > > 130x: "-fno-unsafe-math-optimizations" > > --- cmake:mini.log --- > > 1x: "no-tree-vectorize" > > --- cpustat.log --- > > 15x: "-O3" > > --- cross-aarch64-gcc11-bootstrap.log --- > > 32x: "no-omit-frame-pointer" > > --- cross-amdgcn-gcc11.log --- > > 12x: "O2" > > 10x: "-fno-tree-loop-distribute-patterns" > > 1x: "-fno-tree-loop-distribute-patterns""-fno-tree-loop-distribute-patterns" > > --- cross-nvptx-gcc11.log --- > > 6x: "-fno-tree-loop-distribute-patterns" > > 2x: "O2" > > --- csound.log --- > > 6x: "no-finite-math-only" > > 1x: "-fno-unsafe-math-optimizations" > > --- darktable.log --- > > 65213x: "unroll-loops", "tree-loop-if-convert", "tree-loop-distribution", > "no-strict-aliasing", "loop-interchange", "loop-nest-optimize", > "tree-loop-im", "unswitch-loops", "tree-loop-ivcanon", "ira-loop-pressure", > "split-ivs-in-unroller", "tree-loop-vectorize", > "variable-expansion-in-unroller", "split-loops", "ivopts", > "predictive-commoning", "tree-loop-linear", "loop-block", "loop-strip-mine", > "finite-math-only", "fp-contract=fast", "fast-math", "no-math-errno" > > 4981x: "unroll-loops", "tree-loop-if-convert", "tree-loop-distribution", > "no-strict-aliasing", "loop-interchange", "loop-nest-optimize", > "tree-loop-im", "unswitch-loops", "tree-loop-ivcanon", "ira-loop-pressure", > "split-ivs-in-unroller", "variable-expansion-in-unroller", "split-loops", > "ivopts", "predictive-commoning", "tree-loop-linear", "loop-block", > "loop-strip-mine", "finite-math-only", "fp-contract=fast", "fast-math" > > 1021x: "unroll-loops", "tree-loop-if-convert", "tree-loop-distribution", > "no-strict-aliasing", "loop-interchange", "loop-nest-optimize", > "tree-loop-im", "unswitch-loops", "tree-loop-ivcanon", "ira-loop-pressure", > "split-ivs-in-unroller", "variable-expansion-in-unroller", "split-loops", > "ivopts", "predictive-commoning", "tree-loop-linear", "loop-block", > "loop-strip-mine", "fp-contract=fast", "tree-vectorize" > > 1018x: "unroll-loops", "tree-loop-if-convert", "tree-loop-distribution", > "no-strict-aliasing", "loop-interchange", "loop-nest-optimize", > "tree-loop-im", "unswitch-loops", "tree-loop-ivcanon", "ira-loop-pressure", > "split-ivs-in-unroller", "variable-expansion-in-unroller", "split-loops", > "ivopts", "predictive-commoning", "tree-loop-linear", "loop-block", > "loop-strip-mine", "finite-math-only", "fp-contract=fast", "fast-math", > "unroll-loops", "tree-loop-if-convert", "tree-loop-distribution", > "no-strict-aliasing", "loop-interchange", "loop-nest-optimize", > "tree-loop-im", "unswitch-loops", "tree-loop-ivcanon", "ira-loop-pressure", > "split-ivs-in-unroller", "variable-expansion-in-unroller", "split-loops", > "ivopts", "predictive-commoning", "tree-loop-linear", "loop-block", > "loop-strip-mine", "finite-math-only", "fp-contract=fast", "fast-math", > "unroll-loops", "tree-loop-if-convert", "tree-loop-distribution", > "no-strict-aliasing", "loop-interchange", "loop-nest-optimize", > "tree-loop-im", "unsw > itch-loops", "tree-loop-ivcanon", "ira-loop-pressure", > "split-ivs-in-unroller", "variable-expansion-in-unroller", "split-loops", > "ivopts", "predictive-commoning", "tree-loop-linear", "loop-block", > "loop-strip-mine", "finite-math-only", "fp-contract=fast", "fast-math", > "unroll-loops", "tree-loop-if-convert", "tree-loop-distribution", > "no-strict-aliasing", "loop-interchange", "loop-nest-optimize", > "tree-loop-im", "unswitch-loops", "tree-loop-ivcanon", "ira-loop-pressure", > "split-ivs-in-unroller", "variable-expansion-in-unroller", "split-loops", > "ivopts", "predictive-commoning", "tree-loop-linear", "loop-block", > "loop-strip-mine", "finite-math-only", "fp-contract=fast", "fast-math", > "tree-vectorize" > > 1011x: "unroll-loops", "tree-loop-if-convert", "tree-loop-distribution", > "no-strict-aliasing", "loop-interchange", "loop-nest-optimize", > "tree-loop-im", "unswitch-loops", "tree-loop-ivcanon", "ira-loop-pressure", > "split-ivs-in-unroller", "variable-expansion-in-unroller", "split-loops", > "ivopts", "predictive-commoning", "tree-loop-linear", "loop-block", > "loop-strip-mine", "finite-math-only", "fp-contract=fast", "fast-math", > "tree-vectorize", "no-math-errno" > > 315x: "unroll-loops", "tree-loop-if-convert", "tree-loop-distribution", > "no-strict-aliasing", "loop-interchange", "loop-nest-optimize", > "tree-loop-im", "unswitch-loops", "tree-loop-ivcanon", "ira-loop-pressure", > "split-ivs-in-unroller", "variable-expansion-in-unroller", "split-loops", > "ivopts", "predictive-commoning", "tree-loop-linear", "loop-block", > "loop-strip-mine", "finite-math-only", "fp-contract=fast", "fast-math", > "unroll-loops", "tree-loop-if-convert", "tree-loop-distribution", > "no-strict-aliasing", "loop-interchange", "loop-nest-optimize", > "tree-loop-im", "unswitch-loops", "tree-loop-ivcanon", "ira-loop-pressure", > "split-ivs-in-unroller", "variable-expansion-in-unroller", "split-loops", > "ivopts", "predictive-commoning", "tree-loop-linear", "loop-block", > "loop-strip-mine", "finite-math-only", "fp-contract=fast", "fast-math" > > 71x: "unroll-loops", "tree-loop-if-convert", "tree-loop-distribution", > "no-strict-aliasing", "loop-interchange", "loop-nest-optimize", > "tree-loop-im", "unswitch-loops", "tree-loop-ivcanon", "ira-loop-pressure", > "split-ivs-in-unroller", "variable-expansion-in-unroller", "split-loops", > "ivopts", "predictive-commoning", "tree-loop-linear", "loop-block", > "loop-strip-mine", "finite-math-only", "fp-contract=fast", "fast-math", > "no-math-errno" > > 54x: "finite-math-only" > > 13x: "unroll-loops", "tree-loop-if-convert", "tree-loop-distribution", > "no-strict-aliasing", "loop-interchange", "loop-nest-optimize", > "tree-loop-im", "unswitch-loops", "tree-loop-ivcanon", "ira-loop-pressure", > "split-ivs-in-unroller", "variable-expansion-in-unroller", "split-loops", > "ivopts", "predictive-commoning", "tree-loop-linear", "loop-block", > "loop-strip-mine", "finite-math-only", "fp-contract=fast", "fast-math", > "unroll-loops", "tree-loop-if-convert", "tree-loop-distribution", > "no-strict-aliasing", "loop-interchange", "loop-nest-optimize", > "tree-loop-im", "unswitch-loops", "tree-loop-ivcanon", "ira-loop-pressure", > "split-ivs-in-unroller", "variable-expansion-in-unroller", "split-loops", > "ivopts", "predictive-commoning", "tree-loop-linear", "loop-block", > "loop-strip-mine", "finite-math-only", "fp-contract=fast", "fast-math", > "unroll-loops", "tree-loop-if-convert", "tree-loop-distribution", > "no-strict-aliasing", "loop-interchange", "loop-nest-optimize", > "tree-loop-im", "unswit > ch-loops", "tree-loop-ivcanon", "ira-loop-pressure", > "split-ivs-in-unroller", "variable-expansion-in-unroller", "split-loops", > "ivopts", "predictive-commoning", "tree-loop-linear", "loop-block", > "loop-strip-mine", "finite-math-only", "fp-contract=fast", "fast-math" > > 5x: "fast-math", "fp-contract=fast" > > --- eigen3:docs.log --- > > 378x: "-fno-unsafe-math-optimizations" > > --- eventstat.log --- > > 2x: "-O3" > > --- frr.log --- > > 3x: "3" > > --- fwts.log --- > > 4x: "-O0" > > --- fwupd.log --- > > 1x: "0" > > --- gcc11-testresults.log --- > > 4151x: "no-isolate-erroneous-paths-dereference" > > 12x: "O2" > > 8x: "-fno-optimize-sibling-calls" > > 3x: > ATTR="no-isolate-erroneous-paths-dereference""no-isolate-erroneous-paths-dereference" > > 2x: ATTR="no-isolate-erroneous-paths-dereference" > > 1x: "no-isolate-erroneous-paths-dereference"ATTR= > > --- gcc11.log --- > > 5572x: "no-isolate-erroneous-paths-dereference" > > 16x: "O2" > > 8x: "-fno-optimize-sibling-calls" > > --- ghc-cryptonite.log --- > > 3x: "O0" > > --- glibc.log --- > > 308x: "-fno-stack-protector" > > 1x: "-fno-stack-protector"../sysdeps/x86_64/multiarch/memcpy.c:29:1: note: > XXX:optimize attribute: > > 1x: ATTR="-fno-stack-protector" > > 1x: ATTR="-fno-stack-protector""-fno-stack-protector" > > --- glibc:testsuite.log --- > > 318x: "-fno-stack-protector" > > --- glibc:utils.log --- > > 216x: "-fno-stack-protector" > > 1x: "-fno-stack-protector"ATTR= > > --- icinga2.log --- > > 5x: "O0" > > --- java-16-openjdk.log --- > > 24167x: "O0" > > --- keepalived.log --- > > 1x: "O0" > > --- kstars.log --- > > 187x: "-fno-unsafe-math-optimizations" > > --- lammps.log --- > > 6x: "no-var-tracking-assignments" > > --- lastpass-cli.log --- > > 1x: "unroll-loops" > > --- libgcrypt.log --- > > 28x: "O0" > > --- libkeccak.log --- > > 378x: "-O0" > > --- libopenshot-audio.log --- > > 7x: "no-associative-math" > > --- libqt5-qtbase.log --- > > 1x: "omit-frame-pointer" > > 1x: "no-tree-vectorize" > > --- libraw.log --- > > 12x: "no-aggressive-loop-optimizations" > > --- libretro-beetle-psx-hw.log --- > > 10217x: "unroll-loops" > > 56x: "unroll-loops", "unroll-loops" > > --- libretro-beetle-psx.log --- > > 11428x: "unroll-loops" > > 56x: "unroll-loops", "unroll-loops" > > --- libretro-beetle-saturn.log --- > > 132x: "no-crossjumping,no-gcse" > > 39x: "Os" > > 1x: "no-unroll-loops,no-peel-loops,no-crossjumping" > > 1x: "O2,no-unroll-loops,no-peel-loops,no-crossjumping" > > --- libsemigroups.log --- > > 3x: "-fno-unsafe-math-optimizations" > > --- libunwind.log --- > > 4x: "-O1" > > --- libxtrx.log --- > > 5x: "O3" > > --- libxtrxdsp.log --- > > 2x: "unroll-loops" > > --- links.log --- > > 464942x: "-ftree-vectorize", "-ffast-math" > > --- mariadb.log --- > > 2x: "-O0" > > --- memtest86+.log --- > > 1x: "O0" > > --- mercurial.log --- > > 19x: "no-tree-vectorize" > > --- monitoring-plugins.log --- > > 11x: "wrapv" > > --- mono-core.log --- > > 3x: "O0" > > --- movit.log --- > > 41x: "-fno-unsafe-math-optimizations" > > --- mvapich2:gnu-hpc-testsuite.log --- > > 1x: "O0" > > --- mvapich2:gnu-hpc.log --- > > 1x: "O0" > > --- mvapich2:standard.log --- > > 1x: "O0" > > --- mvapich2:testsuite.log --- > > 1x: "O0" > > --- mysql-connector-cpp.log --- > > 36x: "no-tree-vectorize" > > --- newlib:epiphany.log --- > > 3x: "-fno-tree-loop-distribute-patterns" > > --- newlib:riscv64.log --- > > 5x: "-fno-tree-loop-distribute-patterns" > > --- o2scl.log --- > > 92x: "-fno-unsafe-math-optimizations" > > --- ocaml.log --- > > 8x: "tree-vectorize" > > --- openbabel.log --- > > 14x: "-fno-unsafe-math-optimizations" > > --- openucx.log --- > > 220x: "O0" > > --- pdns.log --- > > 6x: "no-associative-math" > > --- perl-Cpanel-JSON-XS.log --- > > 1x: "O0" > > --- perl-Sereal-Decoder.log --- > > 2x: "no-tree-vectorize" > > --- perl-Sereal-Encoder.log --- > > 2x: "no-tree-vectorize" > > --- php7.log --- > > 67x: "Os" > > --- php7:apache2.log --- > > 67x: "Os" > > --- php7:embed.log --- > > 67x: "Os" > > --- php7:fastcgi.log --- > > 67x: "Os" > > --- php7:fpm.log --- > > 67x: "Os" > > --- php8.log --- > > 75x: "Os" > > --- php8:apache2.log --- > > 75x: "Os" > > --- php8:embed.log --- > > 75x: "Os" > > --- php8:fastcgi.log --- > > 75x: "Os" > > --- php8:fpm.log --- > > 74x: "Os" > > --- picom.log --- > > 27x: "-fno-fast-math" > > --- python-Bottleneck.log --- > > 25x: "O3" > > --- python-grpcio.log --- > > 12x: "no-optimize-sibling-calls" > > --- python-numpy.log --- > > 9715x: "O3" > > 48x: "unroll-loops" > > --- python-numpy:gnu-hpc.log --- > > 9709x: "O3" > > 48x: "unroll-loops" > > --- python-pyroomacoustics.log --- > > 2x: "-fno-unsafe-math-optimizations" > > --- python-scipy:gnu-hpc.log --- > > 6179x: "tree-vectorize", "unsafe-math-optimizations", "unroll-loops" > > 1006x: "unroll-loops" > > 1x: "unroll-loops"gcc: scipy/special/cephes/rgamma.c > > --- python-scipy:standard.log --- > > 6179x: "tree-vectorize", "unsafe-math-optimizations", "unroll-loops" > > 1005x: "unroll-loops" > > 1x: "unroll-loops"gcc: scipy/special/cephes/tandg.c > > 1x: ATTR="unroll-loops" > > --- python-thewalrus.log --- > > 2x: "-fno-unsafe-math-optimizations" > > --- python-torch:standard.log --- > > 230x: "-fno-unsafe-math-optimizations" > > --- python-zstandard.log --- > > 12x: "no-tree-vectorize" > > --- python3-espressomd.log --- > > 2x: "no-associative-math" > > --- qt6-base.log --- > > 1x: "omit-frame-pointer" > > 1x: "no-tree-vectorize" > > --- rspamd.log --- > > 22x: "unroll-loops" > > 2x: "no-tree-vectorize" > > --- sha3sum.log --- > > 120x: "-O0" > > --- shim.log --- > > 4x: "0" > > --- snd.log --- > > 223x: "tree-vectorize" > > --- step.log --- > > 49x: "-fno-unsafe-math-optimizations" > > --- stress-ng.log --- > > 1070x: "-O3" > > 7x: "-O0" > > 2x: "-O1" > > --- subversion.log --- > > 184x: "-O0" > > --- sympol.log --- > > 2x: "-fno-unsafe-math-optimizations" > > --- tensorflow2:lite.log --- > > 80x: "-fno-unsafe-math-optimizations" > > --- texlive.log --- > > 1x: "fast-math" > > --- votca-csg.log --- > > 93x: "-fno-unsafe-math-optimizations" > > --- votca-tools.log --- > > 60x: "-fno-unsafe-math-optimizations" > > --- votca-xtp.log --- > > 215x: "-fno-unsafe-math-optimizations" > > --- xf86-video-intel.log --- > > 625x: "Ofast" > > 15x: "Ofast", "Ofast" > > --- xmrig.log --- > > 1x: "O0" > > --- zstd.log --- > > 6x: "no-tree-vectorize" > >