public inbox for libstdc++-cvs@sourceware.org
help / color / mirror / Atom feed
From: Gaius Mulley <gaius@gcc.gnu.org>
To: gcc-cvs@gcc.gnu.org, libstdc++-cvs@gcc.gnu.org
Subject: [gcc/devel/modula-2] Merge branch 'master' into devel/modula-2.
Date: Sun, 19 Dec 2021 01:19:04 +0000 (GMT)	[thread overview]
Message-ID: <20211219011904.C1793385840D@sourceware.org> (raw)

https://gcc.gnu.org/g:c9afa63c3b00e843a703ae959000133a12fc4fcd

commit c9afa63c3b00e843a703ae959000133a12fc4fcd
Merge: fd948137c55 ca8c0408bef
Author: Gaius Mulley <gaius.mulley@southwales.ac.uk>
Date:   Sun Dec 19 01:03:26 2021 +0000

    Merge branch 'master' into devel/modula-2.

Diff:

 ChangeLog                                          |    65 +
 MAINTAINERS                                        |     1 +
 Makefile.in                                        |    63 +-
 Makefile.tpl                                       |    63 +-
 config.sub                                         |    81 +-
 config/ChangeLog                                   |    15 +
 config/gcc-plugin.m4                               |     5 +
 configure                                          |   100 +-
 configure.ac                                       |    65 +
 contrib/ChangeLog                                  |     4 +
 contrib/analyze_brprob_spec.py                     |     1 +
 gcc/ChangeLog                                      |  1200 ++
 gcc/DATESTAMP                                      |     2 +-
 gcc/Makefile.in                                    |     1 -
 gcc/ada/ChangeLog                                  |     6 +
 gcc/analyzer/ChangeLog                             |     4 +
 gcc/analyzer/engine.cc                             |     2 +-
 gcc/attribs.c                                      |    44 +-
 gcc/attribs.h                                      |     2 +
 gcc/builtins.c                                     |    26 +-
 gcc/builtins.def                                   |     1 +
 gcc/c-family/ChangeLog                             |    25 +
 gcc/c-family/c-opts.c                              |     6 +-
 gcc/c-family/c-pragma.c                            |     2 +-
 gcc/c-family/known-headers.cc                      |     2 +-
 gcc/c-family/name-hint.h                           |    12 +-
 gcc/c/ChangeLog                                    |    25 +
 gcc/c/c-decl.c                                     |     4 +-
 gcc/c/c-parser.c                                   |    11 +-
 gcc/common.opt                                     |    12 +
 gcc/config.gcc                                     |     4 +-
 gcc/config/aarch64/aarch64-arches.def              |     1 +
 gcc/config/aarch64/aarch64-builtins.c              |   130 +
 gcc/config/aarch64/aarch64-c.c                     |     2 +
 gcc/config/aarch64/aarch64-option-extensions.def   |     3 +
 gcc/config/aarch64/aarch64-simd.md                 |    47 +
 gcc/config/aarch64/aarch64-sve-builtins.cc         |     2 +-
 gcc/config/aarch64/aarch64.c                       |   178 +-
 gcc/config/aarch64/aarch64.h                       |    33 +-
 gcc/config/aarch64/aarch64.md                      |   136 +-
 gcc/config/aarch64/aarch64.opt                     |    12 +
 gcc/config/aarch64/arm_acle.h                      |    37 +
 gcc/config/arm/types.md                            |     1 +
 gcc/config/darwin-driver.c                         |    14 +-
 gcc/config/darwin.h                                |     5 -
 gcc/config/gcn/mkoffload.c                         |    51 +-
 gcc/config/i386/i386-builtins.c                    |     6 +-
 gcc/config/i386/i386-expand.c                      |   118 +-
 gcc/config/i386/i386.c                             |    30 +-
 gcc/config/i386/i386.h                             |    22 +-
 gcc/config/i386/i386.md                            |    58 +-
 gcc/config/i386/predicates.md                      |    13 +
 gcc/config/i386/sse.md                             |    81 +-
 gcc/config/i386/t-vxworks                          |     7 -
 gcc/config/nvptx/nvptx-c.c                         |     8 +-
 gcc/config/nvptx/nvptx-modes.def                   |     2 +
 gcc/config/nvptx/nvptx-opts.h                      |     8 +-
 gcc/config/nvptx/nvptx.c                           |    43 +-
 gcc/config/nvptx/nvptx.h                           |     4 +
 gcc/config/nvptx/nvptx.md                          |   109 +
 gcc/config/nvptx/nvptx.opt                         |    12 +
 gcc/config/rs6000/constraints.md                   |    12 +
 gcc/config/rs6000/darwin.h                         |     8 +-
 gcc/config/rs6000/mma.md                           |    38 +-
 gcc/config/rs6000/predicates.md                    |    85 +
 gcc/config/rs6000/rs6000-builtin.def               |  3350 ----
 ...{rs6000-builtin-new.def => rs6000-builtins.def} |    63 +-
 gcc/config/rs6000/rs6000-c.c                       |  2765 +--
 gcc/config/rs6000/rs6000-call.c                    | 17831 ++++---------------
 gcc/config/rs6000/rs6000-gen-builtins.c            |   128 +-
 gcc/config/rs6000/rs6000-internal.h                |     2 +-
 gcc/config/rs6000/rs6000-overload.def              |     2 +-
 gcc/config/rs6000/rs6000-protos.h                  |    35 +-
 gcc/config/rs6000/rs6000.c                         |   846 +-
 gcc/config/rs6000/rs6000.h                         |    58 -
 gcc/config/rs6000/rs6000.md                        |   149 +-
 gcc/config/rs6000/rs6000.opt                       |    12 +
 gcc/config/rs6000/t-rs6000                         |     7 +-
 gcc/config/rs6000/t-vxworks                        |     6 +-
 gcc/config/rs6000/vsx.md                           |    14 +
 gcc/config/rs6000/vxworks.h                        |    15 +-
 gcc/config/t-vxworks                               |     9 +-
 gcc/config/vx-common.h                             |     7 +-
 gcc/config/vxworks.h                               |   170 +-
 gcc/config/vxworks/_yvals.h                        |     6 +-
 gcc/configure                                      |     7 +-
 gcc/configure.ac                                   |     2 +-
 gcc/cp/ChangeLog                                   |   256 +
 gcc/cp/call.c                                      |    39 +-
 gcc/cp/class.c                                     |   145 +-
 gcc/cp/constraint.cc                               |    29 +-
 gcc/cp/coroutines.cc                               |    18 +-
 gcc/cp/cp-objcp-common.c                           |     1 +
 gcc/cp/cp-tree.def                                 |     5 +
 gcc/cp/cp-tree.h                                   |    70 +-
 gcc/cp/cxx-pretty-print.c                          |     4 +-
 gcc/cp/decl.c                                      |    80 +-
 gcc/cp/decl2.c                                     |     5 +-
 gcc/cp/error.c                                     |     2 +-
 gcc/cp/friend.c                                    |    26 +-
 gcc/cp/lex.c                                       |     2 +-
 gcc/cp/method.c                                    |    12 +-
 gcc/cp/module.cc                                   |     2 +
 gcc/cp/name-lookup.c                               |   143 +-
 gcc/cp/name-lookup.h                               |     3 -
 gcc/cp/parser.c                                    |    85 +-
 gcc/cp/pt.c                                        |    93 +-
 gcc/cp/ptree.c                                     |     6 +
 gcc/cp/semantics.c                                 |    51 +-
 gcc/cp/tree.c                                      |    12 +-
 gcc/cp/typeck.c                                    |   115 +-
 gcc/cp/typeck2.c                                   |     2 +-
 gcc/d/ChangeLog                                    |    45 +
 gcc/d/Make-lang.in                                 |     1 +
 gcc/d/d-attribs.cc                                 |     6 +-
 gcc/d/d-codegen.cc                                 |     6 +-
 gcc/d/d-compiler.cc                                |     4 +-
 gcc/d/d-lang.cc                                    |    15 +-
 gcc/d/d-port.cc                                    |     2 +
 gcc/d/d-target.cc                                  |    30 +-
 gcc/d/decl.cc                                      |     5 +-
 gcc/d/dmd/MERGE                                    |     2 +-
 gcc/d/dmd/VERSION                                  |     2 +-
 gcc/d/dmd/access.d                                 |     2 +-
 gcc/d/dmd/aggregate.d                              |    14 +-
 gcc/d/dmd/aliasthis.d                              |     4 +-
 gcc/d/dmd/arrayop.d                                |    79 +-
 gcc/d/dmd/astenums.d                               |     4 +-
 gcc/d/dmd/attrib.d                                 |    11 +-
 gcc/d/dmd/blockexit.d                              |    20 +-
 gcc/d/dmd/builtin.d                                |     2 -
 gcc/d/dmd/canthrow.d                               |     2 +-
 gcc/d/dmd/clone.d                                  |     8 +-
 gcc/d/dmd/common/outbuffer.h                       |     2 +-
 gcc/d/dmd/cond.d                                   |     2 +-
 gcc/d/dmd/constfold.d                              |   186 +-
 gcc/d/dmd/cparse.d                                 |    81 +-
 gcc/d/dmd/cppmangle.d                              |     2 +-
 gcc/d/dmd/ctfeexpr.d                               |   405 +-
 gcc/d/dmd/dcast.d                                  |   176 +-
 gcc/d/dmd/declaration.d                            |    40 +-
 gcc/d/dmd/declaration.h                            |     9 +-
 gcc/d/dmd/dinterpret.d                             |   636 +-
 gcc/d/dmd/dmangle.d                                |     4 +-
 gcc/d/dmd/dstruct.d                                |    18 +-
 gcc/d/dmd/dsymbol.d                                |    71 +-
 gcc/d/dmd/dsymbol.h                                |     1 +
 gcc/d/dmd/dsymbolsem.d                             |    63 +-
 gcc/d/dmd/dtemplate.d                              |   151 +-
 gcc/d/dmd/dtoh.d                                   |    11 +-
 gcc/d/dmd/escape.d                                 |    65 +-
 gcc/d/dmd/expression.d                             |   786 +-
 gcc/d/dmd/expression.h                             |    28 +-
 gcc/d/dmd/expressionsem.d                          |   879 +-
 gcc/d/dmd/foreachvar.d                             |     2 +-
 gcc/d/dmd/func.d                                   |     9 +-
 gcc/d/dmd/globals.d                                |     2 +-
 gcc/d/dmd/hdrgen.d                                 |   195 +-
 gcc/d/dmd/iasmgcc.d                                |     4 +-
 gcc/d/dmd/id.d                                     |     3 +
 gcc/d/dmd/importc.d                                |    93 +-
 gcc/d/dmd/initsem.d                                |    69 +-
 gcc/d/dmd/lambdacomp.d                             |     5 +-
 gcc/d/dmd/lexer.d                                  |    40 +-
 gcc/d/dmd/mtype.d                                  |    16 +-
 gcc/d/dmd/nogc.d                                   |     6 +-
 gcc/d/dmd/ob.d                                     |     6 +-
 gcc/d/dmd/objc.d                                   |    12 +-
 gcc/d/dmd/opover.d                                 |   341 +-
 gcc/d/dmd/optimize.d                               |  1568 +-
 gcc/d/dmd/parse.d                                  |   361 +-
 gcc/d/dmd/printast.d                               |    34 +-
 gcc/d/dmd/root/dcompat.h                           |     3 +
 gcc/d/dmd/root/file.d                              |    18 +-
 gcc/d/dmd/root/optional.d                          |    86 +
 gcc/d/dmd/root/optional.h                          |    42 +
 gcc/d/dmd/safe.d                                   |     4 +-
 gcc/d/dmd/semantic2.d                              |    18 +-
 gcc/d/dmd/semantic3.d                              |    16 +-
 gcc/d/dmd/sideeffect.d                             |    84 +-
 gcc/d/dmd/statementsem.d                           |   985 +-
 gcc/d/dmd/staticcond.d                             |    51 +-
 gcc/d/dmd/target.d                                 |     7 +-
 gcc/d/dmd/target.h                                 |     5 +-
 gcc/d/dmd/templateparamsem.d                       |     6 +-
 gcc/d/dmd/tokens.d                                 |   232 +-
 gcc/d/dmd/tokens.h                                 |   602 +-
 gcc/d/dmd/traits.d                                 |    41 +-
 gcc/d/dmd/typesem.d                                |   157 +-
 gcc/d/expr.cc                                      |   259 +-
 gcc/d/gdc.texi                                     |    11 +-
 gcc/d/intrinsics.cc                                |     2 +-
 gcc/d/lang.opt                                     |     8 +-
 gcc/d/runtime.def                                  |     7 -
 gcc/d/toir.cc                                      |     3 +-
 gcc/d/types.cc                                     |     2 +-
 gcc/doc/extend.texi                                |    20 +-
 gcc/doc/invoke.texi                                |    38 +-
 gcc/doc/md.texi                                    |     8 +
 gcc/dwarf2cfi.c                                    |    58 +-
 gcc/fortran/ChangeLog                              |    48 +
 gcc/fortran/check.c                                |    35 +-
 gcc/fortran/expr.c                                 |     9 +-
 gcc/fortran/frontend-passes.c                      |    19 +-
 gcc/fortran/openmp.c                               |    81 +-
 gcc/fortran/resolve.c                              |     3 +-
 gcc/fortran/simplify.c                             |    10 +
 gcc/fortran/trans-openmp.c                         |   211 +-
 gcc/gcc.c                                          |    25 +-
 gcc/gimple-fold.c                                  |    11 +-
 gcc/gimple-ssa-warn-access.cc                      |     4 +
 gcc/ginclude/stddef.h                              |     9 +
 gcc/ipa-fnsummary.c                                |     2 +-
 gcc/ipa-inline.c                                   |    72 +-
 gcc/ipa-modref-tree.c                              |    14 +-
 gcc/ipa-modref-tree.h                              |    28 +-
 gcc/ipa-modref.c                                   |   191 +-
 gcc/ipa-profile.c                                  |    12 -
 gcc/ipa-pure-const.c                               |    22 +
 gcc/ira-costs.c                                    |    22 +-
 gcc/jit/ChangeLog                                  |    87 +
 gcc/jit/docs/topics/compatibility.rst              |    18 +
 gcc/jit/docs/topics/expressions.rst                |   231 +
 gcc/jit/jit-builtins.c                             |    10 +-
 gcc/jit/jit-common.h                               |     9 +
 gcc/jit/jit-playback.c                             |   224 +-
 gcc/jit/jit-playback.h                             |    32 +-
 gcc/jit/jit-recording.c                            |   532 +-
 gcc/jit/jit-recording.h                            |   124 +-
 gcc/jit/libgccjit++.h                              |    90 +
 gcc/jit/libgccjit.c                                |   436 +-
 gcc/jit/libgccjit.h                                |   188 +
 gcc/jit/libgccjit.map                              |    17 +
 gcc/lto-wrapper.c                                  |     7 +-
 gcc/machmode.h                                     |     2 +-
 gcc/optc-save-gen.awk                              |     2 +-
 gcc/opts.c                                         |    10 +
 gcc/params.opt                                     |     8 +
 gcc/pointer-query.cc                               |    33 +-
 gcc/poly-int.h                                     |     2 +-
 gcc/ree.c                                          |    35 +-
 gcc/regrename.c                                    |     5 +
 gcc/selftest-run-tests.c                           |     1 -
 gcc/selftest.h                                     |     1 -
 gcc/symtab.c                                       |     2 +-
 gcc/system.h                                       |     8 +-
 gcc/testsuite/ChangeLog                            |   538 +
 gcc/testsuite/c-c++-common/Wno-attributes-6.c      |    16 +
 gcc/testsuite/g++.dg/abi/macro0.C                  |     2 +-
 gcc/testsuite/g++.dg/abi/no_unique_address6.C      |    23 +
 gcc/testsuite/g++.dg/abi/nsdmi-aggr1.C             |    39 +
 gcc/testsuite/g++.dg/abi/nsdmi-aggr1a.C            |    35 +
 gcc/testsuite/g++.dg/concepts/diagnostic18.C       |     4 +-
 gcc/testsuite/g++.dg/coroutines/pr100127.C         |    65 +
 gcc/testsuite/g++.dg/coroutines/pr100772-a.C       |    77 +
 gcc/testsuite/g++.dg/coroutines/pr100772-b.C       |    93 +
 gcc/testsuite/g++.dg/coroutines/pr96517.C          |    29 +
 gcc/testsuite/g++.dg/cpp0x/noexcept71.C            |    31 +
 gcc/testsuite/g++.dg/cpp1y/decltype-auto5.C        |    35 +
 gcc/testsuite/g++.dg/cpp23/auto-fncast10.C         |    18 +
 gcc/testsuite/g++.dg/cpp23/auto-fncast11.C         |    19 +
 gcc/testsuite/g++.dg/diagnostic/redeclaration-2.C  |    19 +
 .../g++.dg/ext/builtin-dynamic-object-size1.C      |     5 +
 .../g++.dg/ext/builtin-dynamic-object-size2.C      |     5 +
 gcc/testsuite/g++.dg/gomp/pr103704.C               |    19 +
 gcc/testsuite/g++.dg/lookup/operator-3-ops.h       |    53 +
 gcc/testsuite/g++.dg/lookup/operator-3.C           |    56 +-
 gcc/testsuite/g++.dg/lookup/operator-3a.C          |    61 +
 gcc/testsuite/g++.dg/lookup/operator-4.C           |    74 +
 gcc/testsuite/g++.dg/lookup/operator-4a.C          |    76 +
 gcc/testsuite/g++.dg/lookup/operator-5.C           |    74 +
 gcc/testsuite/g++.dg/lookup/operator-5a.C          |    76 +
 gcc/testsuite/g++.dg/lookup/operator-6.C           |    59 +
 gcc/testsuite/g++.dg/lookup/operator-7.C           |    27 +
 gcc/testsuite/g++.dg/lookup/operator-8.C           |    34 +
 gcc/testsuite/g++.dg/template/redecl4.C            |     2 +-
 gcc/testsuite/g++.dg/warn/Wmismatched-tags-9.C     |    32 +
 gcc/testsuite/g++.dg/warn/Wstringop-overflow-8.C   |    10 +
 .../g++.target/i386/avx512vl-pr100738-1.C          |     8 +
 gcc/testsuite/g++.target/i386/pr103696.C           |    25 +
 gcc/testsuite/gcc.c-torture/compile/pr103513.c     |     8 +
 gcc/testsuite/gcc.c-torture/compile/pr103682.c     |     3 +
 gcc/testsuite/gcc.dg/20021029-1.c                  |     1 +
 gcc/testsuite/gcc.dg/Warray-bounds-48.c            |     1 +
 gcc/testsuite/gcc.dg/Warray-bounds-91.c            |   145 +
 gcc/testsuite/gcc.dg/Warray-bounds-92.c            |   149 +
 gcc/testsuite/gcc.dg/Wstringop-overflow-58.c       |    22 +-
 gcc/testsuite/gcc.dg/Wstringop-overflow-59.c       |    18 +-
 gcc/testsuite/gcc.dg/Wstringop-overflow-85.c       |   153 +
 gcc/testsuite/gcc.dg/Wstringop-overflow-86.c       |    63 +
 gcc/testsuite/gcc.dg/Wstringop-overflow-87.c       |   147 +
 gcc/testsuite/gcc.dg/analyzer/data-model-1.c       |     1 +
 gcc/testsuite/gcc.dg/builtin-dynamic-alloc-size.c  |     7 +
 .../gcc.dg/builtin-dynamic-object-size-1.c         |     6 +
 .../gcc.dg/builtin-dynamic-object-size-10.c        |     9 +
 .../gcc.dg/builtin-dynamic-object-size-11.c        |     7 +
 .../gcc.dg/builtin-dynamic-object-size-12.c        |     5 +
 .../gcc.dg/builtin-dynamic-object-size-13.c        |     5 +
 .../gcc.dg/builtin-dynamic-object-size-14.c        |     5 +
 .../gcc.dg/builtin-dynamic-object-size-15.c        |     5 +
 .../gcc.dg/builtin-dynamic-object-size-16.c        |     6 +
 .../gcc.dg/builtin-dynamic-object-size-17.c        |     7 +
 .../gcc.dg/builtin-dynamic-object-size-18.c        |     8 +
 .../gcc.dg/builtin-dynamic-object-size-19.c        |   104 +
 .../gcc.dg/builtin-dynamic-object-size-2.c         |     6 +
 .../gcc.dg/builtin-dynamic-object-size-3.c         |     6 +
 .../gcc.dg/builtin-dynamic-object-size-4.c         |     6 +
 .../gcc.dg/builtin-dynamic-object-size-5.c         |     7 +
 .../gcc.dg/builtin-dynamic-object-size-6.c         |     5 +
 .../gcc.dg/builtin-dynamic-object-size-7.c         |     5 +
 .../gcc.dg/builtin-dynamic-object-size-8.c         |     5 +
 .../gcc.dg/builtin-dynamic-object-size-9.c         |     5 +
 gcc/testsuite/gcc.dg/builtin-object-size-1.c       |    30 +
 gcc/testsuite/gcc.dg/builtin-object-size-16.c      |     2 +
 gcc/testsuite/gcc.dg/builtin-object-size-17.c      |     2 +
 gcc/testsuite/gcc.dg/builtin-object-size-2.c       |    30 +
 gcc/testsuite/gcc.dg/builtin-object-size-3.c       |    31 +
 gcc/testsuite/gcc.dg/builtin-object-size-4.c       |    30 +
 gcc/testsuite/gcc.dg/builtin-object-size-5.c       |    25 +
 gcc/testsuite/gcc.dg/darwin-minversion-link.c      |     3 +-
 gcc/testsuite/gcc.dg/ipa/pr103601.c                |    35 +
 gcc/testsuite/gcc.dg/pr100843.c                    |     8 +
 gcc/testsuite/gcc.dg/pr103587.c                    |     7 +
 .../gcc.dg/tree-ssa/builtin-snprintf-warn-6.c      |    47 +
 gcc/testsuite/gcc.dg/uninit-38.c                   |     2 +-
 gcc/testsuite/gcc.dg/uninit-pr98578.c              |     2 +-
 gcc/testsuite/gcc.dg/vect/pr103744-1.c             |    20 +
 gcc/testsuite/gcc.dg/vect/pr103744-2.c             |    31 +
 gcc/testsuite/gcc.dg/warn-strnlen-no-nul.c         |    43 +-
 gcc/testsuite/gcc.target/aarch64/acle/ls64_asm.c   |    58 +
 .../gcc.target/aarch64/acle/ls64_ld64b-2.c         |    15 +
 .../gcc.target/aarch64/acle/ls64_ld64b-3.c         |    15 +
 gcc/testsuite/gcc.target/aarch64/acle/ls64_ld64b.c |    15 +
 .../gcc.target/aarch64/acle/ls64_ld_st_o0.c        |    30 +
 .../gcc.target/aarch64/acle/ls64_st64b-2.c         |    15 +
 gcc/testsuite/gcc.target/aarch64/acle/ls64_st64b.c |    15 +
 .../gcc.target/aarch64/acle/ls64_st64bv-2.c        |    15 +
 .../gcc.target/aarch64/acle/ls64_st64bv-3.c        |    15 +
 .../gcc.target/aarch64/acle/ls64_st64bv.c          |    15 +
 .../gcc.target/aarch64/acle/ls64_st64bv0-2.c       |    15 +
 .../gcc.target/aarch64/acle/ls64_st64bv0-3.c       |    15 +
 .../gcc.target/aarch64/acle/ls64_st64bv0.c         |    15 +
 gcc/testsuite/gcc.target/aarch64/mops_1.c          |    57 +
 gcc/testsuite/gcc.target/aarch64/mops_2.c          |    57 +
 gcc/testsuite/gcc.target/aarch64/mops_3.c          |    85 +
 gcc/testsuite/gcc.target/aarch64/pr100518.c        |     9 +
 gcc/testsuite/gcc.target/aarch64/pr103094.c        |    22 +
 gcc/testsuite/gcc.target/aarch64/pr103350-1.c      |    48 +
 gcc/testsuite/gcc.target/aarch64/pr103350-2.c      |    53 +
 gcc/testsuite/gcc.target/aarch64/pr103523.c        |     8 +
 gcc/testsuite/gcc.target/aarch64/pr103741.c        |    26 +
 .../gcc.target/aarch64/pragma_cpp_predefs_2.c      |    14 +
 gcc/testsuite/gcc.target/i386/avx2-psraq-1.c       |     2 +-
 gcc/testsuite/gcc.target/i386/m128-check.h         |     8 +-
 gcc/testsuite/gcc.target/i386/pr101796-1.c         |    20 +
 gcc/testsuite/gcc.target/i386/pr102812.c           |     1 -
 gcc/testsuite/gcc.target/i386/pr103611-1.c         |    30 +
 gcc/testsuite/gcc.target/i386/pr103611-2.c         |    43 +
 gcc/testsuite/gcc.target/i386/pr32803.c            |    10 +
 gcc/testsuite/gcc.target/i386/pr99531.c            |     7 +
 gcc/testsuite/gcc.target/i386/sse2-psraq-1.c       |     2 +-
 gcc/testsuite/gcc.target/i386/sse4_2-check.h       |     1 +
 gcc/testsuite/gcc.target/nvptx/float16-1.c         |    53 +
 gcc/testsuite/gcc.target/nvptx/float16-2.c         |    20 +
 gcc/testsuite/gcc.target/nvptx/tanh-1.c            |     9 +
 gcc/testsuite/gcc.target/powerpc/darn-0.c          |     2 +-
 gcc/testsuite/gcc.target/powerpc/darn-1.c          |     5 +-
 gcc/testsuite/gcc.target/powerpc/darn-2.c          |     5 +-
 gcc/testsuite/gcc.target/powerpc/darn-3.c          |     2 +-
 .../gcc.target/powerpc/float128-constant.c         |   160 +
 .../gcc.target/powerpc/fold-vec-insert-float-p9.c  |     4 +-
 .../gcc.target/powerpc/mma-builtin-10-pair.c       |    21 +
 .../gcc.target/powerpc/mma-builtin-10-quad.c       |    23 +
 gcc/testsuite/gcc.target/powerpc/pr103515.c        |    30 +
 .../gcc.target/powerpc/pr86731-fwrapv-longlong.c   |     9 +-
 gcc/testsuite/gcc.target/powerpc/pr97142.c         |     2 +-
 gcc/testsuite/gcc.target/powerpc/pragma-optimize.c |     1 +
 .../gcc.target/powerpc/vec-splat-constant-df.c     |    60 +
 .../gcc.target/powerpc/vec-splat-constant-sf.c     |    60 +
 .../gcc.target/powerpc/vec-splat-constant-v16qi.c  |    27 +
 .../gcc.target/powerpc/vec-splat-constant-v2df.c   |    64 +
 .../gcc.target/powerpc/vec-splat-constant-v2di.c   |    50 +
 .../gcc.target/powerpc/vec-splat-constant-v4sf.c   |    67 +
 .../gcc.target/powerpc/vec-splat-constant-v4si.c   |    51 +
 .../gcc.target/powerpc/vec-splat-constant-v8hi.c   |    62 +
 .../gcc.target/powerpc/vec-splati-runnable.c       |     4 +-
 .../gdc.test/compilable/covariant_override.d       |    34 +
 gcc/testsuite/gdc.test/compilable/cppmangle.d      |   371 +-
 gcc/testsuite/gdc.test/compilable/cppmangle3.d     |     9 +-
 gcc/testsuite/gdc.test/compilable/emptygenmain.d   |     3 +
 gcc/testsuite/gdc.test/compilable/issue21203.d     |   210 +
 gcc/testsuite/gdc.test/compilable/issue21340.d     |    38 +
 gcc/testsuite/gdc.test/compilable/noreturn1.d      |    12 +
 gcc/testsuite/gdc.test/compilable/test10028.d      |     7 +
 gcc/testsuite/gdc.test/compilable/test17870.d      |    26 +
 gcc/testsuite/gdc.test/compilable/test19873.d      |    37 +
 gcc/testsuite/gdc.test/compilable/test20236.d      |    22 +
 gcc/testsuite/gdc.test/compilable/test20860.d      |    16 +
 gcc/testsuite/gdc.test/compilable/test21073.d      |    16 +
 gcc/testsuite/gdc.test/compilable/test21414.d      |    13 +
 gcc/testsuite/gdc.test/compilable/test21719.d      |    21 +
 gcc/testsuite/gdc.test/compilable/test22254.d      |    19 +
 gcc/testsuite/gdc.test/compilable/test22510.d      |    18 +
 gcc/testsuite/gdc.test/fail_compilation/b15875.d   |     2 +-
 .../gdc.test/fail_compilation/covariant_override.d |    35 +
 .../gdc.test/fail_compilation/fail10964.d          |     4 +-
 .../gdc.test/fail_compilation/fail10968.d          |    38 +-
 gcc/testsuite/gdc.test/fail_compilation/fail116.d  |     2 +-
 .../gdc.test/fail_compilation/fail16997.d          |    38 +-
 .../gdc.test/fail_compilation/fail20616.d          |    26 +
 .../gdc.test/fail_compilation/fail22529.d          |    14 +
 .../gdc.test/fail_compilation/fail22570.d          |    21 +
 gcc/testsuite/gdc.test/fail_compilation/fail809.d  |    12 -
 gcc/testsuite/gdc.test/fail_compilation/fob2.d     |     2 +-
 gcc/testsuite/gdc.test/fail_compilation/ice22516.d |    21 +
 .../gdc.test/fail_compilation/imports/test20023b.d |    10 +
 gcc/testsuite/gdc.test/fail_compilation/retscope.d |     8 +-
 .../gdc.test/fail_compilation/test15191.d          |    42 +-
 .../gdc.test/fail_compilation/test17977.d          |    20 +
 .../gdc.test/fail_compilation/test20023.d          |    16 +
 .../gdc.test/fail_compilation/test22574.d          |    12 +
 .../gdc.test/fail_compilation/test_switch_error.d  |   101 +
 .../gdc.test/fail_compilation/traits_initSymbol.d  |    63 +
 gcc/testsuite/gdc.test/runnable/b19294.d           |   163 +
 gcc/testsuite/gdc.test/runnable/interpret.d        |    23 +
 gcc/testsuite/gdc.test/runnable/mars1.d            |     2 +-
 gcc/testsuite/gdc.test/runnable/test15862.d        |    39 +
 gcc/testsuite/gdc.test/runnable/test16579.d        |    57 +
 gcc/testsuite/gdc.test/runnable/test18054.d        |    41 +
 gcc/testsuite/gdc.test/runnable/test21367.d        |    47 +
 gcc/testsuite/gdc.test/runnable/test22227.d        |    16 +
 gcc/testsuite/gdc.test/runnable/testOpApply.d      |    31 +-
 gcc/testsuite/gdc.test/runnable/testcgelem.d       |     2 +-
 gcc/testsuite/gdc.test/runnable/testconst.d        |     8 +-
 .../gdc.test/runnable/traits_initSymbol.d          |   119 +
 gcc/testsuite/gdc.test/runnable/xtest46.d          |     7 +-
 gcc/testsuite/gdc.test/runnable_cxx/cppa.d         |    59 +-
 .../gdc.test/runnable_cxx/extra-files/cpp7925.cpp  |   103 +
 .../gdc.test/runnable_cxx/extra-files/cppb.cpp     |    33 -
 gcc/testsuite/gdc.test/runnable_cxx/test7925.d     |   151 +
 gcc/testsuite/gfortran.dg/date_and_time_1.f90      |    35 +
 gcc/testsuite/gfortran.dg/do_check_18.f90          |    27 +
 gcc/testsuite/gfortran.dg/do_check_19.f90          |    21 +
 .../goacc/privatization-1-compute-loop.f90         |     1 -
 .../gfortran.dg/goacc/privatization-1-compute.f90  |     1 -
 .../goacc/privatization-1-routine_gang-loop.f90    |     1 -
 .../goacc/privatization-1-routine_gang.f90         |     1 -
 gcc/testsuite/gfortran.dg/gomp/atomic-21.f90       |    93 +
 gcc/testsuite/gfortran.dg/gomp/atomic-25.f90       |    18 +-
 gcc/testsuite/gfortran.dg/gomp/atomic-26.f90       |    26 +-
 gcc/testsuite/gfortran.dg/illegal_boz_arg_2.f90    |     6 +
 gcc/testsuite/gfortran.dg/intrinsic_pack_6.f90     |    57 +
 gcc/testsuite/gfortran.dg/iostat_5.f90             |    16 +
 gcc/testsuite/gfortran.dg/move_alloc_8.f90         |     4 +-
 gcc/testsuite/gfortran.dg/pointer_intent_9.f90     |    33 +
 gcc/testsuite/gfortran.dg/pr103606.f90             |    12 +
 gcc/testsuite/gfortran.dg/pr91497.f90              |    23 +-
 gcc/testsuite/gfortran.dg/pr91497_2.f90            |   124 +
 gcc/testsuite/jit.dg/all-non-failing-tests.h       |    46 +
 gcc/testsuite/jit.dg/jit.exp                       |    33 +
 gcc/testsuite/jit.dg/test-builtin-types.c          |    43 +
 gcc/testsuite/jit.dg/test-error-bad-assignment.c   |    78 +
 .../jit.dg/test-error-ctor-array-wrong-obj.c       |    54 +
 .../jit.dg/test-error-ctor-struct-too-big.c        |    71 +
 .../test-error-ctor-struct-wrong-field-obj.c       |    86 +
 .../jit.dg/test-error-ctor-struct-wrong-type.c     |    76 +
 .../jit.dg/test-error-ctor-struct-wrong-type2.c    |    77 +
 .../test-error-ctor-union-wrong-field-name.c       |    76 +
 .../jit.dg/test-error-global-already-init.c        |    46 +
 .../jit.dg/test-error-global-common-section.c      |    54 +
 .../test-error-global-init-too-small-array.c       |    65 +
 .../jit.dg/test-error-global-lvalue-init.c         |    60 +
 .../jit.dg/test-error-global-nonconst-init.c       |    80 +
 gcc/testsuite/jit.dg/test-fuzzer.c                 |     8 +-
 gcc/testsuite/jit.dg/test-global-init-rvalue.c     |  1643 ++
 gcc/testsuite/jit.dg/test-link-section-assembler.c |    37 +
 gcc/testsuite/jit.dg/test-local-init-rvalue.c      |   707 +
 gcc/testsuite/jit.dg/test-pr103562.c               |    62 +
 gcc/testsuite/jit.dg/test-tls.c                    |    64 +
 gcc/testsuite/lib/fortran-torture.exp              |     8 +-
 gcc/testsuite/lib/gcc-defs.exp                     |     4 +-
 gcc/testsuite/lib/gcc-dg.exp                       |     6 +-
 gcc/testsuite/lib/go-torture.exp                   |     8 +-
 gcc/testsuite/obj-c++.dg/cxx-ivars-3.mm            |     2 +-
 gcc/testsuite/obj-c++.dg/objc-gc-3.mm              |     2 +-
 gcc/testsuite/objc.dg/objc-gc-4.m                  |     2 +-
 gcc/tree-core.h                                    |     4 +-
 gcc/tree-object-size.c                             |   521 +-
 gcc/tree-object-size.h                             |    12 +-
 gcc/tree-ssa-alias.c                               |    36 +
 gcc/tree-ssa-ccp.c                                 |     4 +-
 gcc/tree-vect-loop.c                               |    13 +-
 gcc/tree-vect-stmts.c                              |    10 +-
 gcc/ubsan.c                                        |     5 +-
 gcc/unique-ptr-tests.cc                            |   236 -
 gcc/wide-int.h                                     |     4 +-
 include/ChangeLog                                  |     8 +
 include/gomp-constants.h                           |     2 +-
 include/unique-ptr.h                               |   405 -
 libcc1/ChangeLog                                   |    13 +
 libcc1/configure                                   |     5 +
 libcc1/libcp1plugin.cc                             |     4 +-
 libgcc/ChangeLog                                   |    77 +
 libgcc/config.host                                 |    17 +-
 libgcc/config/rs6000/t-darwin-ehs                  |     4 +-
 libgcc/config/rs6000/t-vxworks                     |     1 +
 libgcc/config/t-darwin                             |     2 +-
 libgcc/config/t-darwin-ehs                         |     3 +
 libgcc/config/t-slibgcc-darwin                     |     8 +-
 libgcc/config/t-vxcrtstuffS                        |     9 +
 libgcc/config/t-vxworks                            |    11 +-
 libgcc/config/t-vxworks7                           |    22 -
 libgcc/config/vxcrtstuff.c                         |    88 +-
 libgfortran/ChangeLog                              |    26 +
 libgfortran/intrinsics/date_and_time.c             |    24 +-
 libgfortran/intrinsics/pack_generic.c              |     9 +
 libgfortran/intrinsics/time_1.h                    |    14 +-
 libgfortran/io/file_pos.c                          |     2 +-
 libgfortran/io/format.c                            |     9 +-
 libgfortran/io/list_read.c                         |    19 +-
 libgfortran/io/read.c                              |     9 +-
 libgfortran/io/write.c                             |     7 +-
 libgfortran/libgfortran.h                          |    15 +
 libgfortran/runtime/environ.c                      |     5 +-
 libgomp/ChangeLog                                  |    18 +
 libgomp/libgomp.texi                               |     3 +-
 libgomp/plugin/plugin-gcn.c                        |    39 +-
 libgomp/testsuite/libgomp.fortran/atomic-19.f90    |   313 +
 libiberty/ChangeLog                                |    23 +
 libphobos/ChangeLog                                |    22 +
 libphobos/configure                                |     2 +-
 libphobos/configure.ac                             |     2 +-
 libphobos/libdruntime/MERGE                        |     2 +-
 libphobos/libdruntime/Makefile.am                  |     5 +-
 libphobos/libdruntime/Makefile.in                  |    12 +-
 libphobos/libdruntime/core/demangle.d              |     8 +-
 .../libdruntime/core/internal/array/construction.d |    43 +-
 libphobos/libdruntime/core/internal/convert.d      |     8 +-
 libphobos/libdruntime/core/internal/lifetime.d     |    49 +-
 libphobos/libdruntime/core/internal/string.d       |     2 +-
 libphobos/libdruntime/core/internal/traits.d       |    40 +-
 libphobos/libdruntime/core/internal/utf.d          |    10 +-
 libphobos/libdruntime/core/lifetime.d              |   184 +-
 libphobos/libdruntime/core/memory.d                |    21 +-
 libphobos/libdruntime/core/runtime.d               |     2 +-
 libphobos/libdruntime/core/stdc/stdlib.d           |    10 +
 libphobos/libdruntime/core/stdc/string.d           |    28 +-
 libphobos/libdruntime/core/stdc/wchar_.d           |    26 +-
 libphobos/libdruntime/core/stdcpp/exception.d      |     2 +
 libphobos/libdruntime/core/sync/mutex.d            |     4 +-
 libphobos/libdruntime/core/sys/bionic/string.d     |     2 +-
 libphobos/libdruntime/core/sys/darwin/mach/nlist.d |     2 +-
 libphobos/libdruntime/core/sys/darwin/string.d     |     2 +-
 .../libdruntime/core/sys/dragonflybsd/string.d     |     2 +-
 libphobos/libdruntime/core/sys/freebsd/string.d    |     2 +-
 libphobos/libdruntime/core/sys/linux/string.d      |     2 +-
 libphobos/libdruntime/core/sys/linux/syscalls.d    |   745 -
 libphobos/libdruntime/core/sys/linux/unistd.d      |    26 +-
 libphobos/libdruntime/core/sys/netbsd/string.d     |     2 +-
 libphobos/libdruntime/core/sys/openbsd/execinfo.d  |   139 +-
 libphobos/libdruntime/core/sys/openbsd/string.d    |     2 +-
 libphobos/libdruntime/core/sys/posix/signal.d      |    26 +-
 libphobos/libdruntime/core/sys/posix/string.d      |     8 +-
 libphobos/libdruntime/core/sys/posix/sys/socket.d  |     2 +-
 libphobos/libdruntime/core/sys/posix/sys/stat.d    |    46 +-
 libphobos/libdruntime/core/sys/solaris/sys/elf.d   |     5 +-
 .../libdruntime/core/sys/solaris/sys/elf_386.d     |     3 -
 .../libdruntime/core/sys/solaris/sys/elf_SPARC.d   |     3 -
 libphobos/libdruntime/core/sys/windows/dbghelp.d   |     8 +-
 libphobos/libdruntime/core/thread/osthread.d       |     5 +-
 libphobos/libdruntime/core/thread/threadbase.d     |     5 +-
 libphobos/libdruntime/object.d                     |     8 +-
 libphobos/libdruntime/rt/aaA.d                     |     4 +-
 libphobos/libdruntime/rt/cast_.d                   |     2 +-
 libphobos/libdruntime/rt/config.d                  |     3 +
 libphobos/libdruntime/rt/lifetime.d                |     4 +-
 libphobos/libdruntime/rt/monitor_.d                |    38 +-
 libphobos/src/MERGE                                |     2 +-
 libphobos/src/std/algorithm/iteration.d            |    52 +-
 libphobos/src/std/algorithm/mutation.d             |    29 +-
 libphobos/src/std/algorithm/searching.d            |    12 +-
 libphobos/src/std/algorithm/sorting.d              |    26 +-
 libphobos/src/std/concurrency.d                    |    32 +-
 libphobos/src/std/container/dlist.d                |     6 +
 libphobos/src/std/container/rbtree.d               |     2 +-
 libphobos/src/std/datetime/interval.d              |     6 +-
 libphobos/src/std/datetime/systime.d               |    27 +-
 libphobos/src/std/datetime/timezone.d              |    77 +-
 libphobos/src/std/file.d                           |    28 +-
 libphobos/src/std/internal/cstring.d               |     2 +-
 libphobos/src/std/internal/math/biguintcore.d      |    12 +-
 libphobos/src/std/json.d                           |    10 +-
 libphobos/src/std/net/isemail.d                    |     2 +-
 libphobos/src/std/parallelism.d                    |     6 +-
 libphobos/src/std/process.d                        |     4 +-
 libphobos/src/std/random.d                         |    12 +-
 libphobos/src/std/regex/package.d                  |    16 +-
 libphobos/src/std/stdio.d                          |     2 +-
 libphobos/src/std/traits.d                         |     5 +
 libphobos/src/std/typecons.d                       |    35 +-
 libphobos/src/std/uni/package.d                    |     4 +-
 libphobos/src/std/utf.d                            |    12 +-
 libphobos/testsuite/libphobos.config/config.exp    |     1 +
 libphobos/testsuite/libphobos.config/test22523.d   |    11 +
 libphobos/testsuite/libphobos.traits/all_satisfy.d |    24 +
 libphobos/testsuite/libphobos.traits/traits.exp    |    27 +
 libstdc++-v3/ChangeLog                             |   287 +
 libstdc++-v3/acinclude.m4                          |     2 +-
 libstdc++-v3/config.h.in                           |     6 +-
 libstdc++-v3/config/abi/pre/gnu.ver                |    27 +-
 libstdc++-v3/config/allocator/new_allocator_base.h |    11 +-
 libstdc++-v3/config/io/basic_file_stdio.cc         |    48 +-
 .../config/locale/dragonfly/time_members.cc        |     4 +-
 libstdc++-v3/config/locale/generic/time_members.cc |     4 +-
 libstdc++-v3/config/locale/gnu/time_members.cc     |     4 +-
 libstdc++-v3/configure                             |     2 +-
 libstdc++-v3/doc/html/manual/api.html              |     8 +
 libstdc++-v3/doc/html/manual/memory.html           |     6 +-
 libstdc++-v3/doc/xml/manual/allocator.xml          |     6 +-
 libstdc++-v3/doc/xml/manual/evolution.xml          |    10 +
 libstdc++-v3/include/Makefile.am                   |     1 +
 libstdc++-v3/include/Makefile.in                   |     1 +
 libstdc++-v3/include/bits/atomic_base.h            |     2 +-
 libstdc++-v3/include/bits/atomic_timed_wait.h      |     4 +
 libstdc++-v3/include/bits/basic_string.h           |     8 +-
 libstdc++-v3/include/bits/char_traits.h            |     7 +
 libstdc++-v3/include/bits/cow_string.h             |     9 +-
 libstdc++-v3/include/bits/ios_base.h               |     9 +
 libstdc++-v3/include/bits/locale_facets_nonio.h    |     6 +
 libstdc++-v3/include/bits/locale_facets_nonio.tcc  |   265 +-
 libstdc++-v3/include/bits/new_allocator.h          |   223 +
 libstdc++-v3/include/bits/ranges_base.h            |     4 +
 libstdc++-v3/include/bits/regex.h                  |    20 +-
 libstdc++-v3/include/bits/regex.tcc                |     9 +-
 libstdc++-v3/include/bits/regex_compiler.h         |    40 +-
 libstdc++-v3/include/bits/regex_compiler.tcc       |   122 +-
 libstdc++-v3/include/bits/regex_constants.h        |   148 +-
 libstdc++-v3/include/bits/regex_error.h            |     2 +-
 libstdc++-v3/include/bits/std_mutex.h              |     6 +-
 libstdc++-v3/include/bits/stl_iterator.h           |    82 +-
 libstdc++-v3/include/bits/stl_map.h                |    49 +-
 libstdc++-v3/include/bits/stl_pair.h               |     9 +
 libstdc++-v3/include/bits/uses_allocator_args.h    |     6 -
 libstdc++-v3/include/debug/safe_iterator.h         |    17 +
 libstdc++-v3/include/experimental/memory_resource  |     4 +-
 libstdc++-v3/include/ext/new_allocator.h           |   157 +-
 libstdc++-v3/include/ext/pointer.h                 |    50 +-
 libstdc++-v3/include/std/atomic                    |     8 +-
 libstdc++-v3/include/std/condition_variable        |     2 +-
 libstdc++-v3/include/std/version                   |     1 +
 libstdc++-v3/libsupc++/exception_ptr.h             |    41 +-
 libstdc++-v3/scripts/make_exports.pl               |     6 +-
 libstdc++-v3/src/c++11/compatibility-condvar.cc    |    31 +
 libstdc++-v3/src/c++11/condition_variable.cc       |     2 +-
 libstdc++-v3/testsuite/17_intro/names.cc           |     1 +
 .../testsuite/18_support/exception_ptr/103630.cc   |    39 +
 .../testsuite/18_support/exception_ptr/64241.cc    |     2 +-
 libstdc++-v3/testsuite/20_util/allocator/64135.cc  |    45 +
 .../20_util/scoped_allocator/69293_neg.cc          |     4 -
 .../testsuite/22_locale/time_get/get/char/3.cc     |   356 +
 .../testsuite/22_locale/time_get/get/char/71367.cc |    67 +
 .../testsuite/22_locale/time_get/get/char/71557.cc |    96 +
 .../testsuite/22_locale/time_get/get/wchar_t/3.cc  |   356 +
 .../22_locale/time_get/get/wchar_t/71367.cc        |    67 +
 .../22_locale/time_get/get/wchar_t/71557.cc        |    96 +
 .../22_locale/time_get/get_date/char/12791.cc      |     4 +-
 .../22_locale/time_get/get_date/wchar_t/12791.cc   |     4 +-
 .../22_locale/time_get/get_date/wchar_t/4.cc       |     9 +-
 .../22_locale/time_get/get_time/char/2.cc          |    33 +-
 .../22_locale/time_get/get_time/char/5.cc          |     2 +-
 .../22_locale/time_get/get_time/wchar_t/2.cc       |    33 +-
 .../22_locale/time_get/get_time/wchar_t/5.cc       |     2 +-
 .../23_containers/map/modifiers/emplace/92300.cc   |    36 +
 .../23_containers/map/modifiers/insert/92300.cc    |    38 +
 .../24_iterators/normal_iterator/to_address.cc     |    17 +-
 .../27_io/basic_ofstream/open/char/noreplace.cc    |    29 +
 .../27_io/basic_ofstream/open/wchar_t/noreplace.cc |    29 +
 .../algorithms/regex_match/cstring_bracket_01.cc   |    62 +-
 .../algorithms/regex_replace/char/103664.cc        |    11 +
 .../testsuite/28_regex/constants/constexpr.cc      |     2 -
 .../testsuite/28_regex/constants/error_type.cc     |     2 +-
 .../28_regex/constants/match_flag_type.cc          |    25 +-
 .../28_regex/constants/syntax_option_type.cc       |    26 +-
 .../29_atomics/atomic/wait_notify/102994.cc        |    19 +
 .../condition_variable/members/103382.cc           |    66 +
 libstdc++-v3/testsuite/std/ranges/access/empty.cc  |    10 +
 libstdc++-v3/testsuite/std/ranges/access/size.cc   |    10 +
 zlib/ChangeLog                                     |    11 +
 688 files changed, 31677 insertions(+), 28871 deletions(-)

