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? 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"