diff --cc Makefile.in
index 052ae79e5d1,79c77fccf0f..6cfa733378e
--- a/Makefile.in
+++ b/Makefile.in
@@@ -450,8 -446,50 +450,51 @@@ CXXFLAGS = @CXXFLAGS
  LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates
  GOCFLAGS = $(CFLAGS)
  GDCFLAGS = $(CFLAGS)
 +GM2FLAGS = $(CFLAGS)
  
+ # Pass additional PGO and LTO compiler options to the PGO build.
+ BUILD_CFLAGS = $(PGO_BUILD_CFLAGS) $(PGO_BUILD_LTO_CFLAGS)
+ override CFLAGS += $(BUILD_CFLAGS)
+ override CXXFLAGS += $(BUILD_CFLAGS)
+ 
+ # Additional PGO and LTO compiler options to generate profiling data
+ # for the PGO build.
+ PGO_BUILD_GEN_FLAGS_TO_PASS = \
+ 	PGO_BUILD_CFLAGS="@PGO_BUILD_GEN_CFLAGS@" \
+ 	PGO_BUILD_LTO_CFLAGS="@PGO_BUILD_LTO_CFLAGS@"
+ 
+ # NB: Filter out any compiler options which may fail PGO training runs.
+ PGO_BUILD_TRAINING_CFLAGS:= \
+ 	$(filter-out -Werror=%,$(CFLAGS))
+ PGO_BUILD_TRAINING_CXXFLAGS:=\
+ 	$(filter-out -Werror=%,$(CXXFLAGS))
+ PGO_BUILD_TRAINING_CFLAGS:= \
+ 	$(filter-out -Wall,$(PGO_BUILD_TRAINING_CFLAGS))
+ PGO_BUILD_TRAINING_CXXFLAGS:= \
+ 	$(filter-out -Wall,$(PGO_BUILD_TRAINING_CXXFLAGS))
+ PGO_BUILD_TRAINING_CFLAGS:= \
+ 	$(filter-out -specs=%,$(PGO_BUILD_TRAINING_CFLAGS))
+ PGO_BUILD_TRAINING_CXXFLAGS:= \
+ 	$(filter-out -specs=%,$(PGO_BUILD_TRAINING_CXXFLAGS))
+ PGO_BUILD_TRAINING_FLAGS_TO_PASS = \
+ 	PGO_BUILD_TRAINING=yes \
+ 	CFLAGS_FOR_TARGET="$(PGO_BUILD_TRAINING_CFLAGS)" \
+ 	CXXFLAGS_FOR_TARGET="$(PGO_BUILD_TRAINING_CXXFLAGS)"
+ 
+ # Ignore "make check" errors in PGO training runs.
+ PGO_BUILD_TRAINING_MFLAGS = -i
+ 
+ # Additional PGO and LTO compiler options to use profiling data for the
+ # PGO build.
+ PGO_BUILD_USE_FLAGS_TO_PASS = \
+ 	PGO_BUILD_CFLAGS="@PGO_BUILD_USE_CFLAGS@" \
+ 	PGO_BUILD_LTO_CFLAGS="@PGO_BUILD_LTO_CFLAGS@"
+ 
+ # PGO training targets for the PGO build.  FIXME: Add gold tests to
+ # training.
+ PGO-TRAINING-TARGETS = binutils gas gdb ld sim
+ PGO_BUILD_TRAINING = $(addprefix maybe-check-,$(PGO-TRAINING-TARGETS))
+ 
  CREATE_GCOV = create_gcov
  
  TFLAGS =
diff --cc Makefile.tpl
index be3543b3d69,ef58fac2b9a..b5d1a8f6a79
--- a/Makefile.tpl
+++ b/Makefile.tpl
@@@ -453,8 -449,50 +453,51 @@@ CXXFLAGS = @CXXFLAGS
  LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates
  GOCFLAGS = $(CFLAGS)
  GDCFLAGS = $(CFLAGS)
 +GM2FLAGS = $(CFLAGS)
  
+ # Pass additional PGO and LTO compiler options to the PGO build.
+ BUILD_CFLAGS = $(PGO_BUILD_CFLAGS) $(PGO_BUILD_LTO_CFLAGS)
+ override CFLAGS += $(BUILD_CFLAGS)
+ override CXXFLAGS += $(BUILD_CFLAGS)
+ 
+ # Additional PGO and LTO compiler options to generate profiling data
+ # for the PGO build.
+ PGO_BUILD_GEN_FLAGS_TO_PASS = \
+ 	PGO_BUILD_CFLAGS="@PGO_BUILD_GEN_CFLAGS@" \
+ 	PGO_BUILD_LTO_CFLAGS="@PGO_BUILD_LTO_CFLAGS@"
+ 
+ # NB: Filter out any compiler options which may fail PGO training runs.
+ PGO_BUILD_TRAINING_CFLAGS:= \
+ 	$(filter-out -Werror=%,$(CFLAGS))
+ PGO_BUILD_TRAINING_CXXFLAGS:=\
+ 	$(filter-out -Werror=%,$(CXXFLAGS))
+ PGO_BUILD_TRAINING_CFLAGS:= \
+ 	$(filter-out -Wall,$(PGO_BUILD_TRAINING_CFLAGS))
+ PGO_BUILD_TRAINING_CXXFLAGS:= \
+ 	$(filter-out -Wall,$(PGO_BUILD_TRAINING_CXXFLAGS))
+ PGO_BUILD_TRAINING_CFLAGS:= \
+ 	$(filter-out -specs=%,$(PGO_BUILD_TRAINING_CFLAGS))
+ PGO_BUILD_TRAINING_CXXFLAGS:= \
+ 	$(filter-out -specs=%,$(PGO_BUILD_TRAINING_CXXFLAGS))
+ PGO_BUILD_TRAINING_FLAGS_TO_PASS = \
+ 	PGO_BUILD_TRAINING=yes \
+ 	CFLAGS_FOR_TARGET="$(PGO_BUILD_TRAINING_CFLAGS)" \
+ 	CXXFLAGS_FOR_TARGET="$(PGO_BUILD_TRAINING_CXXFLAGS)"
+ 
+ # Ignore "make check" errors in PGO training runs.
+ PGO_BUILD_TRAINING_MFLAGS = -i
+ 
+ # Additional PGO and LTO compiler options to use profiling data for the
+ # PGO build.
+ PGO_BUILD_USE_FLAGS_TO_PASS = \
+ 	PGO_BUILD_CFLAGS="@PGO_BUILD_USE_CFLAGS@" \
+ 	PGO_BUILD_LTO_CFLAGS="@PGO_BUILD_LTO_CFLAGS@"
+ 
+ # PGO training targets for the PGO build.  FIXME: Add gold tests to
+ # training.
+ PGO-TRAINING-TARGETS = binutils gas gdb ld sim
+ PGO_BUILD_TRAINING = $(addprefix maybe-check-,$(PGO-TRAINING-TARGETS))
+ 
  CREATE_GCOV = create_gcov
  
  TFLAGS =


             reply	other threads:[~2021-12-19  1:19 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-19  1:19 Gaius Mulley [this message]
  -- strict thread matches above, loose matches on Subject: below --
2022-12-14 12:30 Gaius Mulley
2022-12-07 19:51 Gaius Mulley
2022-12-01  0:32 Gaius Mulley
2022-11-18 12:25 Gaius Mulley
2022-11-15 23:00 Gaius Mulley
2022-11-02 23:24 Gaius Mulley
2022-10-22  1:58 Gaius Mulley
2022-10-12 12:57 Gaius Mulley
2022-10-04 11:47 Gaius Mulley
2022-09-26 11:40 Gaius Mulley
2022-09-20 15:20 Gaius Mulley
2022-09-14 18:58 Gaius Mulley
2022-09-12 20:46 Gaius Mulley
2022-09-08 15:03 Gaius Mulley
2022-09-02 15:27 Gaius Mulley
2022-08-29 13:42 Gaius Mulley
2022-08-25 22:53 Gaius Mulley
2022-08-12  8:40 Gaius Mulley
2022-08-08 12:01 Gaius Mulley
2022-07-29 16:23 Gaius Mulley
2022-07-26  0:28 Gaius Mulley
2022-07-11 23:17 Gaius Mulley
2022-07-06 20:03 Gaius Mulley
2022-05-30 13:25 Gaius Mulley
2022-05-23 22:02 Gaius Mulley
2022-05-20  1:41 Gaius Mulley
2022-05-15 22:44 Gaius Mulley
2022-05-12  9:02 Gaius Mulley
2022-05-10 11:05 Gaius Mulley
2022-05-06 12:28 Gaius Mulley
2022-05-05 19:37 Gaius Mulley
2022-05-03 12:08 Gaius Mulley
2022-04-29 20:01 Gaius Mulley
2022-04-29 15:22 Gaius Mulley
2022-04-28 15:14 Gaius Mulley
2022-04-27 11:17 Gaius Mulley
2022-04-26 17:23 Gaius Mulley
2022-04-25 19:40 Gaius Mulley
2022-04-22  8:09 Gaius Mulley
2022-04-20 11:35 Gaius Mulley
2022-04-01 19:20 Gaius Mulley
2022-03-24 23:10 Gaius Mulley
2022-03-16 20:33 Gaius Mulley
2022-03-02 18:47 Gaius Mulley
2022-02-14 17:00 Gaius Mulley
2022-02-05 13:34 Gaius Mulley
2022-01-29 11:11 Gaius Mulley
2022-01-25 18:58 Gaius Mulley
2022-01-21 20:48 Gaius Mulley
2022-01-20 12:42 Gaius Mulley
2022-01-18 13:54 Gaius Mulley
2022-01-14  0:26 Gaius Mulley
2022-01-06 21:41 Gaius Mulley
2021-12-09 21:59 Gaius Mulley
2021-11-27 13:22 Gaius Mulley
2021-11-19 18:30 Gaius Mulley
2021-11-07 15:22 Gaius Mulley
2021-10-27  8:45 Gaius Mulley
2021-10-19 22:57 Gaius Mulley
2021-10-08 14:03 Gaius Mulley
2021-09-16 12:03 Gaius Mulley
2021-09-14 11:39 Gaius Mulley
2021-09-02 15:49 Gaius Mulley
2021-08-27  0:43 Gaius Mulley
2021-08-18 14:24 Gaius Mulley
2021-08-10 13:57 Gaius Mulley
2021-07-28 18:59 Gaius Mulley

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20211219011904.C1793385840D@sourceware.org \
    --to=gaius@gcc.gnu.org \
    --cc=gcc-cvs@gcc.gnu.org \
    --cc=libstdc++-cvs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).