[gcc(refs/users/aldyh/heads/ranger-staging)] Merge branch 'trunk-at-merge' into ranger-staging-merge

Aldy Hernandez aldyh@gcc.gnu.org
Wed Aug 19 18:25:28 GMT 2020


https://gcc.gnu.org/g:6bc2b1abacf956f4a24d2ad88cd23d7cadc70e3f

commit 6bc2b1abacf956f4a24d2ad88cd23d7cadc70e3f
Merge: 49e5a427646 ea95ba8d582
Author: Aldy Hernandez <aldyh@redhat.com>
Date:   Wed Aug 19 17:33:25 2020 +0200

    Merge branch 'trunk-at-merge' into ranger-staging-merge
    
    Merge point is ea95ba8d582e967cdbfce95993e9bb6ad769c047.

Diff:

 ChangeLog                                          |    16 +
 MAINTAINERS                                        |     5 +-
 config/ChangeLog                                   |     6 +
 config/cet.m4                                      |    23 +-
 contrib/ChangeLog                                  |    47 +
 contrib/download_prerequisites                     |     2 +-
 contrib/gcc-changelog/git_check_commit.py          |     2 +-
 contrib/gcc-changelog/git_commit.py                |    87 +-
 contrib/gcc-changelog/git_email.py                 |     9 +-
 contrib/gcc-changelog/git_repository.py            |    57 +-
 contrib/gcc-changelog/git_update_version.py        |     2 +-
 contrib/gcc-changelog/test_email.py                |     4 +
 contrib/gcc-changelog/test_patches.txt             |    35 +
 contrib/git-backport.py                            |     2 +-
 contrib/vimrc                                      |     2 +-
 gcc/ChangeLog                                      |  3517 ++++
 gcc/DATESTAMP                                      |     2 +-
 gcc/Makefile.in                                    |    23 +-
 gcc/ada/ChangeLog                                  |  1790 ++
 gcc/ada/Makefile.rtl                               |    19 +-
 gcc/ada/adaint.h                                   |     5 +-
 gcc/ada/aspects.adb                                |    14 +-
 gcc/ada/aspects.ads                                |    12 +-
 gcc/ada/atree.adb                                  |   495 -
 gcc/ada/atree.ads                                  |   329 -
 gcc/ada/bindo-diagnostics.adb                      |     3 +-
 gcc/ada/bindo-writers.adb                          |     2 +-
 gcc/ada/checks.adb                                 |   319 +-
 gcc/ada/checks.ads                                 |    20 +-
 gcc/ada/contracts.adb                              |   153 +-
 gcc/ada/debug.adb                                  |    21 +-
 .../doc/gnat_rm/implementation_defined_pragmas.rst |    28 +-
 .../gnat_rm/representation_clauses_and_pragmas.rst |     2 +-
 gcc/ada/doc/gnat_ugn/about_this_guide.rst          |    81 +-
 .../building_executable_programs_with_gnat.rst     |    10 +-
 gcc/ada/doc/gnat_ugn/getting_started_with_gnat.rst |   128 +-
 gcc/ada/doc/gnat_ugn/gnat_utility_programs.rst     |  1298 --
 gcc/ada/einfo.adb                                  |   792 +-
 gcc/ada/einfo.ads                                  |    30 +-
 gcc/ada/errout.adb                                 |    28 +-
 gcc/ada/errout.ads                                 |    19 +-
 gcc/ada/erroutc.adb                                |    24 +-
 gcc/ada/exp_aggr.adb                               |  1290 +-
 gcc/ada/exp_atag.adb                               |   113 -
 gcc/ada/exp_atag.ads                               |    18 -
 gcc/ada/exp_attr.adb                               |   133 +-
 gcc/ada/exp_cg.adb                                 |     2 +-
 gcc/ada/exp_ch11.adb                               |     6 +-
 gcc/ada/exp_ch2.adb                                |    21 +-
 gcc/ada/exp_ch3.adb                                |   125 +-
 gcc/ada/exp_ch4.adb                                |   358 +-
 gcc/ada/exp_ch5.adb                                |    92 +-
 gcc/ada/exp_ch6.adb                                |   544 +-
 gcc/ada/exp_ch7.adb                                |    93 +-
 gcc/ada/exp_ch8.adb                                |     2 +-
 gcc/ada/exp_ch9.adb                                |   193 +-
 gcc/ada/exp_dbug.adb                               |    14 +-
 gcc/ada/exp_disp.adb                               |    20 +-
 gcc/ada/exp_imgv.adb                               |     2 +-
 gcc/ada/exp_intr.adb                               |    73 +-
 gcc/ada/exp_pakd.adb                               |     2 +-
 gcc/ada/exp_prag.adb                               |   116 +-
 gcc/ada/exp_put_image.adb                          |    14 +-
 gcc/ada/exp_smem.adb                               |     4 +-
 gcc/ada/exp_spark.adb                              |   211 +-
 gcc/ada/exp_tss.adb                                |    12 +-
 gcc/ada/exp_unst.adb                               |    47 +-
 gcc/ada/exp_util.adb                               |   153 +-
 gcc/ada/exp_util.ads                               |    12 +-
 gcc/ada/expect.c                                   |     7 +-
 gcc/ada/fe.h                                       |     4 +-
 gcc/ada/freeze.adb                                 |   282 +-
 gcc/ada/frontend.adb                               |    10 +
 gcc/ada/gcc-interface/decl.c                       |    12 +-
 gcc/ada/ghost.adb                                  |    83 +-
 gcc/ada/gnat1drv.adb                               |    11 +-
 gcc/ada/gnat_rm.texi                               |    38 +-
 gcc/ada/gnat_ugn.texi                              |  2379 +--
 gcc/ada/gnatbind.adb                               |    39 +-
 gcc/ada/impunit.adb                                |     1 -
 gcc/ada/inline.adb                                 |    82 +-
 gcc/ada/inline.ads                                 |     8 +-
 gcc/ada/layout.adb                                 |    16 +
 gcc/ada/lib-writ.adb                               |     6 +-
 gcc/ada/lib-xref-spark_specific.adb                |    10 +-
 gcc/ada/lib-xref.adb                               |    44 +-
 gcc/ada/lib-xref.ads                               |     1 -
 gcc/ada/libgnarl/s-taprop__linux.adb               |     4 +-
 gcc/ada/libgnat/a-calcon.adb                       |     1 -
 gcc/ada/libgnat/a-calcon.ads                       |     3 +-
 gcc/ada/libgnat/a-calend.adb                       |     6 +-
 gcc/ada/libgnat/a-calend.ads                       |    28 +-
 gcc/ada/libgnat/a-catizo.ads                       |     1 +
 gcc/ada/libgnat/a-cbdlli.adb                       |     4 +-
 gcc/ada/libgnat/a-cbdlli.ads                       |     4 +-
 gcc/ada/libgnat/a-cbhama.adb                       |     4 +-
 gcc/ada/libgnat/a-cbhama.ads                       |     4 +-
 gcc/ada/libgnat/a-cbhase.adb                       |     4 +-
 gcc/ada/libgnat/a-cbhase.ads                       |     4 +-
 gcc/ada/libgnat/a-cbmutr.adb                       |     4 +-
 gcc/ada/libgnat/a-cbmutr.ads                       |     4 +-
 gcc/ada/libgnat/a-cborma.adb                       |     4 +-
 gcc/ada/libgnat/a-cborma.ads                       |     4 +-
 gcc/ada/libgnat/a-cborse.adb                       |     4 +-
 gcc/ada/libgnat/a-cborse.ads                       |     4 +-
 gcc/ada/libgnat/a-cbprqu.adb                       |     4 +-
 gcc/ada/libgnat/a-cbprqu.ads                       |     4 +-
 gcc/ada/libgnat/a-cbsyqu.adb                       |     4 +-
 gcc/ada/libgnat/a-cbsyqu.ads                       |     4 +-
 gcc/ada/libgnat/a-cdlili.adb                       |     4 +-
 gcc/ada/libgnat/a-cdlili.ads                       |     4 +-
 gcc/ada/libgnat/a-chahan.adb                       |    11 +
 gcc/ada/libgnat/a-chahan.ads                       |     1 +
 gcc/ada/libgnat/a-cidlli.adb                       |     4 +-
 gcc/ada/libgnat/a-cidlli.ads                       |     4 +-
 gcc/ada/libgnat/a-cihama.adb                       |     4 +-
 gcc/ada/libgnat/a-cihama.ads                       |     4 +-
 gcc/ada/libgnat/a-cihase.adb                       |     4 +-
 gcc/ada/libgnat/a-cihase.ads                       |     4 +-
 gcc/ada/libgnat/a-cimutr.adb                       |     4 +-
 gcc/ada/libgnat/a-cimutr.ads                       |     4 +-
 gcc/ada/libgnat/a-ciorma.adb                       |     4 +-
 gcc/ada/libgnat/a-ciorma.ads                       |     4 +-
 gcc/ada/libgnat/a-ciormu.adb                       |     4 +-
 gcc/ada/libgnat/a-ciormu.ads                       |     4 +-
 gcc/ada/libgnat/a-ciorse.adb                       |     4 +-
 gcc/ada/libgnat/a-ciorse.ads                       |     4 +-
 gcc/ada/libgnat/a-cohama.adb                       |     4 +-
 gcc/ada/libgnat/a-cohama.ads                       |     4 +-
 gcc/ada/libgnat/a-cohase.adb                       |     4 +-
 gcc/ada/libgnat/a-cohase.ads                       |     4 +-
 gcc/ada/libgnat/a-coinve.adb                       |     4 +-
 gcc/ada/libgnat/a-coinve.ads                       |     4 +-
 gcc/ada/libgnat/a-comutr.adb                       |     4 +-
 gcc/ada/libgnat/a-comutr.ads                       |     4 +-
 gcc/ada/libgnat/a-convec.adb                       |    30 +-
 gcc/ada/libgnat/a-convec.ads                       |    10 +-
 gcc/ada/libgnat/a-coorma.adb                       |     4 +-
 gcc/ada/libgnat/a-coorma.ads                       |     4 +-
 gcc/ada/libgnat/a-coormu.adb                       |     4 +-
 gcc/ada/libgnat/a-coormu.ads                       |     4 +-
 gcc/ada/libgnat/a-coorse.adb                       |     4 +-
 gcc/ada/libgnat/a-coorse.ads                       |     4 +-
 gcc/ada/libgnat/a-nbnbin.adb                       |   117 +-
 gcc/ada/libgnat/a-nbnbin.ads                       |   118 +-
 gcc/ada/libgnat/a-nbnbin__gmp.adb                  |     6 +-
 gcc/ada/libgnat/a-nbnbre.adb                       |    23 +-
 gcc/ada/libgnat/a-nbnbre.ads                       |   106 +-
 gcc/ada/libgnat/a-numaux__dummy.adb                |    32 +
 gcc/ada/libgnat/a-numaux__x86.adb                  |   577 -
 gcc/ada/libgnat/a-numaux__x86.ads                  |    76 -
 gcc/ada/libgnat/a-stobbu.adb                       |     2 -
 gcc/ada/libgnat/a-stobbu.ads                       |     2 -
 gcc/ada/libgnat/a-stobfi.adb                       |     2 -
 gcc/ada/libgnat/a-stobfi.ads                       |     2 -
 gcc/ada/libgnat/a-stoubu.adb                       |     2 -
 gcc/ada/libgnat/a-stoubu.ads                       |     2 -
 gcc/ada/libgnat/a-stoufi.adb                       |     2 -
 gcc/ada/libgnat/a-stoufi.ads                       |     2 -
 gcc/ada/libgnat/a-stoufo.adb                       |    36 +-
 gcc/ada/libgnat/a-stoufo.ads                       |    10 +-
 gcc/ada/libgnat/a-stouut.adb                       |     3 +-
 gcc/ada/libgnat/a-stouut.ads                       |     2 -
 gcc/ada/libgnat/a-strsto.ads                       |     1 -
 gcc/ada/libgnat/a-strunb.adb                       |    83 +-
 gcc/ada/libgnat/a-strunb__shared.adb               |   105 +-
 gcc/ada/libgnat/a-ststbo.adb                       |     1 -
 gcc/ada/libgnat/a-ststbo.ads                       |     1 -
 gcc/ada/libgnat/a-ststun.adb                       |     2 +-
 gcc/ada/libgnat/a-ststun.ads                       |     2 +-
 gcc/ada/libgnat/a-stteou.ads                       |     3 +-
 gcc/ada/libgnat/a-tags.adb                         |     5 -
 gcc/ada/libgnat/a-tags.ads                         |     4 +
 gcc/ada/libgnat/a-wichha.adb                       |     7 +
 gcc/ada/libgnat/a-wichha.ads                       |     6 +
 gcc/ada/libgnat/a-wichun.adb                       |     9 +
 gcc/ada/libgnat/a-wichun.ads                       |     8 +-
 gcc/ada/libgnat/a-zchhan.adb                       |     7 +
 gcc/ada/libgnat/a-zchhan.ads                       |     6 +
 gcc/ada/libgnat/a-zchuni.adb                       |     9 +
 gcc/ada/libgnat/a-zchuni.ads                       |     6 +
 gcc/ada/libgnat/g-calend.adb                       |     6 +-
 gcc/ada/libgnat/g-catiio.adb                       |   311 +-
 gcc/ada/libgnat/g-catiio.ads                       |    27 +-
 gcc/ada/libgnat/g-sechas.adb                       |   128 +-
 gcc/ada/libgnat/g-sechas.ads                       |    28 +-
 gcc/ada/libgnat/g-shshco.adb                       |     3 +-
 gcc/ada/libgnat/g-socket.adb                       |    43 +-
 gcc/ada/libgnat/i-cexten.ads                       |     4 +-
 gcc/ada/libgnat/s-aoinar.ads                       |     2 -
 gcc/ada/libgnat/s-aomoar.ads                       |     2 -
 gcc/ada/libgnat/s-atopex.ads                       |     3 -
 gcc/ada/libgnat/s-bignum.adb                       |   141 +-
 gcc/ada/libgnat/s-bignum.ads                       |     6 +-
 gcc/ada/libgnat/s-genbig.adb                       |   554 +-
 gcc/ada/libgnat/s-genbig.ads                       |   104 +-
 gcc/ada/libgnat/s-mmap.ads                         |     2 -
 gcc/ada/libgnat/s-putaim.adb                       |     1 -
 gcc/ada/libgnat/s-putaim.ads                       |     2 +-
 gcc/ada/libgnat/s-putima.adb                       |     4 +-
 gcc/ada/libgnat/s-putima.ads                       |     4 +-
 gcc/ada/libgnat/s-rannum.adb                       |    11 +
 gcc/ada/libgnat/s-rannum.ads                       |     7 +-
 gcc/ada/libgnat/s-rident.ads                       |    16 +-
 gcc/ada/libgnat/s-secsta.ads                       |     2 +-
 gcc/ada/libgnat/s-shabig.ads                       |    80 +
 gcc/ada/libgnat/s-stposu.adb                       |    15 +-
 gcc/ada/libgnat/s-ststop.adb                       |    27 +-
 gcc/ada/libgnat/s-ststop.ads                       |     2 +-
 gcc/ada/libgnat/s-thread__ae653.adb                |    55 +-
 gcc/ada/libgnat/s-utf_32.adb                       |   411 +-
 gcc/ada/libgnat/s-utf_32.ads                       |     6 +
 gcc/ada/namet.adb                                  |   224 -
 gcc/ada/namet.ads                                  |   124 -
 gcc/ada/nlists.adb                                 |     2 +-
 gcc/ada/opt.ads                                    |     4 +-
 gcc/ada/osint-c.adb                                |    17 +-
 gcc/ada/osint.adb                                  |    75 +-
 gcc/ada/output.adb                                 |    29 +
 gcc/ada/output.ads                                 |     9 +
 gcc/ada/par-ch10.adb                               |    45 +-
 gcc/ada/par-ch2.adb                                |     5 +-
 gcc/ada/par-ch3.adb                                |     7 +-
 gcc/ada/par-ch4.adb                                |    72 +-
 gcc/ada/par-ch5.adb                                |    30 +-
 gcc/ada/par-ch6.adb                                |     7 +-
 gcc/ada/par-prag.adb                               |    46 +-
 gcc/ada/par-util.adb                               |     2 +-
 gcc/ada/par.adb                                    |     5 +
 gcc/ada/par_sco.adb                                |    14 +-
 gcc/ada/pprint.adb                                 |    13 +-
 gcc/ada/raise-gcc.c                                |     2 +-
 gcc/ada/repinfo.adb                                |    47 +-
 gcc/ada/restrict.adb                               |    84 +-
 gcc/ada/restrict.ads                               |    35 +-
 gcc/ada/rtsfind.adb                                |    12 +-
 gcc/ada/rtsfind.ads                                |    19 +
 gcc/ada/scil_ll.adb                                |     7 +-
 gcc/ada/scng.adb                                   |     9 +-
 gcc/ada/sem.adb                                    |    24 +-
 gcc/ada/sem.ads                                    |    10 +-
 gcc/ada/sem_aggr.adb                               |   330 +-
 gcc/ada/sem_aggr.ads                               |     1 +
 gcc/ada/sem_attr.adb                               |   468 +-
 gcc/ada/sem_aux.adb                                |    36 +-
 gcc/ada/sem_case.adb                               |     8 +-
 gcc/ada/sem_cat.adb                                |    16 +-
 gcc/ada/sem_ch10.adb                               |   154 +-
 gcc/ada/sem_ch11.adb                               |    12 +-
 gcc/ada/sem_ch12.adb                               |   265 +-
 gcc/ada/sem_ch13.adb                               |  1495 +-
 gcc/ada/sem_ch13.ads                               |    26 +-
 gcc/ada/sem_ch3.adb                                |   389 +-
 gcc/ada/sem_ch3.ads                                |     2 +-
 gcc/ada/sem_ch4.adb                                |   229 +-
 gcc/ada/sem_ch5.adb                                |    58 +-
 gcc/ada/sem_ch6.adb                                |   452 +-
 gcc/ada/sem_ch7.adb                                |    28 +-
 gcc/ada/sem_ch8.adb                                |   250 +-
 gcc/ada/sem_ch9.adb                                |    22 +-
 gcc/ada/sem_dim.adb                                |    61 +-
 gcc/ada/sem_disp.adb                               |    20 +-
 gcc/ada/sem_dist.adb                               |     9 +-
 gcc/ada/sem_elab.adb                               |   326 +-
 gcc/ada/sem_elim.adb                               |     2 +-
 gcc/ada/sem_eval.adb                               |   349 +-
 gcc/ada/sem_eval.ads                               |     2 -
 gcc/ada/sem_intr.adb                               |    45 +-
 gcc/ada/sem_mech.adb                               |     4 +-
 gcc/ada/sem_prag.adb                               |   964 +-
 gcc/ada/sem_prag.ads                               |     1 +
 gcc/ada/sem_res.adb                                |   538 +-
 gcc/ada/sem_scil.adb                               |    12 +-
 gcc/ada/sem_type.adb                               |    51 +-
 gcc/ada/sem_util.adb                               |  2002 +-
 gcc/ada/sem_util.ads                               |    86 +-
 gcc/ada/sem_warn.adb                               |    75 +-
 gcc/ada/sinfo.adb                                  |   288 +-
 gcc/ada/sinfo.ads                                  |   209 +-
 gcc/ada/snames.ads-tmpl                            |    13 +
 gcc/ada/socket.c                                   |    36 +-
 gcc/ada/sprint.adb                                 |    27 +-
 gcc/ada/styleg.adb                                 |     6 +-
 gcc/ada/switch.adb                                 |     5 +-
 gcc/ada/sysdep.c                                   |     2 +-
 gcc/ada/tbuild.adb                                 |    22 +-
 gcc/ada/tbuild.ads                                 |     5 +
 gcc/ada/terminals.c                                |    97 +-
 gcc/ada/tracebak.c                                 |     3 +
 gcc/ada/treepr.adb                                 |    11 +-
 gcc/analyzer/ChangeLog                             |  1444 ++
 gcc/analyzer/analyzer-logging.cc                   |     8 +-
 gcc/analyzer/analyzer-logging.h                    |     2 +
 gcc/analyzer/analyzer-selftests.cc                 |     1 +
 gcc/analyzer/analyzer-selftests.h                  |     1 +
 gcc/analyzer/analyzer.cc                           |    30 +
 gcc/analyzer/analyzer.h                            |   192 +-
 gcc/analyzer/analyzer.opt                          |     8 +
 gcc/analyzer/call-string.cc                        |     2 +
 gcc/analyzer/checker-path.cc                       |    52 +-
 gcc/analyzer/checker-path.h                        |    12 +-
 gcc/analyzer/constraint-manager.cc                 |  1226 +-
 gcc/analyzer/constraint-manager.h                  |   113 +-
 gcc/analyzer/diagnostic-manager.cc                 |   451 +-
 gcc/analyzer/diagnostic-manager.h                  |    20 +-
 gcc/analyzer/engine.cc                             |   790 +-
 gcc/analyzer/exploded-graph.h                      |    55 +-
 gcc/analyzer/program-point.cc                      |    61 +
 gcc/analyzer/program-point.h                       |    52 +-
 gcc/analyzer/program-state.cc                      |  1271 +-
 gcc/analyzer/program-state.h                       |   240 +-
 gcc/analyzer/region-model-impl-calls.cc            |   352 +
 gcc/analyzer/region-model-manager.cc               |  1088 ++
 gcc/analyzer/region-model-reachability.cc          |   280 +
 gcc/analyzer/region-model-reachability.h           |   117 +
 gcc/analyzer/region-model.cc                       |  8950 +++------
 gcc/analyzer/region-model.h                        |  3142 ++--
 gcc/analyzer/region.cc                             |  1091 ++
 gcc/analyzer/sm-file.cc                            |    26 +-
 gcc/analyzer/sm-malloc.cc                          |   164 +-
 gcc/analyzer/sm-sensitive.cc                       |     3 +-
 gcc/analyzer/sm-signal.cc                          |    15 +-
 gcc/analyzer/sm-taint.cc                           |     9 +-
 gcc/analyzer/sm.cc                                 |    21 +-
 gcc/analyzer/sm.h                                  |    35 +-
 gcc/analyzer/store.cc                              |  2085 +++
 gcc/analyzer/store.h                               |   616 +
 gcc/analyzer/svalue.cc                             |  1004 +
 gcc/asan.c                                         |     7 +
 gcc/asan.h                                         |     2 +
 gcc/brig/ChangeLog                                 |     7 +
 gcc/brig/brigfrontend/brig-util.cc                 |     9 +
 gcc/brig/brigfrontend/brig-util.h                  |     2 +
 gcc/{ => brig/brigfrontend}/hsa-brig-format.h      |     0
 gcc/builtins.c                                     |   187 +-
 gcc/builtins.def                                   |    16 -
 gcc/c-family/ChangeLog                             |   104 +
 gcc/c-family/c-common.c                            |   143 +-
 gcc/c-family/c-common.h                            |     2 +
 gcc/c-family/c-cppbuiltin.c                        |     6 +-
 gcc/c-family/c-indentation.c                       |     5 +-
 gcc/c-family/c-omp.c                               |    11 +
 gcc/c-family/c-opts.c                              |    16 +-
 gcc/c-family/c-ppoutput.c                          |    16 +-
 gcc/c-family/c.opt                                 |     7 +-
 gcc/c/ChangeLog                                    |    44 +
 gcc/c/c-decl.c                                     |     7 +
 gcc/c/c-objc-common.h                              |     2 +
 gcc/c/c-parser.c                                   |    47 +-
 gcc/c/c-typeck.c                                   |   110 +-
 gcc/calls.c                                        |    22 +-
 gcc/cfganal.c                                      |   436 +-
 gcc/cfganal.h                                      |     3 +-
 gcc/cgraph.h                                       |     2 -
 gcc/cgraphunit.c                                   |   166 +-
 gcc/combine.c                                      |    11 +-
 gcc/common.opt                                     |    40 +-
 gcc/common/config/i386/cpuinfo.h                   |     8 +
 gcc/common/config/i386/i386-common.c               |     6 +
 gcc/common/config/i386/i386-cpuinfo.h              |     2 +
 gcc/common/config/riscv/riscv-common.c             |    70 +-
 gcc/config.gcc                                     |    12 +-
 gcc/config.in                                      |     6 -
 gcc/config/aarch64/aarch64-builtins.c              |   376 +-
 gcc/config/aarch64/aarch64-c.c                     |    16 +
 gcc/config/aarch64/aarch64-cores.def               |     3 +
 gcc/config/aarch64/aarch64-ldpstp.md               |    42 +
 gcc/config/aarch64/aarch64-protos.h                |    10 +-
 gcc/config/aarch64/aarch64-simd-builtins.def       |  1014 +-
 gcc/config/aarch64/aarch64-simd.md                 |    10 +-
 gcc/config/aarch64/aarch64-sve.md                  |     8 +-
 gcc/config/aarch64/aarch64-tune.md                 |     2 +-
 gcc/config/aarch64/aarch64.c                       |   660 +-
 gcc/config/aarch64/aarch64.h                       |    27 +-
 gcc/config/aarch64/aarch64.md                      |   184 +-
 gcc/config/aarch64/aarch64.opt                     |     4 +
 gcc/config/aarch64/constraints.md                  |     9 +
 gcc/config/aarch64/driver-aarch64.c                |   146 +-
 gcc/config/aarch64/geniterators.sh                 |     4 +-
 gcc/config/aarch64/iterators.md                    |    17 +
 gcc/config/aarch64/predicates.md                   |     3 +-
 gcc/config/arm/arm-builtins.c                      |    35 +-
 gcc/config/arm/arm-cpus.in                         |     2 +-
 gcc/config/arm/arm-protos.h                        |     4 +
 gcc/config/arm/arm.c                               |   126 +-
 gcc/config/arm/arm.h                               |     3 +
 gcc/config/arm/arm.md                              |     6 +-
 gcc/config/arm/constraints.md                      |     7 +
 gcc/config/arm/driver-arm.c                        |     8 +-
 gcc/config/arm/thumb1.md                           |     8 +-
 gcc/config/arm/thumb2.md                           |    49 +-
 gcc/config/arm/unspecs.md                          |     1 +
 gcc/config/arm/vfp.md                              |    26 +-
 gcc/config/bpf/bpf-helpers.def                     |   194 -
 gcc/config/bpf/bpf-helpers.h                       |   530 +-
 gcc/config/bpf/bpf.c                               |   172 +-
 gcc/config/bpf/bpf.md                              |     2 +-
 gcc/config/bpf/constraints.md                      |     1 -
 gcc/config/bpf/predicates.md                       |     1 -
 gcc/config/cris/cris-modes.def                     |    17 +-
 gcc/config/cris/cris-passes.def                    |    20 +
 gcc/config/cris/cris-protos.h                      |     2 +
 gcc/config/cris/cris.c                             |   218 +-
 gcc/config/cris/cris.md                            |   183 +-
 gcc/config/cris/sync.md                            |     6 +-
 gcc/config/cris/t-cris                             |     3 +-
 gcc/config/csky/csky-elf.h                         |     2 +
 gcc/config/csky/csky-linux-elf.h                   |     2 +
 gcc/config/csky/csky.h                             |     9 +-
 gcc/config/csky/csky.opt                           |    29 +-
 gcc/config/csky/csky_opts.h                        |     7 +
 gcc/config/csky/t-csky-linux                       |     8 +-
 gcc/config/darwin.c                                |    62 +-
 gcc/config/darwin.h                                |     3 +
 gcc/config/gcn/gcn-hsa.h                           |     1 +
 gcc/config/gcn/gcn-protos.h                        |     1 +
 gcc/config/gcn/gcn-run.c                           |    18 -
 gcc/config/gcn/gcn-valu.md                         |    20 +
 gcc/config/gcn/gcn.c                               |   141 +-
 gcc/config/gcn/gcn.md                              |   105 +
 gcc/config/gcn/mkoffload.c                         |   292 +-
 gcc/config/i386/avx512fintrin.h                    |   164 +-
 gcc/config/i386/cpuid.h                            |    12 +
 gcc/config/i386/driver-i386.c                      |    13 +-
 gcc/config/i386/i386-builtin.def                   |    38 +-
 gcc/config/i386/i386-builtins.c                    |    19 +-
 gcc/config/i386/i386-c.c                           |    15 +
 gcc/config/i386/i386-expand.c                      |   296 +-
 gcc/config/i386/i386-options.c                     |    21 +-
 gcc/config/i386/i386-protos.h                      |     4 +-
 gcc/config/i386/i386.c                             |   336 +-
 gcc/config/i386/i386.h                             |    16 +-
 gcc/config/i386/i386.md                            |   330 +-
 gcc/config/i386/intelmic-mkoffload.c               |    72 +-
 gcc/config/i386/predicates.md                      |    31 +
 gcc/config/i386/sse.md                             |   128 +-
 gcc/config/i386/sync.md                            |    87 +-
 gcc/config/i386/x86-64.h                           |    11 +
 gcc/config/i386/x86-tune-costs.h                   |    42 +-
 gcc/config/i386/x86-tune.def                       |     4 +-
 gcc/config/m68k/m68k.c                             |    12 +-
 gcc/config/mmix/mmix.c                             |    54 +-
 gcc/config/mmix/mmix.h                             |     8 +
 gcc/config/mmix/mmix.md                            |    48 +-
 gcc/config/msp430/msp430-protos.h                  |     1 -
 gcc/config/msp430/msp430.c                         |    13 -
 gcc/config/msp430/msp430.h                         |     7 +-
 gcc/config/msp430/msp430.md                        |    40 +-
 gcc/config/nvptx/mkoffload.c                       |    15 +-
 gcc/config/nvptx/nvptx.c                           |    70 +-
 gcc/config/nvptx/nvptx.md                          |   222 +-
 gcc/config/pa/pa.c                                 |     8 +-
 gcc/config/riscv/multilib-generator                |    30 +-
 gcc/config/riscv/riscv-opts.h                      |     6 +
 gcc/config/riscv/riscv-sr.c                        |     6 +
 gcc/config/riscv/riscv.c                           |    47 +
 gcc/config/riscv/riscv.md                          |    88 +
 gcc/config/riscv/riscv.opt                         |    28 +
 gcc/config/rs6000/aix71.h                          |    91 +-
 gcc/config/rs6000/aix72.h                          |     4 +-
 gcc/config/rs6000/altivec.h                        |    25 +
 gcc/config/rs6000/altivec.md                       |   234 +-
 gcc/config/rs6000/defaultaix64.h                   |    28 -
 gcc/config/rs6000/dfp.md                           |    13 +
 gcc/config/rs6000/mma.md                           |    22 +-
 gcc/config/rs6000/predicates.md                    |    22 +-
 gcc/config/rs6000/rs6000-builtin.def               |   130 +
 gcc/config/rs6000/rs6000-c.c                       |    24 +-
 gcc/config/rs6000/rs6000-call.c                    |   435 +-
 gcc/config/rs6000/rs6000-protos.h                  |     2 +
 gcc/config/rs6000/rs6000.c                         |   250 +-
 gcc/config/rs6000/rs6000.md                        |   161 +-
 gcc/config/rs6000/rs6000.opt                       |     7 +-
 gcc/config/rs6000/vsx.md                           |   352 +
 gcc/config/s390/s390.c                             |    40 +-
 gcc/config/s390/s390.h                             |     5 +
 gcc/config/s390/s390.md                            |     4 +-
 gcc/config/s390/vector.md                          |     6 +-
 gcc/config/sparc/linux.h                           |    10 +-
 gcc/config/sparc/linux64.h                         |    10 +-
 gcc/config/sparc/sparc.c                           |    22 +-
 gcc/configure                                      |    87 +-
 gcc/configure.ac                                   |    55 +-
 gcc/convert.c                                      |    14 +-
 gcc/coverage.c                                     |     9 +-
 gcc/cp/ChangeLog                                   |   740 +
 gcc/cp/Make-lang.in                                |     1 -
 gcc/cp/call.c                                      |   216 +-
 gcc/cp/class.c                                     |   198 +-
 gcc/cp/constexpr.c                                 |    77 +-
 gcc/cp/constraint.cc                               |     6 +
 gcc/cp/coroutines.cc                               |  1727 +-
 gcc/cp/cp-gimplify.c                               |     1 +
 gcc/cp/cp-objcp-common.c                           |     5 +-
 gcc/cp/cp-objcp-common.h                           |     2 +
 gcc/cp/cp-tree.def                                 |     4 +-
 gcc/cp/cp-tree.h                                   |   157 +-
 gcc/cp/cvt.c                                       |    11 +-
 gcc/cp/cxx-pretty-print.c                          |    13 +-
 gcc/cp/decl.c                                      |   395 +-
 gcc/cp/decl2.c                                     |    57 +-
 gcc/cp/error.c                                     |    24 +-
 gcc/cp/except.c                                    |   190 +-
 gcc/cp/init.c                                      |    43 +-
 gcc/cp/mangle.c                                    |   142 +-
 gcc/cp/method.c                                    |     7 +-
 gcc/cp/name-lookup.c                               |   207 +-
 gcc/cp/name-lookup.h                               |    61 +-
 gcc/cp/parser.c                                    |   517 +-
 gcc/cp/pt.c                                        |   191 +-
 gcc/cp/ptree.c                                     |    45 +-
 gcc/cp/rtti.c                                      |     5 +-
 gcc/cp/search.c                                    |    36 +-
 gcc/cp/semantics.c                                 |    43 +-
 gcc/cp/tree.c                                      |    48 +-
 gcc/cp/typeck.c                                    |   136 +-
 gcc/cp/typeck2.c                                   |    12 +-
 gcc/d/ChangeLog                                    |   135 +
 gcc/d/d-codegen.cc                                 |   151 +-
 gcc/d/d-tree.h                                     |     9 +-
 gcc/d/decl.cc                                      |    22 +-
 gcc/d/dmd/MERGE                                    |     2 +-
 gcc/d/dmd/cond.c                                   |    73 +-
 gcc/d/dmd/dstruct.c                                |     9 +-
 gcc/d/dmd/expressionsem.c                          |    10 +
 gcc/d/dmd/parse.c                                  |     1 +
 gcc/d/expr.cc                                      |   537 +-
 gcc/d/gdc.texi                                     |     6 +
 gcc/d/intrinsics.cc                                |   400 +-
 gcc/d/intrinsics.def                               |   175 +-
 gcc/d/lang.opt                                     |     4 +
 gcc/dbgcnt.def                                     |     1 +
 gcc/diagnostic-format-json.cc                      |    55 +-
 gcc/diagnostic-show-locus.c                        |   504 +-
 gcc/diagnostic.c                                   |   113 +-
 gcc/diagnostic.h                                   |    28 +-
 gcc/doc/analyzer.texi                              |   115 +-
 gcc/doc/cpp.texi                                   |    14 +-
 gcc/doc/extend.texi                                |   629 +-
 gcc/doc/gcov.texi                                  |     8 +-
 gcc/doc/generic.texi                               |     2 +-
 gcc/doc/gimple.texi                                |     6 +-
 gcc/doc/gty.texi                                   |     2 +-
 gcc/doc/install.texi                               |    16 +-
 gcc/doc/invoke.texi                                |   233 +-
 gcc/doc/languages.texi                             |     2 +-
 gcc/doc/match-and-simplify.texi                    |    16 +
 gcc/doc/md.texi                                    |    26 +
 gcc/doc/passes.texi                                |     7 -
 gcc/doc/sourcebuild.texi                           |    49 +
 gcc/doc/tm.texi                                    |    11 +-
 gcc/doc/tm.texi.in                                 |     4 +-
 gcc/dse.c                                          |    78 +-
 gcc/dumpfile.c                                     |     5 +-
 gcc/dumpfile.h                                     |     1 +
 gcc/explow.c                                       |    20 +-
 gcc/expmed.c                                       |    38 +-
 gcc/expr.c                                         |   275 +-
 gcc/expr.h                                         |     8 +-
 gcc/flag-types.h                                   |     3 +-
 gcc/fold-const-call.c                              |     6 +-
 gcc/fold-const.c                                   |   239 +-
 gcc/fold-const.h                                   |     3 +-
 gcc/fortran/ChangeLog                              |   473 +
 gcc/fortran/arith.c                                |     2 +-
 gcc/fortran/check.c                                |    38 +-
 gcc/fortran/class.c                                |    11 +-
 gcc/fortran/decl.c                                 |    27 +-
 gcc/fortran/dump-parse-tree.c                      |    60 +-
 gcc/fortran/expr.c                                 |    17 +-
 gcc/fortran/f95-lang.c                             |    11 -
 gcc/fortran/frontend-passes.c                      |   393 +-
 gcc/fortran/gfc-internals.texi                     |     2 +-
 gcc/fortran/gfortran.h                             |    39 +-
 gcc/fortran/gfortran.texi                          |    18 +-
 gcc/fortran/interface.c                            |    24 +-
 gcc/fortran/intrinsic.c                            |    34 +-
 gcc/fortran/intrinsic.texi                         |   101 +-
 gcc/fortran/invoke.texi                            |     8 +-
 gcc/fortran/io.c                                   |    26 +-
 gcc/fortran/match.c                                |    19 +-
 gcc/fortran/match.h                                |     1 +
 gcc/fortran/misc.c                                 |     8 +-
 gcc/fortran/module.c                               |    73 +-
 gcc/fortran/openmp.c                               |   390 +-
 gcc/fortran/parse.c                                |    78 +-
 gcc/fortran/primary.c                              |    23 +-
 gcc/fortran/resolve.c                              |   106 +-
 gcc/fortran/symbol.c                               |    12 +-
 gcc/fortran/trans-array.c                          |    29 +-
 gcc/fortran/trans-decl.c                           |     9 +-
 gcc/fortran/trans-expr.c                           |    27 +-
 gcc/fortran/trans-openmp.c                         |   458 +-
 gcc/fortran/trans-stmt.c                           |     6 +-
 gcc/function.c                                     |     4 +-
 gcc/gcc.c                                          |    15 +-
 gcc/gcov-dump.c                                    |    53 +-
 gcc/gcov-io.c                                      |     2 +-
 gcc/gcov-io.h                                      |     3 +
 gcc/gcov.c                                         |    26 +-
 gcc/generic-match-head.c                           |    10 +
 gcc/genmatch.c                                     |   104 +-
 gcc/gimple-array-bounds.cc                         |    11 +-
 gcc/gimple-fold.c                                  |   177 +-
 gcc/gimple-loop-interchange.cc                     |     2 +
 gcc/gimple-low.c                                   |     1 -
 gcc/gimple-match-head.c                            |    10 +
 gcc/gimple-pretty-print.c                          |     7 -
 gcc/gimple-range.cc                                |    15 +-
 gcc/gimple-ssa-split-paths.c                       |    39 +
 gcc/gimple-ssa-sprintf.c                           |    69 +-
 gcc/gimple-ssa-store-merging.c                     |   202 +-
 gcc/gimple-walk.c                                  |     1 -
 gcc/gimple.c                                       |    15 -
 gcc/gimple.def                                     |     4 -
 gcc/gimple.h                                       |   134 +-
 gcc/gimplify.c                                     |   174 +-
 gcc/glimits.h                                      |     8 +
 gcc/go/ChangeLog                                   |     5 +
 gcc/go/go-c.h                                      |     1 +
 gcc/go/go-lang.c                                   |     1 +
 gcc/go/gofrontend/MERGE                            |     2 +-
 gcc/go/gofrontend/escape.cc                        |    29 +-
 gcc/go/gofrontend/expressions.cc                   |   110 +-
 gcc/go/gofrontend/expressions.h                    |     2 +-
 gcc/go/gofrontend/go.cc                            |     2 +
 gcc/go/gofrontend/gogo.cc                          |    52 +-
 gcc/go/gofrontend/gogo.h                           |    14 +
 gcc/go/gofrontend/names.cc                         |     9 +-
 gcc/go/gofrontend/runtime.def                      |    16 +-
 gcc/go/gofrontend/types.cc                         |    31 +-
 gcc/graphite-dependences.c                         |     2 +-
 gcc/graphite-isl-ast-to-gimple.c                   |    32 +-
 gcc/graphite-optimize-isl.c                        |     2 +-
 gcc/graphite-poly.c                                |     2 +-
 gcc/graphite-scop-detection.c                      |     2 +-
 gcc/graphite-sese-to-poly.c                        |    11 +-
 gcc/graphite.c                                     |     2 +-
 gcc/graphite.h                                     |    16 -
 gcc/hash-map.h                                     |     3 +-
 gcc/hsa-brig.c                                     |  2612 ---
 gcc/hsa-builtins.def                               |    39 -
 gcc/hsa-common.c                                   |   996 -
 gcc/hsa-common.h                                   |  1419 --
 gcc/hsa-dump.c                                     |  1278 --
 gcc/hsa-gen.c                                      |  6694 -------
 gcc/hsa-regalloc.c                                 |   729 -
 gcc/incpath.c                                      |     8 +-
 gcc/incpath.h                                      |     4 +-
 gcc/input.c                                        |    72 +-
 gcc/input.h                                        |     4 +-
 gcc/internal-fn.c                                  |    42 +-
 gcc/internal-fn.def                                |     6 +
 gcc/ipa-cp.c                                       |    19 +-
 gcc/ipa-devirt.c                                   |     9 +-
 gcc/ipa-fnsummary.c                                |    29 +-
 gcc/ipa-hsa.c                                      |   336 -
 gcc/ipa-param-manipulation.c                       |     6 +-
 gcc/ipa-prop.h                                     |     2 -
 gcc/ipa-sra.c                                      |     4 +-
 gcc/ira.c                                          |     2 +
 gcc/langhooks-def.h                                |     5 +-
 gcc/langhooks.c                                    |    14 +
 gcc/langhooks.h                                    |     3 +
 gcc/lto-opts.c                                     |    15 +
 gcc/lto-section-in.c                               |     1 -
 gcc/lto-streamer-out.c                             |    29 +-
 gcc/lto-streamer.h                                 |     1 -
 gcc/lto-wrapper.c                                  |    80 +-
 gcc/match.pd                                       |   182 +-
 gcc/omp-expand.c                                   |  1219 +-
 gcc/omp-general.c                                  |   209 +-
 gcc/omp-general.h                                  |     8 +
 gcc/omp-grid.c                                     |  1419 --
 gcc/omp-grid.h                                     |    27 -
 gcc/omp-low.c                                      |   216 +-
 gcc/optabs-query.c                                 |    27 +
 gcc/optabs-query.h                                 |     1 +
 gcc/optabs.def                                     |     2 +
 gcc/optc-save-gen.awk                              |     4 +
 gcc/opts-common.c                                  |    39 +-
 gcc/opts.c                                         |    98 +-
 gcc/params.opt                                     |     8 +-
 gcc/passes.c                                       |    47 +-
 gcc/passes.def                                     |     2 -
 gcc/po/ChangeLog                                   |    22 +
 gcc/po/be.po                                       |  9675 +++++-----
 gcc/po/da.po                                       |  9705 +++++-----
 gcc/po/de.po                                       |  9704 +++++-----
 gcc/po/el.po                                       |  9687 +++++-----
 gcc/po/es.po                                       |  9725 +++++-----
 gcc/po/fi.po                                       |  9700 +++++-----
 gcc/po/fr.po                                       |  9703 +++++-----
 gcc/po/gcc.pot                                     | 18475 ++++++++++---------
 gcc/po/hr.po                                       |  9674 +++++-----
 gcc/po/id.po                                       |  9715 +++++-----
 gcc/po/ja.po                                       | 17172 +++++------------
 gcc/po/nl.po                                       |  9707 +++++-----
 gcc/po/ru.po                                       |  9715 +++++-----
 gcc/po/sr.po                                       |  9713 +++++-----
 gcc/po/sv.po                                       | 11904 ++++++------
 gcc/po/tr.po                                       |  9719 +++++-----
 gcc/po/uk.po                                       |  9692 +++++-----
 gcc/po/vi.po                                       |  9704 +++++-----
 gcc/po/zh_CN.po                                    |  9711 +++++-----
 gcc/po/zh_TW.po                                    |  9723 +++++-----
 gcc/predict.c                                      |    76 +-
 gcc/range-op.cc                                    |    44 +-
 gcc/regrename.c                                    |    16 +-
 gcc/regrename.h                                    |     2 +-
 gcc/shrink-wrap.c                                  |     7 +-
 gcc/simplify-rtx.c                                 |   207 +-
 gcc/spellcheck.c                                   |    22 +-
 gcc/symbol-summary.h                               |    13 +-
 gcc/symtab.c                                       |    13 +
 gcc/system.h                                       |    34 +-
 gcc/target.def                                     |    11 +-
 gcc/testsuite/ChangeLog                            |  2937 ++-
 .../c-c++-common/Waddress-of-packed-member-1.c     |    48 +-
 .../c-c++-common/Waddress-of-packed-member-2.c     |    37 +-
 gcc/testsuite/c-c++-common/Wattributes.c           |     2 +-
 .../c-c++-common/Wmisleading-indentation-3.c       |    12 +-
 .../c-c++-common/Wmisleading-indentation.c         |     6 +-
 gcc/testsuite/c-c++-common/attr-copy.c             |     1 +
 .../c-c++-common/builtin-arith-overflow-1.c        |    73 +-
 .../c-c++-common/builtin-has-attribute-4.c         |     3 +-
 .../c-c++-common/cpp/has-include-1-traditional.c   |    38 +
 gcc/testsuite/c-c++-common/cpp/line-2.c            |    11 +
 gcc/testsuite/c-c++-common/cpp/line-2.h            |     5 +
 gcc/testsuite/c-c++-common/cpp/line-3.c            |    20 +
 gcc/testsuite/c-c++-common/cpp/line-4.c            |    11 +
 gcc/testsuite/c-c++-common/cpp/line-4.h            |     3 +
 gcc/testsuite/c-c++-common/cpp/pr96323.c           |     8 +
 gcc/testsuite/c-c++-common/cpp/pragma-eof.c        |     7 +
 .../c-c++-common/diagnostic-format-json-1.c        |     5 +
 .../c-c++-common/diagnostic-format-json-2.c        |     5 +
 .../c-c++-common/diagnostic-format-json-3.c        |     5 +
 .../c-c++-common/diagnostic-format-json-4.c        |     9 +
 .../c-c++-common/diagnostic-format-json-5.c        |     9 +
 gcc/testsuite/c-c++-common/diagnostic-units-1.c    |    28 +
 gcc/testsuite/c-c++-common/diagnostic-units-2.c    |    28 +
 gcc/testsuite/c-c++-common/diagnostic-units-3.c    |    28 +
 gcc/testsuite/c-c++-common/diagnostic-units-4.c    |    28 +
 gcc/testsuite/c-c++-common/diagnostic-units-5.c    |    28 +
 gcc/testsuite/c-c++-common/diagnostic-units-6.c    |    28 +
 gcc/testsuite/c-c++-common/diagnostic-units-7.c    |    28 +
 gcc/testsuite/c-c++-common/diagnostic-units-8.c    |    28 +
 gcc/testsuite/c-c++-common/goacc/mdc-1.c           |    14 +-
 gcc/testsuite/c-c++-common/gomp/gridify-1.c        |    54 -
 gcc/testsuite/c-c++-common/gomp/gridify-2.c        |    66 -
 gcc/testsuite/c-c++-common/gomp/gridify-3.c        |    68 -
 .../c-c++-common/gomp/hsa-indirect-call-1.c        |    24 -
 gcc/testsuite/c-c++-common/gomp/loop-7.c           |    24 +
 gcc/testsuite/c-c++-common/gomp/pr96424.c          |    23 +
 gcc/testsuite/c-c++-common/missing-close-symbol.c  |     6 +-
 .../c-c++-common/patchable_function_entry-decl.c   |     2 +-
 .../patchable_function_entry-default.c             |     2 +-
 .../patchable_function_entry-definition.c          |     2 +-
 gcc/testsuite/c-c++-common/pr28656.c               |    12 +-
 gcc/testsuite/c-c++-common/pr51628-13.c            |     2 +-
 gcc/testsuite/c-c++-common/pr51628-15.c            |     2 +-
 gcc/testsuite/c-c++-common/pr51628-16.c            |     4 +-
 gcc/testsuite/c-c++-common/pr51628-26.c            |     6 +-
 gcc/testsuite/c-c++-common/pr51628-27.c            |     2 +-
 gcc/testsuite/c-c++-common/pr51628-28.c            |    10 +-
 gcc/testsuite/c-c++-common/pr51628-29.c            |     3 +-
 gcc/testsuite/c-c++-common/pr51628-3.c             |    12 +-
 gcc/testsuite/c-c++-common/pr51628-30.c            |     5 +-
 gcc/testsuite/c-c++-common/pr51628-31.c            |     2 +-
 gcc/testsuite/c-c++-common/pr51628-32.c            |     3 +-
 gcc/testsuite/c-c++-common/pr51628-33.c            |     2 +-
 gcc/testsuite/c-c++-common/pr51628-35.c            |     4 +-
 gcc/testsuite/c-c++-common/pr51628-4.c             |    12 +-
 gcc/testsuite/c-c++-common/pr51628-5.c             |    12 +-
 gcc/testsuite/c-c++-common/pr51628-6.c             |    12 +-
 gcc/testsuite/c-c++-common/pr51628-8.c             |    14 +-
 gcc/testsuite/c-c++-common/pr51628-9.c             |    14 +-
 gcc/testsuite/c-c++-common/pr56493.c               |     2 +-
 gcc/testsuite/c-c++-common/pr66208.c               |     2 +-
 gcc/testsuite/c-c++-common/pr88664-2.c             |     4 +-
 gcc/testsuite/c-c++-common/pr95237-1.c             |    16 +
 gcc/testsuite/c-c++-common/pr95237-2.c             |    10 +
 gcc/testsuite/c-c++-common/pr95237-3.c             |    10 +
 gcc/testsuite/c-c++-common/pr95237-4.c             |    10 +
 gcc/testsuite/c-c++-common/pr95237-5.c             |    16 +
 gcc/testsuite/c-c++-common/pr95237-6.c             |    24 +
 gcc/testsuite/c-c++-common/pr95237-7.c             |    19 +
 gcc/testsuite/c-c++-common/pr95237-8.c             |    10 +
 gcc/testsuite/c-c++-common/pr95237-9.c             |    10 +
 gcc/testsuite/c-c++-common/pr96192-1.c             |    16 +
 gcc/testsuite/c-c++-common/pr96369.c               |    12 +
 gcc/testsuite/c-c++-common/pr96545.c               |    31 +
 gcc/testsuite/g++.dg/DRs/dr188.C                   |     7 +
 gcc/testsuite/g++.dg/abi/pure-virtual1.C           |     1 +
 gcc/testsuite/g++.dg/analyzer/pr93212.C            |     5 +-
 gcc/testsuite/g++.dg/analyzer/pr93950.C            |     4 +-
 gcc/testsuite/g++.dg/analyzer/pr94011.C            |    16 +
 gcc/testsuite/g++.dg/analyzer/pr94028.C            |     9 +-
 gcc/testsuite/g++.dg/analyzer/pr94503.C            |    25 +
 gcc/testsuite/g++.dg/analyzer/pr95042.C            |    28 +
 gcc/testsuite/g++.dg/analyzer/pr96641.C            |    18 +
 gcc/testsuite/g++.dg/concepts/abbrev7.C            |    14 +
 gcc/testsuite/g++.dg/concepts/diagnostic14.C       |    36 +
 gcc/testsuite/g++.dg/concepts/fn8.C                |     2 +-
 gcc/testsuite/g++.dg/conversion/ref4.C             |    22 +
 gcc/testsuite/g++.dg/conversion/ref5.C             |    14 +
 gcc/testsuite/g++.dg/conversion/ref6.C             |    24 +
 .../coroutines/co-return-syntax-10-movable.C       |    12 +-
 ...> pr94760-mismatched-traits-and-promise-prev.C} |     0
 gcc/testsuite/g++.dg/coroutines/pr95591.C          |    26 +
 gcc/testsuite/g++.dg/coroutines/pr95599.C          |    69 +
 gcc/testsuite/g++.dg/coroutines/pr95711.C          |    79 +
 gcc/testsuite/g++.dg/coroutines/pr95823.C          |    30 +
 gcc/testsuite/g++.dg/coroutines/pr95824.C          |    37 +
 .../coroutines/torture/pr95519-02-final_suspend.C  |     2 +-
 .../coroutines/torture/pr95519-03-return-value.C   |     2 +-
 .../coroutines/torture/pr95519-04-yield-value.C    |     2 +-
 .../g++.dg/coroutines/torture/pr95519-05-gro.C     |     4 +-
 gcc/testsuite/g++.dg/cpp0x/Wredundant-move1.C      |     2 +-
 gcc/testsuite/g++.dg/cpp0x/Wredundant-move7.C      |     6 +-
 gcc/testsuite/g++.dg/cpp0x/Wredundant-move9.C      |     2 +-
 gcc/testsuite/g++.dg/cpp0x/constexpr-array26.C     |    13 +
 gcc/testsuite/g++.dg/cpp0x/constexpr-array27.C     |    13 +
 gcc/testsuite/g++.dg/cpp0x/constexpr-is_literal.C  |     2 +-
 gcc/testsuite/g++.dg/cpp0x/decltype77.C            |    10 +
 gcc/testsuite/g++.dg/cpp0x/decltype78.C            |    24 +
 gcc/testsuite/g++.dg/cpp0x/decltype79.C            |    19 +
 gcc/testsuite/g++.dg/cpp0x/elision_neg.C           |     2 +-
 gcc/testsuite/g++.dg/cpp0x/move-return2.C          |     2 +-
 gcc/testsuite/g++.dg/cpp0x/move-return3.C          |    23 +
 gcc/testsuite/g++.dg/cpp0x/nullptr22.C             |     4 +-
 gcc/testsuite/g++.dg/cpp0x/pr81246.C               |     2 +-
 gcc/testsuite/g++.dg/cpp0x/ref-qual20.C            |     5 +-
 gcc/testsuite/g++.dg/cpp0x/variadic74.C            |     2 +-
 gcc/testsuite/g++.dg/cpp0x/vt-59978.C              |    16 +
 gcc/testsuite/g++.dg/cpp1y/auto-fn58.C             |    13 +
 gcc/testsuite/g++.dg/cpp1y/auto-fn59.C             |     8 +
 gcc/testsuite/g++.dg/cpp1y/auto-fn60.C             |    11 +
 gcc/testsuite/g++.dg/cpp1y/auto-fn61.C             |    13 +
 gcc/testsuite/g++.dg/cpp1y/constexpr-96182.C       |     6 +
 gcc/testsuite/g++.dg/cpp1y/constexpr-array8.C      |    18 +
 gcc/testsuite/g++.dg/cpp1y/constexpr-return2.C     |     1 +
 gcc/testsuite/g++.dg/cpp1y/pr63996.C               |     1 +
 gcc/testsuite/g++.dg/cpp1y/pr68578.C               |     2 +-
 gcc/testsuite/g++.dg/cpp1y/var-templ44.C           |     1 +
 gcc/testsuite/g++.dg/cpp1y/var-templ66.C           |     7 +
 gcc/testsuite/g++.dg/cpp1y/var-templ67.C           |    16 +
 gcc/testsuite/g++.dg/cpp1z/aggr-base10.C           |    16 +
 gcc/testsuite/g++.dg/cpp1z/launder9.C              |    11 +
 gcc/testsuite/g++.dg/cpp1z/nontype-auto3.C         |     2 +-
 gcc/testsuite/g++.dg/cpp1z/nontype2.C              |     2 +-
 gcc/testsuite/g++.dg/cpp1z/nontype3.C              |     2 +-
 gcc/testsuite/g++.dg/cpp2a/class-deduction-aggr5.C |    20 +
 gcc/testsuite/g++.dg/cpp2a/class-deduction-aggr6.C |    35 +
 gcc/testsuite/g++.dg/cpp2a/class-deduction-aggr7.C |    14 +
 .../g++.dg/cpp2a/class-deduction-alias3.C          |    11 +
 .../g++.dg/cpp2a/concepts-explicit-inst5.C         |    14 +
 gcc/testsuite/g++.dg/cpp2a/concepts-fn1.C          |     2 +-
 gcc/testsuite/g++.dg/cpp2a/concepts-fn5.C          |    17 +
 gcc/testsuite/g++.dg/cpp2a/concepts-pr95497.C      |    12 +
 gcc/testsuite/g++.dg/cpp2a/concepts-redecl1.C      |     7 +
 gcc/testsuite/g++.dg/cpp2a/concepts-ts2.C          |     2 +-
 gcc/testsuite/g++.dg/cpp2a/concepts-ts3.C          |     2 +-
 gcc/testsuite/g++.dg/cpp2a/consteval-virtual1.C    |    12 +
 gcc/testsuite/g++.dg/cpp2a/consteval-virtual2.C    |    22 +
 gcc/testsuite/g++.dg/cpp2a/consteval-virtual3.C    |    53 +
 gcc/testsuite/g++.dg/cpp2a/consteval-virtual4.C    |    48 +
 gcc/testsuite/g++.dg/cpp2a/consteval-virtual5.C    |    61 +
 gcc/testsuite/g++.dg/cpp2a/constexpr-init18.C      |    16 +
 gcc/testsuite/g++.dg/cpp2a/feat-cxx2a.C            |     4 +-
 gcc/testsuite/g++.dg/cpp2a/implicit-move1.C        |    17 +
 gcc/testsuite/g++.dg/cpp2a/implicit-move2.C        |    49 +
 gcc/testsuite/g++.dg/cpp2a/implicit-move3.C        |    49 +
 gcc/testsuite/g++.dg/cpp2a/no_unique_address4.C    |    22 +
 gcc/testsuite/g++.dg/cpp2a/no_unique_address5.C    |    25 +
 gcc/testsuite/g++.dg/cpp2a/no_unique_address6.C    |    25 +
 gcc/testsuite/g++.dg/cpp2a/no_unique_address7.C    |    13 +
 gcc/testsuite/g++.dg/cpp2a/no_unique_address7a.C   |    14 +
 gcc/testsuite/g++.dg/cpp2a/nontype-class-equiv1.C  |    25 +
 gcc/testsuite/g++.dg/cpp2a/nontype-class-union1.C  |    25 +
 gcc/testsuite/g++.dg/cpp2a/nontype-subob1.C        |    25 +
 gcc/testsuite/g++.dg/cpp2a/nontype-subob2.C        |    13 +
 gcc/testsuite/g++.dg/cpp2a/paren-init27.C          |    24 +
 gcc/testsuite/g++.dg/cpp2a/paren-init28.C          |    15 +
 gcc/testsuite/g++.dg/cpp2a/paren-init29.C          |    15 +
 gcc/testsuite/g++.dg/cpp2a/paren-init30.C          |    23 +
 gcc/testsuite/g++.dg/cpp2a/paren-init31.C          |    10 +
 gcc/testsuite/g++.dg/cpp2a/paren-init32.C          |    21 +
 gcc/testsuite/g++.dg/cpp2a/spaceship-constexpr3.C  |     7 +
 gcc/testsuite/g++.dg/diagnostic/bad-binary-ops.C   |     8 +-
 gcc/testsuite/g++.dg/diagnostic/enum2.C            |    10 +
 gcc/testsuite/g++.dg/diagnostic/mem-init1.C        |    29 +
 gcc/testsuite/g++.dg/diagnostic/pr96328.C          |     4 +
 gcc/testsuite/g++.dg/eh/builtin10.C                |    12 +-
 gcc/testsuite/g++.dg/eh/builtin11.C                |    20 +-
 gcc/testsuite/g++.dg/eh/builtin5.C                 |     8 +-
 gcc/testsuite/g++.dg/eh/builtin6.C                 |    16 +-
 gcc/testsuite/g++.dg/eh/builtin7.C                 |    12 +-
 gcc/testsuite/g++.dg/eh/builtin9.C                 |    20 +-
 gcc/testsuite/g++.dg/ext/attr-nonnull.C            |     8 +-
 gcc/testsuite/g++.dg/ext/attrib49.C                |     4 +-
 gcc/testsuite/g++.dg/ext/flexary37.C               |    15 +
 gcc/testsuite/g++.dg/gcov/loop.C                   |     2 +-
 gcc/testsuite/g++.dg/gomp/critical-3.C             |    31 +-
 gcc/testsuite/g++.dg/gomp/gomp.exp                 |     2 +-
 gcc/testsuite/g++.dg/ipa/pr83667.C                 |     2 +-
 .../g++.dg/lookup/missing-std-include-10.C         |    43 +
 .../g++.dg/lookup/missing-std-include-10.h         |     1 +
 .../g++.dg/lookup/missing-std-include-11.C         |    43 +
 gcc/testsuite/g++.dg/opt/flifetime-dse2.C          |     1 -
 gcc/testsuite/g++.dg/opt/flifetime-dse4.C          |     1 -
 gcc/testsuite/g++.dg/opt/flifetime-dse7.C          |    16 +
 gcc/testsuite/g++.dg/opt/pr96194.C                 |    21 +
 gcc/testsuite/g++.dg/opt/pr96354.C                 |    24 +
 gcc/testsuite/g++.dg/other/error35.C               |     2 +-
 gcc/testsuite/g++.dg/parse/crash55.C               |     4 +-
 gcc/testsuite/g++.dg/parse/enum14.C                |     7 +
 gcc/testsuite/g++.dg/parse/error4.C                |     2 +-
 gcc/testsuite/g++.dg/parse/pr96257.C               |    18 +
 gcc/testsuite/g++.dg/parse/pragma-recovery.C       |    32 +
 gcc/testsuite/g++.dg/pr71973-2.C                   |     2 +-
 gcc/testsuite/g++.dg/pr96308.C                     |     7 +
 gcc/testsuite/g++.dg/template/crash106.C           |     8 +-
 gcc/testsuite/g++.dg/template/crash119.C           |     2 +-
 gcc/testsuite/g++.dg/template/incomplete12.C       |     9 +
 gcc/testsuite/g++.dg/template/nontype12.C          |    20 +-
 gcc/testsuite/g++.dg/template/nontype25.C          |     6 +-
 gcc/testsuite/g++.dg/template/nontype8.C           |     4 +-
 gcc/testsuite/g++.dg/template/pr39425.C            |     8 +-
 gcc/testsuite/g++.dg/template/template-keyword3.C  |    11 +
 gcc/testsuite/g++.dg/template/void3.C              |     2 +-
 gcc/testsuite/g++.dg/template/void7.C              |     2 +-
 gcc/testsuite/g++.dg/template/void9.C              |     2 +-
 gcc/testsuite/g++.dg/vect/pr96022.cc               |    12 +
 gcc/testsuite/g++.dg/vect/pr96163.cc               |   146 +
 gcc/testsuite/g++.dg/vect/slp-pr56812.cc           |     2 +-
 gcc/testsuite/g++.dg/warn/Wmismatched-tags-7.C     |    13 +
 gcc/testsuite/g++.dg/warn/Wmismatched-tags-8.C     |    22 +
 gcc/testsuite/g++.dg/warn/Wnonnull3.C              |     4 +-
 gcc/testsuite/g++.dg/warn/Wnonnull4.C              |     4 +-
 gcc/testsuite/g++.dg/warn/Wnonnull5.C              |   108 +
 gcc/testsuite/g++.dg/warn/Wnonnull6.C              |    37 +
 gcc/testsuite/g++.dg/warn/Wnonnull7.C              |    36 +
 gcc/testsuite/g++.dg/warn/Wnonnull8.C              |    20 +
 gcc/testsuite/g++.old-deja/g++.brendan/crash11.C   |     4 +-
 gcc/testsuite/g++.old-deja/g++.bugs/900404_04.C    |     6 +-
 gcc/testsuite/g++.old-deja/g++.law/missed-error2.C |     4 +-
 gcc/testsuite/g++.old-deja/g++.pt/overload2.C      |     2 +-
 gcc/testsuite/g++.old-deja/g++.pt/spec20.C         |     5 +-
 gcc/testsuite/g++.old-deja/g++.robertl/eb109.C     |     4 +-
 gcc/testsuite/g++.target/aarch64/pr95114.C         |     3 +
 gcc/testsuite/g++.target/aarch64/pr95726.C         |    46 +
 .../aarch64/sve/acle/general-c++/gnu_vectors_3.C   |    15 +
 .../aarch64/sve/acle/general-c++/gnu_vectors_4.C   |    15 +
 gcc/testsuite/g++.target/arm/pr95726.C             |    49 +
 gcc/testsuite/g++.target/i386/mv16.C               |    12 +
 gcc/testsuite/gcc.c-torture/compile/pr96426.c      |    10 +
 gcc/testsuite/gcc.c-torture/execute/pr23135.c      |     2 +-
 gcc/testsuite/gcc.c-torture/execute/pr96549.c      |    12 +
 gcc/testsuite/gcc.dg/Warray-bounds-46.c            |     3 +-
 gcc/testsuite/gcc.dg/Warray-bounds-48.c            |     3 +-
 gcc/testsuite/gcc.dg/Warray-bounds-50.c            |     3 +-
 gcc/testsuite/gcc.dg/Warray-bounds-62.c            |   130 +
 gcc/testsuite/gcc.dg/Wattributes-6.c               |     2 +-
 gcc/testsuite/gcc.dg/Wno-frame-address.c           |     2 +-
 gcc/testsuite/gcc.dg/Wreturn-local-addr-2.c        |     3 +-
 gcc/testsuite/gcc.dg/Wreturn-local-addr-3.c        |     3 +-
 gcc/testsuite/gcc.dg/Wreturn-local-addr-4.c        |     3 +-
 gcc/testsuite/gcc.dg/Wreturn-local-addr-6.c        |     3 +-
 gcc/testsuite/gcc.dg/Wstack-usage.c                |     3 +-
 gcc/testsuite/gcc.dg/Wstringop-overflow-15.c       |     3 +-
 gcc/testsuite/gcc.dg/Wstringop-overflow-23.c       |     3 +-
 gcc/testsuite/gcc.dg/Wstringop-overflow-25.c       |     3 +-
 gcc/testsuite/gcc.dg/Wstringop-overflow-27.c       |     3 +-
 gcc/testsuite/gcc.dg/Wstringop-overflow-39.c       |     3 +-
 gcc/testsuite/gcc.dg/Wunused-var-4.c               |    33 +
 .../gcc.dg/analyzer/CVE-2005-1689-dedupe-issue-2.c |    30 +
 .../gcc.dg/analyzer/CVE-2005-1689-dedupe-issue.c   |     2 +-
 .../gcc.dg/analyzer/CVE-2005-1689-minimal.c        |    61 +
 gcc/testsuite/gcc.dg/analyzer/abs-1.c              |    22 +
 gcc/testsuite/gcc.dg/analyzer/aliasing-1.c         |    25 +
 gcc/testsuite/gcc.dg/analyzer/aliasing-2.c         |    32 +
 gcc/testsuite/gcc.dg/analyzer/alloca-leak.c        |     2 +
 gcc/testsuite/gcc.dg/analyzer/analyzer-decls.h     |     7 +-
 gcc/testsuite/gcc.dg/analyzer/attribute-nonnull.c  |    12 +-
 gcc/testsuite/gcc.dg/analyzer/bzero-1.c            |    11 +
 gcc/testsuite/gcc.dg/analyzer/casts-1.c            |    49 +
 gcc/testsuite/gcc.dg/analyzer/casts-2.c            |    15 +
 .../gcc.dg/analyzer/compound-assignment-1.c        |     9 +-
 .../gcc.dg/analyzer/compound-assignment-3.c        |     2 +-
 .../gcc.dg/analyzer/compound-assignment-4.c        |    28 +
 .../gcc.dg/analyzer/compound-assignment-5.c        |   142 +
 .../gcc.dg/analyzer/conditionals-notrans.c         |    33 +-
 gcc/testsuite/gcc.dg/analyzer/data-model-1.c       |    98 +-
 gcc/testsuite/gcc.dg/analyzer/data-model-13.c      |     7 +-
 gcc/testsuite/gcc.dg/analyzer/data-model-14.c      |     9 +-
 gcc/testsuite/gcc.dg/analyzer/data-model-16.c      |     2 +
 gcc/testsuite/gcc.dg/analyzer/data-model-18.c      |     4 +-
 gcc/testsuite/gcc.dg/analyzer/data-model-20.c      |    25 +
 gcc/testsuite/gcc.dg/analyzer/data-model-5.c       |    13 +-
 gcc/testsuite/gcc.dg/analyzer/data-model-5b.c      |    12 +-
 gcc/testsuite/gcc.dg/analyzer/data-model-5c.c      |    13 +-
 gcc/testsuite/gcc.dg/analyzer/data-model-5d.c      |    61 +-
 gcc/testsuite/gcc.dg/analyzer/data-model-6.c       |    14 -
 gcc/testsuite/gcc.dg/analyzer/data-model-8.c       |     3 +-
 gcc/testsuite/gcc.dg/analyzer/describe-1.c         |    11 +
 gcc/testsuite/gcc.dg/analyzer/dot-output.c         |     3 +-
 gcc/testsuite/gcc.dg/analyzer/explode-1.c          |     2 +-
 gcc/testsuite/gcc.dg/analyzer/explode-2.c          |    16 +-
 gcc/testsuite/gcc.dg/analyzer/feasibility-1.c      |    62 +
 gcc/testsuite/gcc.dg/analyzer/first-field-1.c      |    24 +
 gcc/testsuite/gcc.dg/analyzer/first-field-2.c      |    33 +
 gcc/testsuite/gcc.dg/analyzer/init.c               |   136 +
 gcc/testsuite/gcc.dg/analyzer/leak-2.c             |     9 +
 .../analyzer/loop-0-up-to-n-by-1-with-iter-obj.c   |    73 +
 .../gcc.dg/analyzer/loop-0-up-to-n-by-1.c          |    31 +
 gcc/testsuite/gcc.dg/analyzer/loop-2a.c            |    10 +-
 gcc/testsuite/gcc.dg/analyzer/loop-3.c             |     7 +-
 gcc/testsuite/gcc.dg/analyzer/loop-4.c             |    13 +-
 .../gcc.dg/analyzer/loop-n-down-to-1-by-1.c        |    35 +
 .../gcc.dg/analyzer/loop-start-down-to-end-by-1.c  |    35 +
 .../analyzer/loop-start-down-to-end-by-step.c      |    30 +
 .../gcc.dg/analyzer/loop-start-to-end-by-step.c    |    36 +
 .../gcc.dg/analyzer/loop-start-up-to-end-by-1.c    |    34 +
 gcc/testsuite/gcc.dg/analyzer/loop.c               |     9 +-
 gcc/testsuite/gcc.dg/analyzer/malloc-1.c           |    28 +-
 gcc/testsuite/gcc.dg/analyzer/malloc-4.c           |     4 +-
 gcc/testsuite/gcc.dg/analyzer/malloc-in-loop.c     |    19 +
 .../gcc.dg/analyzer/malloc-ipa-8-double-free.c     |    82 +-
 .../gcc.dg/analyzer/malloc-ipa-8-unchecked.c       |     6 +-
 gcc/testsuite/gcc.dg/analyzer/malloc-paths-8.c     |     1 +
 gcc/testsuite/gcc.dg/analyzer/malloc-paths-9.c     |    59 +-
 gcc/testsuite/gcc.dg/analyzer/malloc-vs-local-1a.c |    22 +-
 gcc/testsuite/gcc.dg/analyzer/malloc-vs-local-2.c  |    16 +-
 gcc/testsuite/gcc.dg/analyzer/malloc-vs-local-3.c  |     7 +-
 gcc/testsuite/gcc.dg/analyzer/memset-1.c           |   100 +
 gcc/testsuite/gcc.dg/analyzer/paths-3.c            |     4 +-
 gcc/testsuite/gcc.dg/analyzer/paths-4.c            |    10 +-
 gcc/testsuite/gcc.dg/analyzer/paths-6.c            |     4 +-
 gcc/testsuite/gcc.dg/analyzer/paths-7.c            |     3 +-
 .../gcc.dg/analyzer/pr93032-mztools-simplified.c   |    22 +
 gcc/testsuite/gcc.dg/analyzer/pr93032-mztools.c    |   331 +
 gcc/testsuite/gcc.dg/analyzer/pr93382.c            |     6 +-
 gcc/testsuite/gcc.dg/analyzer/pr93546.c            |     1 +
 gcc/testsuite/gcc.dg/analyzer/pr93938.c            |    13 +
 gcc/testsuite/gcc.dg/analyzer/pr94099.c            |     3 +-
 gcc/testsuite/gcc.dg/analyzer/pr94399.c            |    13 +
 gcc/testsuite/gcc.dg/analyzer/pr94447.c            |     2 +-
 gcc/testsuite/gcc.dg/analyzer/pr94458.c            |    23 +
 gcc/testsuite/gcc.dg/analyzer/pr94640.c            |    17 +
 gcc/testsuite/gcc.dg/analyzer/pr94688.c            |     6 +
 gcc/testsuite/gcc.dg/analyzer/pr94689.c            |     8 +
 gcc/testsuite/gcc.dg/analyzer/pr94839.c            |    20 +
 gcc/testsuite/gcc.dg/analyzer/pr95026.c            |    17 +
 gcc/testsuite/gcc.dg/analyzer/pr95240.c            |    27 +
 gcc/testsuite/gcc.dg/analyzer/pr96598.c            |    26 +
 gcc/testsuite/gcc.dg/analyzer/pr96611.c            |    14 +
 gcc/testsuite/gcc.dg/analyzer/pr96639.c            |    10 +
 gcc/testsuite/gcc.dg/analyzer/pr96642.c            |    10 +
 gcc/testsuite/gcc.dg/analyzer/pr96644.c            |    24 +
 gcc/testsuite/gcc.dg/analyzer/refcounting-1.c      |    31 +
 gcc/testsuite/gcc.dg/analyzer/setjmp-1.c           |     1 +
 gcc/testsuite/gcc.dg/analyzer/setjmp-2.c           |     1 +
 gcc/testsuite/gcc.dg/analyzer/setjmp-3.c           |     1 +
 gcc/testsuite/gcc.dg/analyzer/setjmp-4.c           |     1 +
 gcc/testsuite/gcc.dg/analyzer/setjmp-5.c           |     1 +
 gcc/testsuite/gcc.dg/analyzer/setjmp-6.c           |     2 +
 gcc/testsuite/gcc.dg/analyzer/setjmp-7.c           |     2 +
 gcc/testsuite/gcc.dg/analyzer/setjmp-7a.c          |     1 +
 gcc/testsuite/gcc.dg/analyzer/setjmp-8.c           |     1 +
 gcc/testsuite/gcc.dg/analyzer/setjmp-9.c           |     1 +
 gcc/testsuite/gcc.dg/analyzer/setjmp-pr93378.c     |     1 +
 gcc/testsuite/gcc.dg/analyzer/signal-1.c           |     1 +
 gcc/testsuite/gcc.dg/analyzer/signal-2.c           |     1 +
 gcc/testsuite/gcc.dg/analyzer/signal-3.c           |     1 +
 gcc/testsuite/gcc.dg/analyzer/signal-4a.c          |     1 +
 gcc/testsuite/gcc.dg/analyzer/signal-4b.c          |     1 +
 gcc/testsuite/gcc.dg/analyzer/signal-5.c           |     1 +
 gcc/testsuite/gcc.dg/analyzer/signal-6.c           |     1 +
 gcc/testsuite/gcc.dg/analyzer/signal-exit.c        |     1 +
 gcc/testsuite/gcc.dg/analyzer/single-field.c       |    37 +
 gcc/testsuite/gcc.dg/analyzer/stale-frame-1.c      |    15 +
 gcc/testsuite/gcc.dg/analyzer/symbolic-1.c         |    43 +
 gcc/testsuite/gcc.dg/analyzer/symbolic-2.c         |    32 +
 gcc/testsuite/gcc.dg/analyzer/symbolic-3.c         |    12 +
 gcc/testsuite/gcc.dg/analyzer/symbolic-4.c         |    20 +
 gcc/testsuite/gcc.dg/analyzer/symbolic-5.c         |    29 +
 gcc/testsuite/gcc.dg/analyzer/symbolic-6.c         |    24 +
 gcc/testsuite/gcc.dg/analyzer/taint-1.c            |    22 +-
 .../gcc.dg/analyzer/torture/loop-inc-ptr-1.c       |    15 +
 .../gcc.dg/analyzer/torture/loop-inc-ptr-2.c       |    17 +
 .../gcc.dg/analyzer/torture/loop-inc-ptr-3.c       |    18 +
 gcc/testsuite/gcc.dg/analyzer/unknown-fns-2.c      |   238 +
 gcc/testsuite/gcc.dg/analyzer/unknown-fns-3.c      |    67 +
 gcc/testsuite/gcc.dg/analyzer/unknown-fns-4.c      |    15 +
 gcc/testsuite/gcc.dg/analyzer/unknown-fns.c        |     8 +-
 gcc/testsuite/gcc.dg/analyzer/use-after-free.c     |    12 +
 gcc/testsuite/gcc.dg/analyzer/vla-1.c              |    13 +
 gcc/testsuite/gcc.dg/analyzer/zlib-4.c             |    10 +-
 gcc/testsuite/gcc.dg/attr-copy-4.c                 |     4 +-
 gcc/testsuite/gcc.dg/attr-copy-6.c                 |     1 +
 gcc/testsuite/gcc.dg/attr-copy-8.c                 |    25 +
 gcc/testsuite/gcc.dg/bad-binary-ops.c              |     8 +-
 gcc/testsuite/gcc.dg/builtin-object-size-21.c      |     3 +-
 gcc/testsuite/gcc.dg/c11-align-9.c                 |     4 +-
 gcc/testsuite/gcc.dg/c11-bool-limits-1.c           |    13 +
 gcc/testsuite/gcc.dg/c2x-bool-limits-1.c           |    19 +
 gcc/testsuite/gcc.dg/cdce3.c                       |     3 +-
 gcc/testsuite/gcc.dg/const-uniq-1.c                |     2 +-
 gcc/testsuite/gcc.dg/debug/dwarf2/pr96383-1.c      |    17 +
 gcc/testsuite/gcc.dg/debug/dwarf2/pr96383-2.c      |    17 +
 gcc/testsuite/gcc.dg/fixits-pr84852-1.c            |     2 +-
 gcc/testsuite/gcc.dg/fixits-pr84852-2.c            |     2 +-
 gcc/testsuite/gcc.dg/fold-parity-1.c               |    21 +
 gcc/testsuite/gcc.dg/fold-parity-2.c               |    20 +
 gcc/testsuite/gcc.dg/fold-parity-3.c               |    20 +
 gcc/testsuite/gcc.dg/fold-parity-4.c               |    20 +
 gcc/testsuite/gcc.dg/fold-parity-5.c               |    38 +
 gcc/testsuite/gcc.dg/fold-popcount-5.c             |    38 +
 gcc/testsuite/gcc.dg/format/branch-1.c             |     2 +-
 gcc/testsuite/gcc.dg/format/pr79210.c              |     2 +-
 gcc/testsuite/gcc.dg/gimplefe-44.c                 |     1 +
 gcc/testsuite/gcc.dg/gomp/gomp.exp                 |     2 +-
 gcc/testsuite/gcc.dg/guality/pr95343.c             |    45 +
 gcc/testsuite/gcc.dg/ia64-sync-5.c                 |    83 +
 gcc/testsuite/gcc.dg/independent-cloneids-1.c      |     1 +
 gcc/testsuite/gcc.dg/ipa/ipa-clone-2.c             |     2 +-
 gcc/testsuite/gcc.dg/ipa/pr96040.c                 |    57 +
 gcc/testsuite/gcc.dg/ipa/pr96482-2.c               |    33 +
 gcc/testsuite/gcc.dg/ipa/pr96482.c                 |    44 +
 gcc/testsuite/gcc.dg/loop-8.c                      |     2 +-
 gcc/testsuite/gcc.dg/lto/pr96291.h                 |     4 +
 gcc/testsuite/gcc.dg/lto/pr96291_0.c               |    11 +
 gcc/testsuite/gcc.dg/lto/pr96291_1.c               |     3 +
 gcc/testsuite/gcc.dg/lto/pr96291_2.c               |     7 +
 gcc/testsuite/gcc.dg/memchr-2.c                    |    41 +
 gcc/testsuite/gcc.dg/memchr.c                      |    94 +
 gcc/testsuite/gcc.dg/memcmp-2.c                    |   183 +
 gcc/testsuite/gcc.dg/memcmp-3.c                    |   349 +
 gcc/testsuite/gcc.dg/memcmp-4.c                    |    81 +
 gcc/testsuite/gcc.dg/memcmp-5.c                    |    72 +
 gcc/testsuite/gcc.dg/memcmp-6.c                    |    47 +
 gcc/testsuite/gcc.dg/memcmp-pr95189.c              |    28 +
 .../gcc.dg/no_profile_instrument_function-attr-1.c |     2 +-
 .../gcc.dg/plugin/diagnostic-test-expressions-1.c  |    16 +-
 .../plugin/diagnostic-test-string-literals-1.c     |     4 +-
 gcc/testsuite/gcc.dg/pr26570.c                     |     2 +
 gcc/testsuite/gcc.dg/pr30957-1.c                   |     4 +-
 gcc/testsuite/gcc.dg/pr44194-1.c                   |     1 +
 gcc/testsuite/gcc.dg/pr51628-17.c                  |     2 +-
 gcc/testsuite/gcc.dg/pr51628-19.c                  |     6 +-
 gcc/testsuite/gcc.dg/pr51628-20.c                  |     2 +-
 gcc/testsuite/gcc.dg/pr51628-21.c                  |     2 +-
 gcc/testsuite/gcc.dg/pr51628-22.c                  |     2 +-
 gcc/testsuite/gcc.dg/pr51628-24.c                  |     2 +-
 gcc/testsuite/gcc.dg/pr51628-25.c                  |     2 +-
 gcc/testsuite/gcc.dg/pr51628-34.c                  |     8 +-
 gcc/testsuite/gcc.dg/pr53037-1.c                   |     4 +-
 gcc/testsuite/gcc.dg/pr84131.c                     |     3 +-
 gcc/testsuite/gcc.dg/pr87485.c                     |     1 +
 gcc/testsuite/gcc.dg/pr88928.c                     |     2 +-
 gcc/testsuite/gcc.dg/pr89410-1.c                   |     2 +-
 gcc/testsuite/gcc.dg/pr89410-2.c                   |     2 +-
 gcc/testsuite/gcc.dg/pr93986.c                     |     3 +-
 gcc/testsuite/gcc.dg/pr94600-1.c                   |    36 +
 gcc/testsuite/gcc.dg/pr94600-2.c                   |    34 +
 gcc/testsuite/gcc.dg/pr94600-3.c                   |    35 +
 gcc/testsuite/gcc.dg/pr94600-4.c                   |    34 +
 gcc/testsuite/gcc.dg/pr94600-5.c                   |    34 +
 gcc/testsuite/gcc.dg/pr94600-6.c                   |    33 +
 gcc/testsuite/gcc.dg/pr94600-7.c                   |    33 +
 gcc/testsuite/gcc.dg/pr94600-8.c                   |    33 +
 gcc/testsuite/gcc.dg/pr95133.c                     |     1 +
 gcc/testsuite/gcc.dg/pr95694.c                     |    23 +
 gcc/testsuite/gcc.dg/pr95854.c                     |    20 +
 gcc/testsuite/gcc.dg/pr95857.c                     |    38 +
 gcc/testsuite/gcc.dg/pr96298.c                     |    18 +
 gcc/testsuite/gcc.dg/pr96335.c                     |    12 +
 gcc/testsuite/gcc.dg/pr96370.c                     |     8 +
 gcc/testsuite/gcc.dg/pr96377-1.c                   |    32 +
 gcc/testsuite/gcc.dg/pr96377-2.c                   |    31 +
 gcc/testsuite/gcc.dg/pr96377-3.c                   |    33 +
 gcc/testsuite/gcc.dg/pr96377-4.c                   |    32 +
 gcc/testsuite/gcc.dg/pr96377-5.c                   |    33 +
 gcc/testsuite/gcc.dg/pr96377-6.c                   |    32 +
 gcc/testsuite/gcc.dg/pr96514.c                     |    27 +
 gcc/testsuite/gcc.dg/pr96558.c                     |    32 +
 gcc/testsuite/gcc.dg/redecl-4.c                    |     2 +-
 gcc/testsuite/gcc.dg/sso-11.c                      |    36 +
 gcc/testsuite/gcc.dg/sso/memcpy-1.c                |    59 +
 gcc/testsuite/gcc.dg/sso/sso.exp                   |    12 +-
 gcc/testsuite/gcc.dg/strlenopt-55.c                |     3 +-
 gcc/testsuite/gcc.dg/strlenopt-83.c                |     3 +-
 gcc/testsuite/gcc.dg/strlenopt-84.c                |     3 +-
 gcc/testsuite/gcc.dg/strlenopt-91.c                |     3 +-
 gcc/testsuite/gcc.dg/strncmp-3.c                   |    57 +
 gcc/testsuite/gcc.dg/torture/20200727-0.c          |    82 +
 .../gcc.dg/torture/fp-int-convert-timode-3.c       |     1 +
 .../gcc.dg/torture/fp-int-convert-timode-4.c       |     1 +
 gcc/testsuite/gcc.dg/torture/pr39074-2.c           |     4 +-
 gcc/testsuite/gcc.dg/torture/pr39074.c             |     4 +-
 gcc/testsuite/gcc.dg/torture/pr59330.c             |     1 +
 gcc/testsuite/gcc.dg/torture/pr92088-1.c           |     1 +
 gcc/testsuite/gcc.dg/torture/pr92088-2.c           |     1 +
 gcc/testsuite/gcc.dg/torture/pr93124.c             |     1 +
 gcc/testsuite/gcc.dg/torture/pr94479.c             |     1 +
 gcc/testsuite/gcc.dg/torture/pr96130.c             |    26 +
 gcc/testsuite/gcc.dg/torture/pr96133.c             |    16 +
 gcc/testsuite/gcc.dg/torture/pr96349.c             |    25 +
 gcc/testsuite/gcc.dg/torture/pr96491.c             |    29 +
 gcc/testsuite/gcc.dg/torture/pta-callused-1.c      |     2 +-
 .../gcc.dg/tree-prof/cold_partition_label.c        |     8 +-
 .../tree-prof/crossmodule-indir-call-topn-1.c      |     8 +-
 .../tree-prof/crossmodule-indir-call-topn-2.c      |     8 +-
 .../gcc.dg/tree-prof/indir-call-prof-malloc.c      |    49 +
 .../gcc.dg/tree-prof/indir-call-prof-topn.c        |     8 +-
 gcc/testsuite/gcc.dg/tree-prof/section-attr-1.c    |     8 +-
 gcc/testsuite/gcc.dg/tree-prof/section-attr-2.c    |     8 +-
 gcc/testsuite/gcc.dg/tree-prof/section-attr-3.c    |     8 +-
 gcc/testsuite/gcc.dg/tree-ssa/andnot-2.c           |    10 +
 .../gcc.dg/tree-ssa/builtin-sprintf-warn-22.c      |     3 +-
 gcc/testsuite/gcc.dg/tree-ssa/forwprop-36.c        |     3 +-
 gcc/testsuite/gcc.dg/tree-ssa/pr93121-1.c          |    56 +
 gcc/testsuite/gcc.dg/tree-ssa/pr93121-2.c          |    22 +
 gcc/testsuite/gcc.dg/tree-ssa/pr94882-1.c          |    42 +
 gcc/testsuite/gcc.dg/tree-ssa/pr94882-2.c          |    78 +
 gcc/testsuite/gcc.dg/tree-ssa/pr94882-3.c          |    79 +
 gcc/testsuite/gcc.dg/tree-ssa/pr94882.c            |    36 +
 gcc/testsuite/gcc.dg/tree-ssa/pr95433-2.c          |    15 +
 gcc/testsuite/gcc.dg/tree-ssa/pr95433.c            |     8 +
 gcc/testsuite/gcc.dg/tree-ssa/pr95804.c            |    18 +
 gcc/testsuite/gcc.dg/tree-ssa/pr95906.c            |    13 +
 gcc/testsuite/gcc.dg/tree-ssa/pr96480.c            |    23 +
 gcc/testsuite/gcc.dg/tree-ssa/reassoc-20.c         |     2 +-
 gcc/testsuite/gcc.dg/tree-ssa/split-path-12.c      |    19 +
 gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-cse-2.c      |     2 +-
 gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-26.c         |     8 +-
 gcc/testsuite/gcc.dg/tree-ssa/vector-4.c           |     3 +-
 gcc/testsuite/gcc.dg/uninit-32.c                   |     3 +-
 gcc/testsuite/gcc.dg/uninit-36.c                   |     3 +-
 gcc/testsuite/gcc.dg/vect/bb-slp-10.c              |     2 +-
 gcc/testsuite/gcc.dg/vect/bb-slp-pr95839-2.c       |    20 +
 .../vect/costmodel/x86_64/costmodel-vect-slp-2.c   |    14 +
 gcc/testsuite/gcc.dg/vect/pr95916.c                |    13 +
 gcc/testsuite/gcc.dg/vect/slp-45.c                 |     3 +-
 gcc/testsuite/gcc.dg/vect/slp-46.c                 |    96 +
 gcc/testsuite/gcc.dg/vect/slp-47.c                 |    56 +
 gcc/testsuite/gcc.dg/vect/slp-48.c                 |    56 +
 gcc/testsuite/gcc.dg/vect/vect-109.c               |     2 +-
 gcc/testsuite/gcc.misc-tests/arm-isr.c             |     2 +
 gcc/testsuite/gcc.misc-tests/outputs.exp           |    37 +-
 gcc/testsuite/gcc.target/aarch64/acle/jcvt_2.c     |    33 +
 gcc/testsuite/gcc.target/aarch64/bti-4.c           |    60 +
 .../aarch64/cpunative/aarch64-cpunative.exp        |    35 +
 gcc/testsuite/gcc.target/aarch64/cpunative/info_0  |     8 +
 gcc/testsuite/gcc.target/aarch64/cpunative/info_1  |     8 +
 gcc/testsuite/gcc.target/aarch64/cpunative/info_10 |     8 +
 gcc/testsuite/gcc.target/aarch64/cpunative/info_11 |     8 +
 gcc/testsuite/gcc.target/aarch64/cpunative/info_12 |     8 +
 gcc/testsuite/gcc.target/aarch64/cpunative/info_13 |     8 +
 gcc/testsuite/gcc.target/aarch64/cpunative/info_14 |     8 +
 gcc/testsuite/gcc.target/aarch64/cpunative/info_15 |     8 +
 gcc/testsuite/gcc.target/aarch64/cpunative/info_2  |     8 +
 gcc/testsuite/gcc.target/aarch64/cpunative/info_3  |     8 +
 gcc/testsuite/gcc.target/aarch64/cpunative/info_4  |     8 +
 gcc/testsuite/gcc.target/aarch64/cpunative/info_5  |     8 +
 gcc/testsuite/gcc.target/aarch64/cpunative/info_6  |     8 +
 gcc/testsuite/gcc.target/aarch64/cpunative/info_7  |     8 +
 gcc/testsuite/gcc.target/aarch64/cpunative/info_8  |     8 +
 gcc/testsuite/gcc.target/aarch64/cpunative/info_9  |     8 +
 .../gcc.target/aarch64/cpunative/native_cpu_0.c    |    12 +
 .../gcc.target/aarch64/cpunative/native_cpu_1.c    |    12 +
 .../gcc.target/aarch64/cpunative/native_cpu_10.c   |    12 +
 .../gcc.target/aarch64/cpunative/native_cpu_11.c   |    12 +
 .../gcc.target/aarch64/cpunative/native_cpu_12.c   |    12 +
 .../gcc.target/aarch64/cpunative/native_cpu_13.c   |    12 +
 .../gcc.target/aarch64/cpunative/native_cpu_14.c   |    12 +
 .../gcc.target/aarch64/cpunative/native_cpu_15.c   |    15 +
 .../gcc.target/aarch64/cpunative/native_cpu_2.c    |    12 +
 .../gcc.target/aarch64/cpunative/native_cpu_3.c    |    13 +
 .../gcc.target/aarch64/cpunative/native_cpu_4.c    |    12 +
 .../gcc.target/aarch64/cpunative/native_cpu_5.c    |    12 +
 .../gcc.target/aarch64/cpunative/native_cpu_6.c    |    13 +
 .../gcc.target/aarch64/cpunative/native_cpu_7.c    |    13 +
 .../gcc.target/aarch64/cpunative/native_cpu_8.c    |    12 +
 .../gcc.target/aarch64/cpunative/native_cpu_9.c    |    14 +
 gcc/testsuite/gcc.target/aarch64/cpymem-q-reg_1.c  |    16 +
 gcc/testsuite/gcc.target/aarch64/get_fpcr64_1.c    |    10 +
 gcc/testsuite/gcc.target/aarch64/get_fpsr64_1.c    |    10 +
 .../gcc.target/aarch64/large_struct_copy_2.c       |     7 +-
 gcc/testsuite/gcc.target/aarch64/ldp_vec_v2sf.c    |    14 +
 gcc/testsuite/gcc.target/aarch64/ldp_vec_v2si.c    |    14 +
 gcc/testsuite/gcc.target/aarch64/nospill.c         |    35 +
 gcc/testsuite/gcc.target/aarch64/pr96377-1.c       |    20 +
 gcc/testsuite/gcc.target/aarch64/pr96402.c         |    16 +
 .../gcc.target/aarch64/return_address_sign_1.c     |     8 +-
 .../gcc.target/aarch64/return_address_sign_b_1.c   |     8 +-
 gcc/testsuite/gcc.target/aarch64/set_fpcr64_1.c    |    10 +
 gcc/testsuite/gcc.target/aarch64/set_fpsr64_1.c    |    10 +
 .../aarch64/sls-mitigation/sls-miti-blr-bti.c      |    40 +
 .../aarch64/sls-mitigation/sls-miti-blr.c          |    33 +
 .../aarch64/sls-mitigation/sls-miti-retbr-pacret.c |    21 +
 .../aarch64/sls-mitigation/sls-miti-retbr.c        |   119 +
 .../aarch64/sls-mitigation/sls-mitigation.exp      |    73 +
 .../gcc.target/aarch64/stack-protector-1.c         |    89 +
 .../gcc.target/aarch64/stack-protector-2.c         |     6 +
 gcc/testsuite/gcc.target/aarch64/stp_vec_v2df.c    |    18 +
 gcc/testsuite/gcc.target/aarch64/stp_vec_v2di.c    |    18 +
 gcc/testsuite/gcc.target/aarch64/stp_vec_v2sf.c    |    18 +
 gcc/testsuite/gcc.target/aarch64/stp_vec_v2si.c    |    18 +
 .../aarch64/sve/acle/general-c/gnu_vectors_3.c     |    15 +
 .../aarch64/sve/acle/general-c/gnu_vectors_4.c     |    15 +
 .../gcc.target/aarch64/sve/acle/general/pr96146.c  |    20 +
 gcc/testsuite/gcc.target/aarch64/sve/clastb_1.c    |     2 +-
 gcc/testsuite/gcc.target/aarch64/sve/clastb_2.c    |     2 +-
 gcc/testsuite/gcc.target/aarch64/sve/clastb_3.c    |     2 +-
 gcc/testsuite/gcc.target/aarch64/sve/clastb_4.c    |     2 +-
 gcc/testsuite/gcc.target/aarch64/sve/clastb_5.c    |     2 +-
 gcc/testsuite/gcc.target/aarch64/sve/clastb_6.c    |     2 +-
 gcc/testsuite/gcc.target/aarch64/sve/clastb_7.c    |     2 +-
 .../gcc.target/aarch64/sve/cost_model_2.c          |     2 +-
 gcc/testsuite/gcc.target/aarch64/sve/pr95961.c     |    16 +
 gcc/testsuite/gcc.target/aarch64/sve/pr96195.c     |    17 +
 gcc/testsuite/gcc.target/aarch64/vdup_n_3.c        |    16 +
 gcc/testsuite/gcc.target/aarch64/vins-1.c          |    23 +
 gcc/testsuite/gcc.target/aarch64/vins-2.c          |    23 +
 gcc/testsuite/gcc.target/aarch64/vins-3.c          |    23 +
 gcc/testsuite/gcc.target/aarch64/vzip_1.c          |    12 +
 gcc/testsuite/gcc.target/aarch64/vzip_2.c          |    13 +
 gcc/testsuite/gcc.target/aarch64/vzip_3.c          |    13 +
 gcc/testsuite/gcc.target/aarch64/vzip_4.c          |    13 +
 gcc/testsuite/gcc.target/arm/empty_fiq_handler.c   |     1 +
 gcc/testsuite/gcc.target/arm/handler-align.c       |     2 +-
 gcc/testsuite/gcc.target/arm/interrupt-1.c         |     2 +-
 gcc/testsuite/gcc.target/arm/interrupt-2.c         |     2 +-
 gcc/testsuite/gcc.target/arm/ivopts.c              |     2 +-
 gcc/testsuite/gcc.target/arm/lob.h                 |    15 +
 gcc/testsuite/gcc.target/arm/lob1.c                |    85 +
 gcc/testsuite/gcc.target/arm/lob2.c                |    32 +
 gcc/testsuite/gcc.target/arm/lob3.c                |    27 +
 gcc/testsuite/gcc.target/arm/lob4.c                |    34 +
 gcc/testsuite/gcc.target/arm/lob5.c                |    35 +
 gcc/testsuite/gcc.target/arm/lob6.c                |    97 +
 gcc/testsuite/gcc.target/arm/multilib.exp          |     2 +-
 .../arm/mve/intrinsics/mve-vldstr16-no-writeback.c |    17 +
 gcc/testsuite/gcc.target/arm/pr70830.c             |     2 +-
 gcc/testsuite/gcc.target/arm/pr94743-1-hard.c      |    29 +
 gcc/testsuite/gcc.target/arm/pr94743-1-soft.c      |    27 +
 gcc/testsuite/gcc.target/arm/pr94743-1-softfp.c    |    29 +
 gcc/testsuite/gcc.target/arm/pr94743-2.c           |    22 +
 gcc/testsuite/gcc.target/arm/pr94743-3.c           |    23 +
 gcc/testsuite/gcc.target/arm/stack-protector-1.c   |    63 +
 gcc/testsuite/gcc.target/arm/stack-protector-2.c   |     6 +
 gcc/testsuite/gcc.target/arm/unsigned-extend-2.c   |     2 +-
 gcc/testsuite/gcc.target/bpf/diag-funargs-2.c      |     1 -
 gcc/testsuite/gcc.target/bpf/diag-funargs-3.c      |     1 -
 gcc/testsuite/gcc.target/bpf/helper-bind.c         |     4 +-
 gcc/testsuite/gcc.target/bpf/helper-bpf-redirect.c |     4 +-
 .../gcc.target/bpf/helper-clone-redirect.c         |     4 +-
 gcc/testsuite/gcc.target/bpf/helper-csum-diff.c    |     4 +-
 gcc/testsuite/gcc.target/bpf/helper-csum-update.c  |     4 +-
 .../bpf/helper-current-task-under-cgroup.c         |     4 +-
 gcc/testsuite/gcc.target/bpf/helper-fib-lookup.c   |     4 +-
 .../gcc.target/bpf/helper-get-cgroup-classid.c     |     4 +-
 .../gcc.target/bpf/helper-get-current-cgroup-id.c  |     6 +-
 .../gcc.target/bpf/helper-get-current-comm.c       |     4 +-
 .../gcc.target/bpf/helper-get-current-pid-tgid.c   |     4 +-
 .../gcc.target/bpf/helper-get-current-task.c       |     4 +-
 .../gcc.target/bpf/helper-get-current-uid-gid.c    |     4 +-
 .../gcc.target/bpf/helper-get-hash-recalc.c        |     4 +-
 .../gcc.target/bpf/helper-get-listener-sock.c      |     4 +-
 .../gcc.target/bpf/helper-get-local-storage.c      |     6 +-
 .../gcc.target/bpf/helper-get-numa-node-id.c       |     4 +-
 .../gcc.target/bpf/helper-get-prandom-u32.c        |     4 +-
 .../gcc.target/bpf/helper-get-route-realm.c        |     4 +-
 .../gcc.target/bpf/helper-get-smp-processor-id.c   |     4 +-
 .../gcc.target/bpf/helper-get-socket-cookie.c      |     6 +-
 .../gcc.target/bpf/helper-get-socket-uid.c         |     6 +-
 gcc/testsuite/gcc.target/bpf/helper-get-stack.c    |     4 +-
 gcc/testsuite/gcc.target/bpf/helper-get-stackid.c  |     4 +-
 gcc/testsuite/gcc.target/bpf/helper-getsockopt.c   |     8 +-
 gcc/testsuite/gcc.target/bpf/helper-ktime-get-ns.c |     4 +-
 .../gcc.target/bpf/helper-l3-csum-replace.c        |     4 +-
 .../gcc.target/bpf/helper-l4-csum-replace.c        |     4 +-
 .../gcc.target/bpf/helper-lwt-push-encap.c         |     6 +-
 .../gcc.target/bpf/helper-lwt-seg6-action.c        |     8 +-
 .../gcc.target/bpf/helper-lwt-seg6-adjust-srh.c    |     7 +-
 .../gcc.target/bpf/helper-lwt-seg6-store-bytes.c   |     7 +-
 .../gcc.target/bpf/helper-map-delete-elem.c        |     5 +-
 .../gcc.target/bpf/helper-map-lookup-elem.c        |     5 +-
 .../gcc.target/bpf/helper-map-peek-elem.c          |     5 +-
 gcc/testsuite/gcc.target/bpf/helper-map-pop-elem.c |     5 +-
 .../gcc.target/bpf/helper-map-push-elem.c          |     4 +-
 .../gcc.target/bpf/helper-map-update-elem.c        |     4 +-
 .../gcc.target/bpf/helper-msg-apply-bytes.c        |     6 +-
 .../gcc.target/bpf/helper-msg-cork-bytes.c         |     6 +-
 gcc/testsuite/gcc.target/bpf/helper-msg-pop-data.c |     4 +-
 .../gcc.target/bpf/helper-msg-pull-data.c          |     9 +-
 .../gcc.target/bpf/helper-msg-push-data.c          |     4 +-
 .../gcc.target/bpf/helper-msg-redirect-hash.c      |     4 +-
 .../gcc.target/bpf/helper-msg-redirect-map.c       |     7 +-
 .../gcc.target/bpf/helper-override-return.c        |     6 +-
 .../gcc.target/bpf/helper-perf-event-output.c      |     3 +-
 .../gcc.target/bpf/helper-perf-event-read-value.c  |     6 +-
 .../gcc.target/bpf/helper-perf-event-read.c        |     4 +-
 .../gcc.target/bpf/helper-perf-prog-read-value.c   |     6 +-
 .../gcc.target/bpf/helper-probe-read-str.c         |     6 +-
 gcc/testsuite/gcc.target/bpf/helper-probe-read.c   |     4 +-
 .../gcc.target/bpf/helper-probe-write-user.c       |     4 +-
 gcc/testsuite/gcc.target/bpf/helper-rc-keydown.c   |     7 +-
 .../gcc.target/bpf/helper-rc-pointer-rel.c         |     4 +-
 gcc/testsuite/gcc.target/bpf/helper-rc-repeat.c    |     6 +-
 gcc/testsuite/gcc.target/bpf/helper-redirect-map.c |     6 +-
 .../gcc.target/bpf/helper-set-hash-invalid.c       |     4 +-
 gcc/testsuite/gcc.target/bpf/helper-set-hash.c     |     6 +-
 gcc/testsuite/gcc.target/bpf/helper-setsockopt.c   |     7 +-
 gcc/testsuite/gcc.target/bpf/helper-sk-fullsock.c  |     4 +-
 .../gcc.target/bpf/helper-sk-lookup-tcp.c          |    12 +-
 .../gcc.target/bpf/helper-sk-lookup-upd.c          |    12 +-
 .../gcc.target/bpf/helper-sk-redirect-hash.c       |     5 +-
 .../gcc.target/bpf/helper-sk-redirect-map.c        |     6 +-
 gcc/testsuite/gcc.target/bpf/helper-sk-release.c   |     6 +-
 .../gcc.target/bpf/helper-sk-select-reuseport.c    |     8 +-
 .../gcc.target/bpf/helper-sk-storage-delete.c      |     6 +-
 .../gcc.target/bpf/helper-sk-storage-get.c         |     7 +-
 .../gcc.target/bpf/helper-skb-adjust-room.c        |     6 +-
 .../gcc.target/bpf/helper-skb-cgroup-id.c          |     6 +-
 .../gcc.target/bpf/helper-skb-change-head.c        |     6 +-
 .../gcc.target/bpf/helper-skb-change-proto.c       |     4 +-
 .../gcc.target/bpf/helper-skb-change-tail.c        |     4 +-
 .../gcc.target/bpf/helper-skb-change-type.c        |     4 +-
 .../gcc.target/bpf/helper-skb-ecn-set-ce.c         |     4 +-
 .../gcc.target/bpf/helper-skb-get-tunnel-key.c     |     4 +-
 .../gcc.target/bpf/helper-skb-get-tunnel-opt.c     |     4 +-
 .../gcc.target/bpf/helper-skb-get-xfrm-state.c     |     6 +-
 .../bpf/helper-skb-load-bytes-relative.c           |     8 +-
 .../gcc.target/bpf/helper-skb-load-bytes.c         |     4 +-
 .../gcc.target/bpf/helper-skb-pull-data.c          |     4 +-
 .../gcc.target/bpf/helper-skb-set-tunnel-key.c     |     4 +-
 .../gcc.target/bpf/helper-skb-set-tunnel-opt.c     |     4 +-
 .../gcc.target/bpf/helper-skb-store-bytes.c        |     4 +-
 .../gcc.target/bpf/helper-skb-under-cgroup.c       |     4 +-
 gcc/testsuite/gcc.target/bpf/helper-skb-vlan-pop.c |     4 +-
 .../gcc.target/bpf/helper-skb-vlan-push.c          |     4 +-
 .../gcc.target/bpf/helper-skc-lookup-tcp.c         |     6 +-
 .../gcc.target/bpf/helper-sock-hash-update.c       |     4 +-
 .../gcc.target/bpf/helper-sock-map-update.c        |     7 +-
 .../gcc.target/bpf/helper-sock-ops-cb-flags-set.c  |     7 +-
 gcc/testsuite/gcc.target/bpf/helper-spin-lock.c    |     4 +-
 gcc/testsuite/gcc.target/bpf/helper-spin-unlock.c  |     4 +-
 gcc/testsuite/gcc.target/bpf/helper-strtol.c       |     6 +-
 gcc/testsuite/gcc.target/bpf/helper-strtoul.c      |     6 +-
 .../bpf/helper-sysctl-get-current-value.c          |     7 +-
 .../gcc.target/bpf/helper-sysctl-get-name.c        |     7 +-
 .../gcc.target/bpf/helper-sysctl-get-new-value.c   |     7 +-
 .../gcc.target/bpf/helper-sysctl-set-new-value.c   |     7 +-
 gcc/testsuite/gcc.target/bpf/helper-tail-call.c    |     5 +-
 .../gcc.target/bpf/helper-tcp-check-syncookie.c    |    10 +-
 gcc/testsuite/gcc.target/bpf/helper-tcp-sock.c     |     4 +-
 gcc/testsuite/gcc.target/bpf/helper-trace-printk.c |     5 +-
 .../gcc.target/bpf/helper-xdp-adjust-head.c        |     6 +-
 .../gcc.target/bpf/helper-xdp-adjust-meta.c        |     6 +-
 .../gcc.target/bpf/helper-xdp-adjust-tail.c        |     3 +-
 .../gcc.target/bpf/skb-ancestor-cgroup-id.c        |     7 +-
 gcc/testsuite/gcc.target/cris/peep2-movulsr.c      |    19 +
 gcc/testsuite/gcc.target/cris/pr93372-36.c         |    37 +
 gcc/testsuite/gcc.target/cris/pr93372-37.c         |    26 +
 gcc/testsuite/gcc.target/cris/pr93372-38.c         |    30 +
 gcc/testsuite/gcc.target/cris/pr93372-39.c         |    19 +
 gcc/testsuite/gcc.target/cris/pr93372-44.c         |    13 +
 gcc/testsuite/gcc.target/cris/pr93372-45.c         |    13 +
 gcc/testsuite/gcc.target/cris/pr93372-46.c         |    16 +
 gcc/testsuite/gcc.target/i386/avx512bw-pr96246-1.c |    30 +
 gcc/testsuite/gcc.target/i386/avx512bw-pr96246-2.c |    47 +
 .../gcc.target/i386/avx512bw-vmovdqu16-1.c         |     6 +-
 .../gcc.target/i386/avx512bw-vmovdqu8-1.c          |     6 +-
 gcc/testsuite/gcc.target/i386/avx512f-vcmppd-3.c   |     4 +
 gcc/testsuite/gcc.target/i386/avx512f-vcmpps-3.c   |     4 +
 gcc/testsuite/gcc.target/i386/avx512f-vmovapd-1.c  |     2 +-
 gcc/testsuite/gcc.target/i386/avx512f-vmovaps-1.c  |     2 +-
 .../gcc.target/i386/avx512f-vmovdqa32-1.c          |     2 +-
 .../gcc.target/i386/avx512f-vmovdqa64-1.c          |     2 +-
 .../gcc.target/i386/avx512vl-pr92686-movcc-1.c     |     8 +-
 gcc/testsuite/gcc.target/i386/avx512vl-pr96246-1.c |    36 +
 gcc/testsuite/gcc.target/i386/avx512vl-pr96246-2.c |    51 +
 gcc/testsuite/gcc.target/i386/avx512vl-vmovapd-1.c |     4 +-
 gcc/testsuite/gcc.target/i386/avx512vl-vmovaps-1.c |     4 +-
 .../gcc.target/i386/avx512vl-vmovdqa32-1.c         |     4 +-
 .../gcc.target/i386/avx512vl-vmovdqa64-1.c         |     4 +-
 gcc/testsuite/gcc.target/i386/endbr_immediate.c    |   198 +
 gcc/testsuite/gcc.target/i386/funcspec-56.inc      |     2 +
 gcc/testsuite/gcc.target/i386/memcpy-pr95886.c     |   107 +
 gcc/testsuite/gcc.target/i386/minmax-10.c          |    38 +
 gcc/testsuite/gcc.target/i386/minmax-11.c          |    12 +
 gcc/testsuite/gcc.target/i386/minmax-12.c          |    17 +
 gcc/testsuite/gcc.target/i386/minmax-8.c           |    18 +
 gcc/testsuite/gcc.target/i386/minmax-9.c           |    23 +
 gcc/testsuite/gcc.target/i386/pr60473.c            |    12 +
 gcc/testsuite/gcc.target/i386/pr70314.c            |    15 +
 gcc/testsuite/gcc.target/i386/pr71321.c            |     3 +-
 gcc/testsuite/gcc.target/i386/pr88240.c            |    26 +
 gcc/testsuite/gcc.target/i386/pr88713-1.c          |    13 +
 gcc/testsuite/gcc.target/i386/pr88713-2.c          |     6 +
 gcc/testsuite/gcc.target/i386/pr88713-3.c          |    17 +
 gcc/testsuite/gcc.target/i386/pr92865-1.c          |    10 +-
 gcc/testsuite/gcc.target/i386/pr93492-1.c          |     2 +-
 gcc/testsuite/gcc.target/i386/pr93492-2.c          |     2 +-
 gcc/testsuite/gcc.target/i386/pr93492-3.c          |     2 +-
 gcc/testsuite/gcc.target/i386/pr93492-4.c          |     2 +-
 gcc/testsuite/gcc.target/i386/pr93492-5.c          |     3 +-
 gcc/testsuite/gcc.target/i386/pr95443-1.c          |   130 +
 gcc/testsuite/gcc.target/i386/pr95443-2.c          |    79 +
 gcc/testsuite/gcc.target/i386/pr95750.c            |    19 +
 gcc/testsuite/gcc.target/i386/pr95973.c            |    25 +
 gcc/testsuite/gcc.target/i386/pr96176.c            |    13 +
 gcc/testsuite/gcc.target/i386/pr96189-1.c          |    24 +
 gcc/testsuite/gcc.target/i386/pr96189.c            |    12 +
 gcc/testsuite/gcc.target/i386/pr96203-1.c          |    18 +
 gcc/testsuite/gcc.target/i386/pr96203-2.c          |    11 +
 gcc/testsuite/gcc.target/i386/pr96298.c            |    18 +
 gcc/testsuite/gcc.target/i386/pr96539.c            |    16 +
 gcc/testsuite/gcc.target/i386/pr96562-1.c          |    81 +
 gcc/testsuite/gcc.target/i386/rdrand-1.c           |     2 +-
 gcc/testsuite/gcc.target/i386/rdrand-2.c           |     2 +-
 gcc/testsuite/gcc.target/i386/rdrand-3.c           |     2 +-
 gcc/testsuite/gcc.target/nvptx/cvt.c               |    13 +
 gcc/testsuite/gcc.target/nvptx/ia64-sync-1.c       |     2 +
 gcc/testsuite/gcc.target/nvptx/ia64-sync-2.c       |     2 +
 gcc/testsuite/gcc.target/nvptx/ia64-sync-3.c       |     2 +
 gcc/testsuite/gcc.target/nvptx/ia64-sync-4.c       |     3 +
 gcc/testsuite/gcc.target/nvptx/ia64-sync-5.c       |     2 +
 gcc/testsuite/gcc.target/nvptx/mul-hi.c            |    15 +
 gcc/testsuite/gcc.target/nvptx/mul-wide.c          |    16 +
 gcc/testsuite/gcc.target/nvptx/popc-1.c            |     9 +
 gcc/testsuite/gcc.target/nvptx/popc-2.c            |    11 +
 gcc/testsuite/gcc.target/nvptx/popc-3.c            |    11 +
 gcc/testsuite/gcc.target/nvptx/recip-1.c           |    18 +
 gcc/testsuite/gcc.target/nvptx/shift16.c           |    30 +
 gcc/testsuite/gcc.target/nvptx/umul-hi.c           |    15 +
 gcc/testsuite/gcc.target/nvptx/umul-wide.c         |    16 +
 gcc/testsuite/gcc.target/nvptx/v2si-cvt.c          |    34 +-
 .../gcc.target/nvptx/v2si-vec-set-extract.c        |    25 +
 gcc/testsuite/gcc.target/nvptx/vadd_add.c          |    15 +
 gcc/testsuite/gcc.target/nvptx/vsub_add.c          |    25 +
 gcc/testsuite/gcc.target/powerpc/20030218-1.c      |    26 -
 gcc/testsuite/gcc.target/powerpc/20030505.c        |    21 -
 gcc/testsuite/gcc.target/powerpc/20081204-1.c      |     9 -
 gcc/testsuite/gcc.target/powerpc/bcd-1.c           |     1 -
 gcc/testsuite/gcc.target/powerpc/bcd-2.c           |     1 -
 gcc/testsuite/gcc.target/powerpc/bcd-3.c           |     1 -
 gcc/testsuite/gcc.target/powerpc/bswap-brd.c       |    23 +
 gcc/testsuite/gcc.target/powerpc/bswap-brh.c       |    11 +
 gcc/testsuite/gcc.target/powerpc/bswap-brw.c       |    22 +
 .../gcc.target/powerpc/builtins-1-p9-runnable.c    |     2 +-
 gcc/testsuite/gcc.target/powerpc/builtins-1.c      |     3 +-
 .../gcc.target/powerpc/builtins-2-p9-runnable.c    |     5 +-
 gcc/testsuite/gcc.target/powerpc/builtins-2.c      |     4 +-
 .../gcc.target/powerpc/builtins-3-p9-runnable.c    |     3 +-
 gcc/testsuite/gcc.target/powerpc/builtins-3-p9.c   |     2 +-
 .../gcc.target/powerpc/builtins-3-runnable-p8.c    |     2 +-
 gcc/testsuite/gcc.target/powerpc/builtins-3.c      |     2 +-
 .../gcc.target/powerpc/builtins-4-p9-runnable.c    |     3 +-
 gcc/testsuite/gcc.target/powerpc/builtins-4.c      |     2 +-
 .../gcc.target/powerpc/builtins-5-p9-runnable.c    |     3 +-
 gcc/testsuite/gcc.target/powerpc/builtins-5.c      |     3 +-
 .../gcc.target/powerpc/builtins-6-p9-runnable.c    |     4 +-
 .../gcc.target/powerpc/builtins-6-runnable.c       |     4 +-
 .../gcc.target/powerpc/builtins-7-p9-runnable.c    |     4 +-
 .../gcc.target/powerpc/builtins-7-runnable.c       |     3 +-
 .../gcc.target/powerpc/builtins-8-p9-runnable.c    |     3 +-
 .../gcc.target/powerpc/builtins-8-runnable.c       |     3 +-
 .../gcc.target/powerpc/builtins-msum-runnable.c    |    74 +
 .../gcc.target/powerpc/builtins-revb-runnable.c    |     4 +-
 .../gcc.target/powerpc/conv-vectorize-1.c          |     2 +-
 .../gcc.target/powerpc/conv-vectorize-2.c          |     2 +-
 gcc/testsuite/gcc.target/powerpc/convert-fp-128.c  |    20 +-
 gcc/testsuite/gcc.target/powerpc/cpu-builtin-1.c   |     2 +-
 .../gcc.target/powerpc/direct-move-double1.c       |     3 +-
 .../gcc.target/powerpc/direct-move-double2.c       |     3 +-
 .../gcc.target/powerpc/direct-move-float1.c        |     3 +-
 .../gcc.target/powerpc/direct-move-float2.c        |     3 +-
 .../gcc.target/powerpc/direct-move-float3.c        |     3 +-
 .../gcc.target/powerpc/direct-move-long1.c         |     3 +-
 .../gcc.target/powerpc/direct-move-long2.c         |     3 +-
 .../gcc.target/powerpc/direct-move-vint1.c         |     3 +-
 .../gcc.target/powerpc/direct-move-vint2.c         |     3 +-
 gcc/testsuite/gcc.target/powerpc/extend-divide-1.c |     1 -
 gcc/testsuite/gcc.target/powerpc/extend-divide-2.c |     1 -
 gcc/testsuite/gcc.target/powerpc/float128-fma1.c   |     3 +-
 gcc/testsuite/gcc.target/powerpc/float128-hw.c     |     3 +-
 gcc/testsuite/gcc.target/powerpc/float128-hw10.c   |     3 +-
 gcc/testsuite/gcc.target/powerpc/float128-hw11.c   |     3 +-
 gcc/testsuite/gcc.target/powerpc/float128-hw2.c    |     3 +-
 gcc/testsuite/gcc.target/powerpc/float128-hw3.c    |     3 +-
 gcc/testsuite/gcc.target/powerpc/float128-hw4.c    |     3 +-
 gcc/testsuite/gcc.target/powerpc/float128-hw5.c    |     3 +-
 gcc/testsuite/gcc.target/powerpc/float128-hw6.c    |     3 +-
 gcc/testsuite/gcc.target/powerpc/float128-hw7.c    |     3 +-
 gcc/testsuite/gcc.target/powerpc/float128-hw8.c    |     3 +-
 gcc/testsuite/gcc.target/powerpc/float128-hw9.c    |     3 +-
 gcc/testsuite/gcc.target/powerpc/float128-minmax.c |     3 +-
 gcc/testsuite/gcc.target/powerpc/float128-odd.c    |     3 +-
 gcc/testsuite/gcc.target/powerpc/float128-sqrt1.c  |     3 +-
 gcc/testsuite/gcc.target/powerpc/lsbb-runnable.c   |    65 +
 gcc/testsuite/gcc.target/powerpc/lsbb.c            |    24 +
 gcc/testsuite/gcc.target/powerpc/mma-double-test.c |   186 +
 gcc/testsuite/gcc.target/powerpc/mma-single-test.c |   194 +
 gcc/testsuite/gcc.target/powerpc/mma-supported.c   |    25 +
 gcc/testsuite/gcc.target/powerpc/p10-arch31.c      |    25 +
 gcc/testsuite/gcc.target/powerpc/p10-identify.c    |    26 +
 .../gcc.target/powerpc/p8vector-int128-1.c         |     3 +-
 .../gcc.target/powerpc/p8vector-int128-2.c         |     4 +-
 gcc/testsuite/gcc.target/powerpc/p9-vec-length-1.h |    18 +
 gcc/testsuite/gcc.target/powerpc/p9-vec-length-2.h |    17 +
 gcc/testsuite/gcc.target/powerpc/p9-vec-length-3.h |    31 +
 gcc/testsuite/gcc.target/powerpc/p9-vec-length-4.h |    24 +
 gcc/testsuite/gcc.target/powerpc/p9-vec-length-5.h |    29 +
 gcc/testsuite/gcc.target/powerpc/p9-vec-length-6.h |    32 +
 gcc/testsuite/gcc.target/powerpc/p9-vec-length-7.h |    20 +
 gcc/testsuite/gcc.target/powerpc/p9-vec-length-8.h |    14 +
 .../gcc.target/powerpc/p9-vec-length-epil-1.c      |    15 +
 .../gcc.target/powerpc/p9-vec-length-epil-2.c      |    15 +
 .../gcc.target/powerpc/p9-vec-length-epil-3.c      |    18 +
 .../gcc.target/powerpc/p9-vec-length-epil-4.c      |    15 +
 .../gcc.target/powerpc/p9-vec-length-epil-5.c      |    15 +
 .../gcc.target/powerpc/p9-vec-length-epil-6.c      |    16 +
 .../gcc.target/powerpc/p9-vec-length-epil-7.c      |    11 +
 .../gcc.target/powerpc/p9-vec-length-epil-8.c      |    12 +
 .../gcc.target/powerpc/p9-vec-length-epil-run-1.c  |    10 +
 .../gcc.target/powerpc/p9-vec-length-epil-run-2.c  |    10 +
 .../gcc.target/powerpc/p9-vec-length-epil-run-3.c  |    10 +
 .../gcc.target/powerpc/p9-vec-length-epil-run-4.c  |    10 +
 .../gcc.target/powerpc/p9-vec-length-epil-run-5.c  |    10 +
 .../gcc.target/powerpc/p9-vec-length-epil-run-6.c  |    10 +
 .../gcc.target/powerpc/p9-vec-length-epil-run-7.c  |    10 +
 .../gcc.target/powerpc/p9-vec-length-epil-run-8.c  |    10 +
 .../gcc.target/powerpc/p9-vec-length-full-1.c      |    16 +
 .../gcc.target/powerpc/p9-vec-length-full-2.c      |    16 +
 .../gcc.target/powerpc/p9-vec-length-full-3.c      |    17 +
 .../gcc.target/powerpc/p9-vec-length-full-4.c      |    16 +
 .../gcc.target/powerpc/p9-vec-length-full-5.c      |    16 +
 .../gcc.target/powerpc/p9-vec-length-full-6.c      |    16 +
 .../gcc.target/powerpc/p9-vec-length-full-7.c      |    13 +
 .../gcc.target/powerpc/p9-vec-length-full-8.c      |    12 +
 .../gcc.target/powerpc/p9-vec-length-full-run-1.c  |    10 +
 .../gcc.target/powerpc/p9-vec-length-full-run-2.c  |    10 +
 .../gcc.target/powerpc/p9-vec-length-full-run-3.c  |    10 +
 .../gcc.target/powerpc/p9-vec-length-full-run-4.c  |    10 +
 .../gcc.target/powerpc/p9-vec-length-full-run-5.c  |    10 +
 .../gcc.target/powerpc/p9-vec-length-full-run-6.c  |    10 +
 .../gcc.target/powerpc/p9-vec-length-full-run-7.c  |    10 +
 .../gcc.target/powerpc/p9-vec-length-full-run-8.c  |    10 +
 .../gcc.target/powerpc/p9-vec-length-run-1.h       |    34 +
 .../gcc.target/powerpc/p9-vec-length-run-2.h       |    36 +
 .../gcc.target/powerpc/p9-vec-length-run-3.h       |    34 +
 .../gcc.target/powerpc/p9-vec-length-run-4.h       |    62 +
 .../gcc.target/powerpc/p9-vec-length-run-5.h       |    45 +
 .../gcc.target/powerpc/p9-vec-length-run-6.h       |    52 +
 .../gcc.target/powerpc/p9-vec-length-run-7.h       |    16 +
 .../gcc.target/powerpc/p9-vec-length-run-8.h       |    27 +
 gcc/testsuite/gcc.target/powerpc/p9-vec-length.h   |    14 +
 gcc/testsuite/gcc.target/powerpc/pack01.c          |     1 -
 gcc/testsuite/gcc.target/powerpc/pack02.c          |     1 -
 gcc/testsuite/gcc.target/powerpc/pack03.c          |     1 -
 gcc/testsuite/gcc.target/powerpc/ppc-spe.c         |   663 -
 gcc/testsuite/gcc.target/powerpc/ppc-spe64-1.c     |     7 -
 gcc/testsuite/gcc.target/powerpc/pr52457.c         |     1 -
 gcc/testsuite/gcc.target/powerpc/pr60102.c         |    11 -
 gcc/testsuite/gcc.target/powerpc/pr60158.c         |    89 -
 gcc/testsuite/gcc.target/powerpc/pr60735.c         |    11 -
 gcc/testsuite/gcc.target/powerpc/pr71309.c         |    34 +
 gcc/testsuite/gcc.target/powerpc/pr78458.c         |    15 -
 gcc/testsuite/gcc.target/powerpc/pr80343.c         |    50 -
 gcc/testsuite/gcc.target/powerpc/pr88845.c         |     1 -
 gcc/testsuite/gcc.target/powerpc/pr89310.c         |    17 +
 gcc/testsuite/gcc.target/powerpc/pr90763.c         |     3 +-
 gcc/testsuite/gcc.target/powerpc/pr92488.c         |    43 +
 gcc/testsuite/gcc.target/powerpc/pr95907.c         |     7 +
 gcc/testsuite/gcc.target/powerpc/pr96125.c         |    47 +
 gcc/testsuite/gcc.target/powerpc/pr96446.c         |    16 +
 gcc/testsuite/gcc.target/powerpc/pr96493.c         |    30 +
 gcc/testsuite/gcc.target/powerpc/pr96506.c         |    66 +
 gcc/testsuite/gcc.target/powerpc/pr96530.c         |    20 +
 gcc/testsuite/gcc.target/powerpc/prefix-large-dd.c |     1 +
 gcc/testsuite/gcc.target/powerpc/prefix-large-kf.c |     1 +
 gcc/testsuite/gcc.target/powerpc/prefix-large-sd.c |     1 +
 gcc/testsuite/gcc.target/powerpc/prefix-pcrel-dd.c |     1 +
 gcc/testsuite/gcc.target/powerpc/prefix-pcrel-kf.c |     1 +
 gcc/testsuite/gcc.target/powerpc/prefix-pcrel-sd.c |     1 +
 gcc/testsuite/gcc.target/powerpc/quad-atomic.c     |     1 -
 gcc/testsuite/gcc.target/powerpc/recip-6.c         |     1 -
 gcc/testsuite/gcc.target/powerpc/recip-7.c         |     1 -
 gcc/testsuite/gcc.target/powerpc/spe-evmerge.c     |    71 -
 .../gcc.target/powerpc/spe-small-data-1.c          |    14 -
 .../gcc.target/powerpc/spe-small-data-2.c          |    13 -
 gcc/testsuite/gcc.target/powerpc/spe-unwind-1.c    |   116 -
 .../gcc.target/powerpc/spe-vector-memcpy.c         |    10 -
 .../gcc.target/powerpc/spe-vector-memset.c         |    13 -
 gcc/testsuite/gcc.target/powerpc/spe1.c            |    15 -
 .../gcc.target/powerpc/vec-blend-runnable.c        |   276 +
 .../gcc.target/powerpc/vec-insert-word-runnable.c  |   345 +
 .../gcc.target/powerpc/vec-permute-ext-runnable.c  |   294 +
 .../gcc.target/powerpc/vec-replace-word-runnable.c |   289 +
 .../gcc.target/powerpc/vec-shift-double-runnable.c |   384 +
 .../gcc.target/powerpc/vec-splati-runnable.c       |   166 +
 gcc/testsuite/gcc.target/powerpc/vector_float.c    |    16 +
 .../gcc.target/powerpc/vsx-builtin-msum.c          |    26 +
 gcc/testsuite/gcc.target/powerpc/vsx-vector-1.c    |     2 +-
 gcc/testsuite/gcc.target/powerpc/vsx-vector-2.c    |     2 +-
 gcc/testsuite/gcc.target/powerpc/vsx-vector-3.c    |     2 +-
 gcc/testsuite/gcc.target/powerpc/vsx-vector-4.c    |     2 +-
 gcc/testsuite/gcc.target/powerpc/vsx-vector-5.c    |     2 +-
 gcc/testsuite/gcc.target/powerpc/vsx-vector-6.p8.c |     2 +-
 gcc/testsuite/gcc.target/powerpc/vsx-vector-6.p9.c |     2 +-
 gcc/testsuite/gcc.target/powerpc/vsx-vector-abss.c |     2 +-
 gcc/testsuite/gcc.target/powerpc/vsx-vectorize-1.c |     2 +-
 gcc/testsuite/gcc.target/powerpc/vsx-vectorize-2.c |     2 +-
 gcc/testsuite/gcc.target/powerpc/vsx-vectorize-3.c |     2 +-
 gcc/testsuite/gcc.target/powerpc/vsx-vectorize-4.c |     8 +-
 gcc/testsuite/gcc.target/powerpc/vsx-vectorize-5.c |     2 +-
 gcc/testsuite/gcc.target/powerpc/vsx-vectorize-6.c |     8 +-
 gcc/testsuite/gcc.target/powerpc/vsx-vectorize-7.c |     2 +-
 gcc/testsuite/gcc.target/powerpc/vsx-vectorize-8.c |     2 +-
 .../gcc.target/powerpc/vsx_mask-count-runnable.c   |   149 +
 .../gcc.target/powerpc/vsx_mask-expand-runnable.c  |   194 +
 .../gcc.target/powerpc/vsx_mask-extract-runnable.c |   162 +
 .../gcc.target/powerpc/vsx_mask-move-runnable.c    |   225 +
 gcc/testsuite/gcc.target/riscv/attribute-13.c      |     6 +
 gcc/testsuite/gcc.target/riscv/pr91441.c           |     2 +-
 gcc/testsuite/gcc.target/riscv/pr96260.c           |     9 +
 .../gcc.target/riscv/read-thread-pointer.c         |     7 +
 gcc/testsuite/gcc.target/riscv/save-restore-9.c    |    23 +
 gcc/testsuite/gcc.target/s390/pr96127.c            |    29 +
 gcc/testsuite/gcc.target/s390/pr96456.c            |    13 +
 gcc/testsuite/gcc.target/s390/vector/pr96128.c     |    35 +
 gcc/testsuite/gdc.dg/array1.d                      |    14 +
 gcc/testsuite/gdc.dg/compilable.d                  |   444 -
 gcc/testsuite/gdc.dg/gdc108.d                      |    19 +
 gcc/testsuite/gdc.dg/gdc115.d                      |    16 +
 gcc/testsuite/gdc.dg/gdc121.d                      |     4 +
 gcc/testsuite/gdc.dg/gdc122.d                      |    36 +
 gcc/testsuite/gdc.dg/gdc127.d                      |     6 +
 gcc/testsuite/gdc.dg/gdc131.d                      |    15 +
 gcc/testsuite/gdc.dg/gdc133.d                      |    16 +
 gcc/testsuite/gdc.dg/gdc141.d                      |    14 +
 gcc/testsuite/gdc.dg/gdc142.d                      |    15 +
 gcc/testsuite/gdc.dg/gdc15.d                       |    35 +
 gcc/testsuite/gdc.dg/gdc17.d                       |    37 +
 gcc/testsuite/gdc.dg/gdc170.d                      |    21 +
 gcc/testsuite/gdc.dg/gdc171.d                      |    38 +
 gcc/testsuite/gdc.dg/gdc179.d                      |    32 +
 gcc/testsuite/gdc.dg/gdc183.d                      |    60 +
 gcc/testsuite/gdc.dg/gdc186.d                      |    60 +
 gcc/testsuite/gdc.dg/gdc187.d                      |    40 +
 gcc/testsuite/gdc.dg/gdc19.d                       |     8 +
 gcc/testsuite/gdc.dg/gdc191.d                      |   201 +
 gcc/testsuite/gdc.dg/gdc194.d                      |     9 +
 gcc/testsuite/gdc.dg/gdc196.d                      |    21 +
 gcc/testsuite/gdc.dg/gdc198.d                      |    71 +
 gcc/testsuite/gdc.dg/gdc200.d                      |    16 +
 gcc/testsuite/gdc.dg/gdc204.d                      |    12 +
 gcc/testsuite/gdc.dg/gdc210.d                      |    62 +
 gcc/testsuite/gdc.dg/gdc212.d                      |    48 +
 gcc/testsuite/gdc.dg/gdc213.d                      |    17 +
 gcc/testsuite/gdc.dg/gdc218.d                      |    41 +
 gcc/testsuite/gdc.dg/gdc223.d                      |    43 +
 gcc/testsuite/gdc.dg/gdc231.d                      |    13 +
 gcc/testsuite/gdc.dg/gdc239.d                      |    10 +
 gcc/testsuite/gdc.dg/gdc24.d                       |    15 +
 gcc/testsuite/gdc.dg/gdc240.d                      |    16 +
 gcc/testsuite/gdc.dg/gdc241.d                      |     6 +
 gcc/testsuite/gdc.dg/gdc242a.d                     |    24 +
 gcc/testsuite/gdc.dg/gdc242b.d                     |    25 +
 gcc/testsuite/gdc.dg/gdc248.d                      |    44 +
 gcc/testsuite/gdc.dg/gdc250.d                      |    18 +
 gcc/testsuite/gdc.dg/gdc251.d                      |     6 +
 gcc/testsuite/gdc.dg/gdc253a.d                     |    10 +
 gcc/testsuite/gdc.dg/gdc253b.d                     |    19 +
 gcc/testsuite/gdc.dg/gdc255.d                      |    83 +
 gcc/testsuite/gdc.dg/gdc256.d                      |     5 +
 gcc/testsuite/gdc.dg/gdc261.d                      |    19 +
 gcc/testsuite/gdc.dg/gdc27.d                       |    18 +
 gcc/testsuite/gdc.dg/gdc273.d                      |    19 +
 gcc/testsuite/gdc.dg/gdc280.d                      |    30 +
 gcc/testsuite/gdc.dg/gdc284.d                      |    10 +
 gcc/testsuite/gdc.dg/gdc285.d                      |    15 +
 gcc/testsuite/gdc.dg/gdc286.d                      |    37 +
 gcc/testsuite/gdc.dg/gdc300.d                      |    25 +
 gcc/testsuite/gdc.dg/gdc309.d                      |    41 +
 gcc/testsuite/gdc.dg/gdc31.d                       |    25 +
 gcc/testsuite/gdc.dg/gdc35.d                       |    73 +
 gcc/testsuite/gdc.dg/gdc36.d                       |   125 +
 gcc/testsuite/gdc.dg/gdc37.d                       |    16 +
 gcc/testsuite/gdc.dg/gdc4.d                        |     9 +
 gcc/testsuite/gdc.dg/gdc43.d                       |    29 +
 gcc/testsuite/gdc.dg/gdc47.d                       |    12 +
 gcc/testsuite/gdc.dg/gdc51.d                       |    29 +
 gcc/testsuite/gdc.dg/gdc57.d                       |    21 +
 gcc/testsuite/gdc.dg/gdc66.d                       |    14 +
 gcc/testsuite/gdc.dg/gdc67.d                       |     4 +
 gcc/testsuite/gdc.dg/gdc71.d                       |    27 +
 gcc/testsuite/gdc.dg/gdc77.d                       |    11 +
 gcc/testsuite/gdc.dg/imports/gdc239.d              |    22 +-
 gcc/testsuite/gdc.dg/imports/gdc241a.d             |     4 +-
 gcc/testsuite/gdc.dg/imports/gdc241b.d             |     1 +
 gcc/testsuite/gdc.dg/imports/gdc251a.d             |     2 +-
 gcc/testsuite/gdc.dg/imports/gdc253.d              |    23 -
 gcc/testsuite/gdc.dg/imports/gdc253a.d             |    23 +
 gcc/testsuite/gdc.dg/imports/gdc253b.d             |    12 +
 gcc/testsuite/gdc.dg/imports/gdc36.d               |     8 +
 gcc/testsuite/gdc.dg/imports/runnable.d            |    23 -
 gcc/testsuite/gdc.dg/intrinsics.d                  |   123 +
 gcc/testsuite/gdc.dg/link.d                        |    39 -
 gcc/testsuite/gdc.dg/pr96140.d                     |    15 +
 gcc/testsuite/gdc.dg/pr96152.d                     |    32 +
 gcc/testsuite/gdc.dg/pr96153.d                     |    31 +
 gcc/testsuite/gdc.dg/pr96154a.d                    |    18 +
 gcc/testsuite/gdc.dg/pr96154b.d                    |    19 +
 gcc/testsuite/gdc.dg/pr96254a.d                    |    28 +
 gcc/testsuite/gdc.dg/pr96254b.d                    |    24 +
 gcc/testsuite/gdc.dg/pr96301a.d                    |    31 +
 gcc/testsuite/gdc.dg/pr96301b.d                    |    25 +
 gcc/testsuite/gdc.dg/pr96301c.d                    |    25 +
 gcc/testsuite/gdc.dg/pr96429.d                     |    26 +
 gcc/testsuite/gdc.dg/runnable.d                    |  1394 --
 gcc/testsuite/gdc.dg/runnable2.d                   |   244 -
 gcc/testsuite/gdc.dg/simd.d                        |     2 -
 gcc/testsuite/gdc.test/compilable/b9490.d          |    39 +
 gcc/testsuite/gdc.test/compilable/ice14739.d       |    19 +
 .../gdc.test/fail_compilation/fail17492.d          |    20 +-
 gcc/testsuite/gdc.test/fail_compilation/ice21060.d |    15 +
 .../fail_compilation/imports/ice21060a/package.d   |     1 +
 .../fail_compilation/imports/ice21060b/package.d   |     5 +
 .../fail_compilation/imports/ice21060c/package.d   |     1 +
 .../fail_compilation/imports/ice21060d/package.d   |     5 +
 gcc/testsuite/gdc.test/runnable/b16278.d           |     6 +
 gcc/testsuite/gfortran.dg/char4-subscript.f90      |     8 +-
 gcc/testsuite/gfortran.dg/coarray/pr93671.f90      |    24 +
 .../gfortran.dg/diagnostic-format-json-1.F90       |     5 +
 .../gfortran.dg/diagnostic-format-json-2.F90       |     5 +
 .../gfortran.dg/diagnostic-format-json-3.F90       |     5 +
 gcc/testsuite/gfortran.dg/do_check_13.f90          |    86 +
 gcc/testsuite/gfortran.dg/do_check_14.f90          |    56 +
 gcc/testsuite/gfortran.dg/do_check_15.f90          |    58 +
 gcc/testsuite/gfortran.dg/do_check_4.f90           |    24 +-
 .../gfortran.dg/elemental_optional_args_6.f90      |     4 +-
 gcc/testsuite/gfortran.dg/error_recovery_1.f90     |     4 +-
 gcc/testsuite/gfortran.dg/fmt_en.f90               |     6 +-
 gcc/testsuite/gfortran.dg/fmt_en_rd.f90            |   185 +
 gcc/testsuite/gfortran.dg/fmt_en_rn.f90            |   185 +
 gcc/testsuite/gfortran.dg/fmt_en_ru.f90            |   185 +
 gcc/testsuite/gfortran.dg/fmt_en_rz.f90            |   185 +
 .../gfortran.dg/goacc/attach-descriptor.f90        |    29 +
 gcc/testsuite/gfortran.dg/goacc/finalize-1.f       |     8 +-
 .../gfortran.dg/goacc/mapping-tests-3.f90          |    15 +
 .../gfortran.dg/goacc/mapping-tests-4.f90          |    17 +
 gcc/testsuite/gfortran.dg/gomp/cancel-2.f90        |    15 +
 gcc/testsuite/gfortran.dg/gomp/cancel-3.f90        |    35 +
 gcc/testsuite/gfortran.dg/gomp/collapse1.f90       |     2 +-
 gcc/testsuite/gfortran.dg/gomp/collapse2.f90       |    32 +
 gcc/testsuite/gfortran.dg/gomp/gomp.exp            |     2 +-
 gcc/testsuite/gfortran.dg/gomp/gridify-1.f90       |    16 -
 gcc/testsuite/gfortran.dg/gomp/if-1.f90            |   122 +
 .../gfortran.dg/gomp/lastprivate-conditional-1.f90 |    82 +
 .../gfortran.dg/gomp/lastprivate-conditional-2.f90 |    46 +
 .../gfortran.dg/gomp/lastprivate-conditional-3.f90 |    61 +
 .../gfortran.dg/gomp/lastprivate-conditional-4.f90 |    28 +
 .../gfortran.dg/gomp/lastprivate-conditional-5.f90 |    47 +
 gcc/testsuite/gfortran.dg/gomp/map-1.f90           |    35 +-
 gcc/testsuite/gfortran.dg/gomp/map-2.f90           |     6 +
 gcc/testsuite/gfortran.dg/gomp/map-3.f90           |    38 +
 gcc/testsuite/gfortran.dg/gomp/map-4.f90           |     7 +
 gcc/testsuite/gfortran.dg/gomp/nontemporal-1.f90   |    25 +
 gcc/testsuite/gfortran.dg/gomp/nontemporal-2.f90   |    26 +
 gcc/testsuite/gfortran.dg/gomp/order-3.f90         |   227 +
 gcc/testsuite/gfortran.dg/gomp/order-4.f90         |    34 +
 gcc/testsuite/gfortran.dg/gomp/requires-1.f90      |    13 +
 gcc/testsuite/gfortran.dg/gomp/requires-2.f90      |    14 +
 gcc/testsuite/gfortran.dg/gomp/requires-3.f90      |     4 +
 gcc/testsuite/gfortran.dg/gomp/requires-4.f90      |    36 +
 gcc/testsuite/gfortran.dg/gomp/requires-5.f90      |    16 +
 gcc/testsuite/gfortran.dg/gomp/requires-6.f90      |    16 +
 gcc/testsuite/gfortran.dg/gomp/requires-7.f90      |    41 +
 gcc/testsuite/gfortran.dg/gomp/requires-8.f90      |    22 +
 gcc/testsuite/gfortran.dg/gomp/requires-9.f90      |    85 +
 gcc/testsuite/gfortran.dg/implicit_pure_5.c        |     7 +
 gcc/testsuite/gfortran.dg/implicit_pure_5.f90      |    63 +
 gcc/testsuite/gfortran.dg/interface_47.f90         |    19 +
 gcc/testsuite/gfortran.dg/interface_48.f90         |    31 +
 gcc/testsuite/gfortran.dg/module_procedure_4.f90   |    63 +
 gcc/testsuite/gfortran.dg/pr45337_1.f90            |    14 +
 gcc/testsuite/gfortran.dg/pr45337_2.f90            |    18 +
 gcc/testsuite/gfortran.dg/pr53298.f90              |    14 +
 gcc/testsuite/gfortran.dg/pr71706.f90              |    10 +
 gcc/testsuite/gfortran.dg/pr88379.f90              |    11 +
 gcc/testsuite/gfortran.dg/pr89574.f90              |    29 +
 gcc/testsuite/gfortran.dg/pr91589.f90              |     2 +-
 gcc/testsuite/gfortran.dg/pr93337.f90              |    10 +
 gcc/testsuite/gfortran.dg/pr93423.f90              |    21 +
 gcc/testsuite/gfortran.dg/pr95340.f90              |    10 +
 gcc/testsuite/gfortran.dg/pr95446.f90              |    38 +
 gcc/testsuite/gfortran.dg/pr95584.f90              |    16 +
 gcc/testsuite/gfortran.dg/pr95612.f90              |     7 +
 gcc/testsuite/gfortran.dg/pr95690.f90              |     4 +-
 gcc/testsuite/gfortran.dg/pr95709.f90              |    14 +
 gcc/testsuite/gfortran.dg/pr95829.f90              |    14 +
 gcc/testsuite/gfortran.dg/pr95880.f90              |     9 +
 gcc/testsuite/gfortran.dg/pr95881.f90              |    11 +
 gcc/testsuite/gfortran.dg/pr95978.f90              |    10 +
 gcc/testsuite/gfortran.dg/pr95980.f90              |    10 +
 gcc/testsuite/gfortran.dg/pr95980_2.f90            |    11 +
 gcc/testsuite/gfortran.dg/pr95981.f90              |     9 +
 gcc/testsuite/gfortran.dg/pr96038.f90              |     8 +
 gcc/testsuite/gfortran.dg/pr96085.f90              |    12 +
 gcc/testsuite/gfortran.dg/pr96086.f90              |     8 +
 gcc/testsuite/gfortran.dg/pr96102.f90              |    27 +
 gcc/testsuite/gfortran.dg/pr96312.f90              |    30 +
 gcc/testsuite/gfortran.dg/pr96319.f90              |    12 +
 gcc/testsuite/gfortran.dg/pr96325.f90              |    21 +
 gcc/testsuite/gfortran.dg/recursive_check_16.f90   |    25 +
 gcc/testsuite/gfortran.dg/round_3.f08              |    26 +-
 gcc/testsuite/gfortran.dg/select_type_49.f90       |    43 +
 gcc/testsuite/gfortran.dg/use_15.f90               |     2 +-
 gcc/testsuite/gnat.dg/opt87.adb                    |    12 +
 gcc/testsuite/gnat.dg/opt87_pkg.adb                |    12 +
 gcc/testsuite/gnat.dg/opt87_pkg.ads                |     6 +
 gcc/testsuite/go.dg/arrayclear.go                  |     3 +
 gcc/testsuite/jit.dg/jit.exp                       |    20 +-
 gcc/testsuite/lib/c-compat.exp                     |    26 +-
 gcc/testsuite/lib/gcc-defs.exp                     |    55 +-
 gcc/testsuite/lib/gcc-dg.exp                       |    26 +-
 gcc/testsuite/lib/options.exp                      |     4 +-
 gcc/testsuite/lib/profopt.exp                      |     4 +-
 gcc/testsuite/lib/prune.exp                        |    17 +-
 gcc/testsuite/lib/scandump.exp                     |    56 +-
 gcc/testsuite/lib/scanlang.exp                     |    51 +
 gcc/testsuite/lib/scanoffload.exp                  |    20 +-
 gcc/testsuite/lib/scanwpaipa.exp                   |     4 +-
 gcc/testsuite/lib/target-supports-dg.exp           |    28 +
 gcc/testsuite/lib/target-supports.exp              |   110 +-
 .../obj-c++.dg/attributes/method-nonnull-1.mm      |     8 +-
 .../objc.dg/attributes/method-nonnull-1.m          |     8 +-
 gcc/timevar.def                                    |     1 -
 gcc/toplev.c                                       |    36 +-
 gcc/tree-cfg.c                                     |    40 +-
 gcc/tree-core.h                                    |     9 +-
 gcc/tree-diagnostic-path.cc                        |     5 +-
 gcc/tree-if-conv.c                                 |     5 +
 gcc/tree-loop-distribution.c                       |    21 +-
 gcc/tree-nested.c                                  |    63 +-
 gcc/tree-pass.h                                    |     2 -
 gcc/tree-pretty-print.c                            |    16 +-
 gcc/tree-ssa-ccp.c                                 |    86 +-
 gcc/tree-ssa-loop-im.c                             |   153 +-
 gcc/tree-ssa-loop-ivopts.c                         |     4 +
 gcc/tree-ssa-loop-split.c                          |    10 +
 gcc/tree-ssa-math-opts.c                           |     2 +-
 gcc/tree-ssa-pre.c                                 |    11 +
 gcc/tree-ssa-propagate.c                           |    15 +-
 gcc/tree-ssa-propagate.h                           |     2 +-
 gcc/tree-ssa-reassoc.c                             |    98 +-
 gcc/tree-ssa-sccvn.c                               |    80 +-
 gcc/tree-ssa-sccvn.h                               |     1 +
 gcc/tree-ssa-sink.c                                |     3 +-
 gcc/tree-ssanames.c                                |     2 +-
 gcc/tree-ssanames.h                                |     2 +-
 gcc/tree-vect-data-refs.c                          |   123 +-
 gcc/tree-vect-generic.c                            |    78 +-
 gcc/tree-vect-loop-manip.c                         |   190 +-
 gcc/tree-vect-loop.c                               |   564 +-
 gcc/tree-vect-slp.c                                |   293 +-
 gcc/tree-vect-stmts.c                              |   346 +-
 gcc/tree-vectorizer.c                              |    49 +-
 gcc/tree-vectorizer.h                              |    46 +-
 gcc/tree.c                                         |    59 +-
 gcc/tree.h                                         |    21 +-
 gcc/tristate.h                                     |     2 +
 gcc/value-range-equiv.h                            |     5 +-
 gcc/value-range.cc                                 |    82 +-
 gcc/value-range.h                                  |    14 +-
 gcc/var-tracking.c                                 |   110 +-
 gcc/vec.h                                          |    20 +-
 gcc/vr-values.c                                    |   208 +-
 gcc/vr-values.h                                    |    23 +-
 gcc/wide-int.cc                                    |    33 +
 gcc/wide-int.h                                     |     2 +
 include/ChangeLog                                  |    15 +
 include/gomp-constants.h                           |    13 +-
 libatomic/ChangeLog                                |     4 +
 libatomic/config/t-aix                             |     2 +-
 libbacktrace/ChangeLog                             |    10 +
 libbacktrace/configure                             |    35 +-
 libbacktrace/configure.ac                          |     4 +-
 libcc1/ChangeLog                                   |    29 +
 libcc1/configure                                   |    21 +-
 libcc1/libcp1plugin.cc                             |     6 +-
 libcpp/ChangeLog                                   |    62 +
 libcpp/charset.c                                   |    98 +-
 libcpp/configure                                   |    21 +-
 libcpp/directives.c                                |    44 +-
 libcpp/files.c                                     |    12 +-
 libcpp/include/cpplib.h                            |    43 +-
 libcpp/init.c                                      |    24 +-
 libcpp/internal.h                                  |     4 +-
 libcpp/lex.c                                       |     3 +-
 libcpp/line-map.c                                  |    52 +-
 libcpp/po/ChangeLog                                |     4 +
 libcpp/po/cpplib.pot                               |   244 +-
 libcpp/traditional.c                               |     4 +-
 libdecnumber/ChangeLog                             |     5 +
 libdecnumber/configure                             |    21 +-
 libgcc/ChangeLog                                   |    82 +
 libgcc/config/aarch64/aarch64-unwind.h             |    40 +-
 libgcc/config/aarch64/lse.S                        |    45 +-
 libgcc/config/i386/morestack.S                     |     2 +-
 libgcc/config/nvptx/atomic.c                       |    73 +
 libgcc/config/nvptx/t-nvptx                        |     3 +-
 libgcc/config/riscv/save-restore.S                 |    13 +-
 libgcc/config/rs6000/t-slibgcc-aix                 |     2 +-
 libgcc/libgcov-driver-system.c                     |     2 +-
 libgcc/libgcov-driver.c                            |    50 +-
 libgcc/libgcov-util.c                              |    41 +-
 libgcc/libgcov.h                                   |    49 +-
 libgcc/unwind-dw2.c                                |    34 +-
 libgfortran/ChangeLog                              |    39 +
 libgfortran/Makefile.am                            |     6 +-
 libgfortran/Makefile.in                            |     8 +-
 libgfortran/caf/single.c                           |    11 +-
 libgfortran/config/t-aix                           |     5 +-
 libgfortran/configure                              |    19 +-
 libgfortran/configure.ac                           |    13 +
 libgfortran/io/write_float.def                     |    15 +-
 libgfortran/mk-kinds-h.sh                          |    15 +-
 libgfortran/mk-sik-inc.sh                          |    13 +-
 libgfortran/mk-srk-inc.sh                          |    13 +-
 libgo/MERGE                                        |     2 +-
 libgo/Makefile.am                                  |    44 +-
 libgo/Makefile.in                                  |    88 +-
 libgo/VERSION                                      |     2 +-
 libgo/check-packages.txt                           |     4 +-
 libgo/configure                                    |    15 +-
 libgo/configure.ac                                 |    10 +-
 libgo/go/bufio/bufio.go                            |    52 +-
 libgo/go/bufio/bufio_test.go                       |    34 +-
 libgo/go/bufio/scan.go                             |     5 +
 libgo/go/bufio/scan_test.go                        |    57 +
 libgo/go/bytes/buffer_test.go                      |    19 +-
 libgo/go/bytes/bytes.go                            |   199 +-
 libgo/go/bytes/bytes_test.go                       |    78 +-
 libgo/go/cmd/cgo/doc.go                            |    11 +-
 libgo/go/cmd/cgo/gcc.go                            |    42 +-
 libgo/go/cmd/cgo/out.go                            |    51 +-
 libgo/go/cmd/go/alldocs.go                         |   166 +-
 libgo/go/cmd/go/go_test.go                         |  2747 +--
 libgo/go/cmd/go/help_test.go                       |     2 +
 libgo/go/cmd/go/internal/auth/auth.go              |     4 +-
 libgo/go/cmd/go/internal/base/base.go              |    25 -
 libgo/go/cmd/go/internal/base/env.go               |    14 +-
 libgo/go/cmd/go/internal/base/goflags.go           |    12 +-
 libgo/go/cmd/go/internal/cache/cache.go            |     2 +-
 libgo/go/cmd/go/internal/cfg/cfg.go                |    11 +
 libgo/go/cmd/go/internal/clean/clean.go            |    33 +-
 libgo/go/cmd/go/internal/cmdflag/flag.go           |   203 +-
 libgo/go/cmd/go/internal/envcmd/env.go             |     1 +
 libgo/go/cmd/go/internal/fmtcmd/fmt.go             |     7 +-
 libgo/go/cmd/go/internal/generate/generate.go      |    33 +-
 libgo/go/cmd/go/internal/get/get.go                |    33 +-
 libgo/go/cmd/go/internal/get/vcs.go                |     2 +-
 libgo/go/cmd/go/internal/help/help.go              |     2 +-
 libgo/go/cmd/go/internal/help/helpdoc.go           |    97 +
 libgo/go/cmd/go/internal/list/list.go              |     4 +-
 libgo/go/cmd/go/internal/load/pkg.go               |   294 +-
 libgo/go/cmd/go/internal/load/test.go              |    11 +-
 .../lockedfile/internal/filelock/filelock_fcntl.go |    70 +-
 .../cmd/go/internal/lockedfile/lockedfile_test.go  |    98 +
 libgo/go/cmd/go/internal/modcmd/download.go        |     3 +-
 libgo/go/cmd/go/internal/modcmd/vendor.go          |     5 +
 libgo/go/cmd/go/internal/modcmd/verify.go          |    55 +-
 libgo/go/cmd/go/internal/modconv/convert_test.go   |     4 +-
 libgo/go/cmd/go/internal/modfetch/cache.go         |    28 +-
 .../cmd/go/internal/modfetch/codehost/codehost.go  |    10 +-
 libgo/go/cmd/go/internal/modfetch/codehost/git.go  |     5 -
 .../cmd/go/internal/modfetch/codehost/git_test.go  |     1 -
 .../go/cmd/go/internal/modfetch/codehost/shell.go  |     3 +-
 libgo/go/cmd/go/internal/modfetch/coderepo.go      |    27 +-
 libgo/go/cmd/go/internal/modfetch/coderepo_test.go |     2 +-
 libgo/go/cmd/go/internal/modfetch/fetch.go         |   102 +-
 libgo/go/cmd/go/internal/modfetch/proxy.go         |   129 +-
 libgo/go/cmd/go/internal/modfetch/pseudo.go        |     4 +-
 libgo/go/cmd/go/internal/modfetch/sumdb.go         |    99 +-
 .../modfetch/zip_sum_test/testdata/zip_sums.csv    |     5 -
 .../internal/modfetch/zip_sum_test/zip_sum_test.go |     2 +-
 libgo/go/cmd/go/internal/modget/get.go             |    50 +-
 libgo/go/cmd/go/internal/modload/build.go          |    30 +-
 libgo/go/cmd/go/internal/modload/help.go           |    18 +-
 libgo/go/cmd/go/internal/modload/import.go         |   118 +-
 libgo/go/cmd/go/internal/modload/init.go           |   254 +-
 libgo/go/cmd/go/internal/modload/load.go           |   658 +-
 libgo/go/cmd/go/internal/modload/modfile.go        |   164 +
 libgo/go/cmd/go/internal/modload/mvs.go            |   259 +
 libgo/go/cmd/go/internal/modload/query.go          |    90 +-
 libgo/go/cmd/go/internal/modload/query_test.go     |     5 +-
 libgo/go/cmd/go/internal/modload/search.go         |    45 +-
 libgo/go/cmd/go/internal/modload/vendor.go         |   217 +
 libgo/go/cmd/go/internal/mvs/mvs.go                |    23 +-
 libgo/go/cmd/go/internal/renameio/renameio_test.go |     6 +
 libgo/go/cmd/go/internal/search/search.go          |   231 +-
 libgo/go/cmd/go/internal/str/path.go               |     2 +-
 libgo/go/cmd/go/internal/test/flagdefs.go          |    34 +
 libgo/go/cmd/go/internal/test/flagdefs_test.go     |    34 +
 libgo/go/cmd/go/internal/test/genflags.go          |    90 +
 libgo/go/cmd/go/internal/test/test.go              |   168 +-
 libgo/go/cmd/go/internal/test/testflag.go          |   480 +-
 libgo/go/cmd/go/internal/version/version.go        |     6 +
 libgo/go/cmd/go/internal/vet/vet.go                |     8 +-
 libgo/go/cmd/go/internal/vet/vetflag.go            |   163 +-
 libgo/go/cmd/go/internal/web/api.go                |    17 +-
 libgo/go/cmd/go/internal/web/http.go               |    40 +-
 libgo/go/cmd/go/internal/work/action.go            |     2 +-
 libgo/go/cmd/go/internal/work/build.go             |     5 +-
 libgo/go/cmd/go/internal/work/build_test.go        |     2 +-
 libgo/go/cmd/go/internal/work/buildid.go           |     4 +-
 libgo/go/cmd/go/internal/work/exec.go              |   114 +-
 libgo/go/cmd/go/internal/work/gc.go                |    27 +-
 libgo/go/cmd/go/internal/work/init.go              |    37 +-
 libgo/go/cmd/go/internal/work/security.go          |     3 +
 libgo/go/cmd/go/internal/work/security_test.go     |     2 +
 libgo/go/cmd/go/internal/work/testgo.go            |    33 +-
 libgo/go/cmd/go/main.go                            |     3 +-
 libgo/go/cmd/go/note_test.go                       |     4 +-
 libgo/go/cmd/go/proxy_test.go                      |    19 +
 libgo/go/cmd/go/script_test.go                     |   483 +-
 libgo/go/cmd/go/testdata/example1_test.go          |    23 -
 libgo/go/cmd/go/testdata/example2_test.go          |    21 -
 libgo/go/cmd/go/testdata/generate/test1.go         |    13 -
 libgo/go/cmd/go/testdata/generate/test2.go         |    10 -
 libgo/go/cmd/go/testdata/generate/test3.go         |     9 -
 libgo/go/cmd/go/testdata/generate/test4.go         |    10 -
 .../mod/example.com_printversion_v0.1.0.txt        |     6 +
 .../mod/example.com_printversion_v1.0.0.txt        |     6 +
 .../cmd/go/testdata/norunexample/example_test.go   |    11 -
 libgo/go/cmd/go/testdata/norunexample/test_test.go |    10 -
 libgo/go/cmd/go/testdata/print_goroot.go           |    14 -
 libgo/go/cmd/go/testdata/rundir/sub/sub.go         |     1 -
 libgo/go/cmd/go/testdata/rundir/x.go               |     1 -
 libgo/go/cmd/go/testdata/script/README             |    24 +-
 libgo/go/cmd/go/testdata/script/build_gcflags.txt  |     3 +-
 libgo/go/cmd/go/testdata/script/build_trimpath.txt |     4 +
 .../go/cmd/go/testdata/script/cmd_import_error.txt |     2 +-
 .../go/cmd/go/testdata/script/gcflags_patterns.txt |     2 +
 .../cmd/go/testdata/script/install_cross_gobin.txt |     9 +-
 .../go/testdata/script/link_syso_issue33139.txt    |     4 -
 .../cmd/go/testdata/script/list_ambiguous_path.txt |     4 +-
 libgo/go/cmd/go/testdata/script/list_importmap.txt |     2 +-
 libgo/go/cmd/go/testdata/script/list_parse_err.txt |    36 +-
 .../cmd/go/testdata/script/list_test_imports.txt   |     2 +-
 .../go/testdata/script/list_test_non_go_files.txt  |     2 +-
 .../go/testdata/script/mod_ambiguous_import.txt    |     3 +-
 .../go/cmd/go/testdata/script/mod_convert_dep.txt  |     1 -
 .../go/cmd/go/testdata/script/mod_convert_git.txt  |    17 +
 libgo/go/cmd/go/testdata/script/mod_dot.txt        |    97 +-
 libgo/go/cmd/go/testdata/script/mod_empty_err.txt  |     8 +-
 .../go/cmd/go/testdata/script/mod_fs_patterns.txt  |     4 +-
 libgo/go/cmd/go/testdata/script/mod_get_commit.txt |     3 +
 libgo/go/cmd/go/testdata/script/mod_get_main.txt   |    15 +-
 libgo/go/cmd/go/testdata/script/mod_get_tags.txt   |     3 +-
 libgo/go/cmd/go/testdata/script/mod_gonoproxy.txt  |    15 +-
 .../cmd/go/testdata/script/mod_goroot_errors.txt   |     4 +-
 .../cmd/go/testdata/script/mod_invalid_version.txt |     6 +-
 libgo/go/cmd/go/testdata/script/mod_list_dir.txt   |     4 -
 .../go/testdata/script/mod_list_replace_dir.txt    |     4 +-
 libgo/go/cmd/go/testdata/script/mod_list_std.txt   |    10 +
 libgo/go/cmd/go/testdata/script/mod_proxy_list.txt |    14 +-
 libgo/go/cmd/go/testdata/script/mod_readonly.txt   |     4 +-
 .../cmd/go/testdata/script/mod_replace_import.txt  |     5 +-
 libgo/go/cmd/go/testdata/script/mod_retention.txt  |    12 +-
 .../go/cmd/go/testdata/script/mod_sumdb_proxy.txt  |    17 +
 .../cmd/go/testdata/script/noncanonical_import.txt |     4 +-
 libgo/go/cmd/go/testdata/script/script_wait.txt    |     7 +-
 .../cmd/go/testdata/script/test_cache_inputs.txt   |    21 +
 libgo/go/cmd/go/testdata/script/version.txt        |    27 +-
 libgo/go/cmd/go/testdata/script/vet_flags.txt      |    58 +-
 .../go/cmd/go/testdata/shadow/root1/src/foo/foo.go |     1 -
 .../cmd/go/testdata/shadow/root1/src/math/math.go  |     1 -
 .../go/cmd/go/testdata/shadow/root2/src/foo/foo.go |     1 -
 libgo/go/cmd/go/testdata/src/cgotest/m.go          |     5 -
 libgo/go/cmd/go/testdata/src/coverasm/p.go         |     7 -
 libgo/go/cmd/go/testdata/src/coverasm/p.s          |     2 -
 libgo/go/cmd/go/testdata/src/coverasm/p_test.go    |     7 -
 libgo/go/cmd/go/testdata/src/coverbad/p.go         |     5 -
 libgo/go/cmd/go/testdata/src/coverbad/p1.go        |     7 -
 libgo/go/cmd/go/testdata/src/coverbad/p_test.go    |     5 -
 libgo/go/cmd/go/testdata/src/coverdep/p.go         |     6 -
 libgo/go/cmd/go/testdata/src/coverdep/p1/p1.go     |     3 -
 libgo/go/cmd/go/testdata/src/coverdep/p_test.go    |     7 -
 libgo/go/cmd/go/testdata/src/coverdep2/p1/p.go     |     3 -
 .../go/cmd/go/testdata/src/coverdep2/p1/p_test.go  |    10 -
 libgo/go/cmd/go/testdata/src/coverdep2/p2/p2.go    |     7 -
 libgo/go/cmd/go/testdata/src/coverdot1/p.go        |     3 -
 libgo/go/cmd/go/testdata/src/coverdot2/p.go        |     5 -
 libgo/go/cmd/go/testdata/src/coverdot2/p_test.go   |     7 -
 libgo/go/cmd/go/testdata/src/empty/pkg/pkg.go      |     1 -
 libgo/go/cmd/go/testdata/src/empty/pkgtest/pkg.go  |     1 -
 .../cmd/go/testdata/src/empty/pkgtest/test_test.go |     1 -
 .../cmd/go/testdata/src/empty/pkgtestxtest/pkg.go  |     1 -
 .../testdata/src/empty/pkgtestxtest/test_test.go   |     1 -
 .../testdata/src/empty/pkgtestxtest/xtest_test.go  |     1 -
 libgo/go/cmd/go/testdata/src/empty/pkgxtest/pkg.go |     1 -
 .../go/testdata/src/empty/pkgxtest/xtest_test.go   |     1 -
 .../go/cmd/go/testdata/src/empty/test/test_test.go |     1 -
 .../go/testdata/src/empty/testxtest/test_test.go   |     1 -
 .../go/testdata/src/empty/testxtest/xtest_test.go  |     1 -
 .../cmd/go/testdata/src/empty/xtest/xtest_test.go  |     1 -
 libgo/go/cmd/go/testdata/src/exclude/empty/x.txt   |     0
 libgo/go/cmd/go/testdata/src/exclude/ignore/_x.go  |     1 -
 libgo/go/cmd/go/testdata/src/exclude/x.go          |     3 -
 libgo/go/cmd/go/testdata/src/exclude/x_linux.go    |     3 -
 libgo/go/cmd/go/testdata/src/failfast_test.go      |    62 -
 libgo/go/cmd/go/testdata/src/hello/hello.go        |     5 -
 libgo/go/cmd/go/testdata/src/my.pkg/main/main.go   |     7 -
 libgo/go/cmd/go/testdata/src/my.pkg/pkg.go         |     3 -
 libgo/go/cmd/go/testdata/src/skipper/skip_test.go  |     7 -
 .../go/cmd/go/testdata/src/testlist/bench_test.go  |    14 -
 .../cmd/go/testdata/src/testlist/example_test.go   |    21 -
 libgo/go/cmd/go/testdata/src/testlist/test_test.go |    10 -
 libgo/go/cmd/go/testdata/src/vend/bad.go           |     3 -
 libgo/go/cmd/go/testdata/src/vend/dir1/dir1.go     |     1 -
 libgo/go/cmd/go/testdata/src/vend/good.go          |     3 -
 libgo/go/cmd/go/testdata/src/vend/hello/hello.go   |    10 -
 .../cmd/go/testdata/src/vend/hello/hello_test.go   |    12 -
 .../cmd/go/testdata/src/vend/hello/hellox_test.go  |    12 -
 libgo/go/cmd/go/testdata/src/vend/subdir/bad.go    |     3 -
 libgo/go/cmd/go/testdata/src/vend/subdir/good.go   |     3 -
 libgo/go/cmd/go/testdata/src/vend/vendor/p/p.go    |     1 -
 libgo/go/cmd/go/testdata/src/vend/vendor/q/q.go    |     1 -
 .../cmd/go/testdata/src/vend/vendor/strings/msg.go |     3 -
 .../src/vend/vendor/vend/dir1/dir2/dir2.go         |     1 -
 .../cmd/go/testdata/src/vend/x/invalid/invalid.go  |     3 -
 libgo/go/cmd/go/testdata/src/vend/x/vendor/p/p.go  |     1 -
 .../go/cmd/go/testdata/src/vend/x/vendor/p/p/p.go  |     3 -
 libgo/go/cmd/go/testdata/src/vend/x/vendor/r/r.go  |     1 -
 libgo/go/cmd/go/testdata/src/vend/x/x.go           |     7 -
 libgo/go/cmd/go/testdata/src/vetcycle/p.go         |    13 -
 libgo/go/cmd/go/testdata/src/vetfail/p1/p1.go      |     9 -
 libgo/go/cmd/go/testdata/src/vetfail/p2/p2.go      |     6 -
 libgo/go/cmd/go/testdata/src/vetfail/p2/p2_test.go |     7 -
 libgo/go/cmd/go/testdata/src/vetpkg/a_test.go      |     1 -
 libgo/go/cmd/go/testdata/src/vetpkg/b.go           |     7 -
 libgo/go/cmd/go/testdata/src/vetpkg/c.go           |     9 -
 libgo/go/cmd/go/testdata/src/xtestonly/f.go        |     3 -
 libgo/go/cmd/go/testdata/src/xtestonly/f_test.go   |    12 -
 .../cmd/go/testdata/standalone_benchmark_test.go   |     6 -
 .../go/cmd/go/testdata/standalone_fail_sub_test.go |     8 -
 .../cmd/go/testdata/standalone_main_normal_test.go |    10 -
 .../cmd/go/testdata/standalone_main_wrong_test.go  |    10 -
 .../go/testdata/standalone_parallel_sub_test.go    |    14 -
 libgo/go/cmd/go/testdata/standalone_sub_test.go    |     7 -
 libgo/go/cmd/go/testdata/standalone_test.go        |     6 -
 .../go/testdata/standalone_testmain_flag_test.go   |    29 -
 libgo/go/cmd/go/testdata/test_regexps.txt          |    75 +
 libgo/go/cmd/go/testdata/testcover/pkg1/a.go       |     7 -
 libgo/go/cmd/go/testdata/testcover/pkg2/a.go       |     7 -
 libgo/go/cmd/go/testdata/testcover/pkg2/a_test.go  |     1 -
 libgo/go/cmd/go/testdata/testcover/pkg3/a.go       |     7 -
 libgo/go/cmd/go/testdata/testcover/pkg3/a_test.go  |     7 -
 libgo/go/cmd/go/testdata/testcover/pkg4/a.go       |     5 -
 libgo/go/cmd/go/testdata/testcover/pkg4/a_test.go  |     9 -
 libgo/go/cmd/go/testdata/testimport/p.go           |     3 -
 libgo/go/cmd/go/testdata/testimport/p1/p1.go       |     3 -
 libgo/go/cmd/go/testdata/testimport/p2/p2.go       |     3 -
 libgo/go/cmd/go/testdata/testimport/p_test.go      |    13 -
 libgo/go/cmd/go/testdata/testimport/x_test.go      |    15 -
 libgo/go/cmd/go/testdata/testinternal/p.go         |     3 -
 libgo/go/cmd/go/testdata/testinternal2/p.go        |     3 -
 .../testdata/testinternal2/x/y/z/internal/w/w.go   |     1 -
 libgo/go/cmd/go/testdata/testinternal3/t.go        |     3 -
 libgo/go/cmd/go/testdata/testinternal4/src/p/p.go  |     6 -
 .../testdata/testinternal4/src/q/internal/x/x.go   |     1 -
 .../go/cmd/go/testdata/testinternal4/src/q/j/j.go  |     3 -
 libgo/go/cmd/go/testdata/testonly/p_test.go        |     1 -
 libgo/go/cmd/go/testdata/testonly2/t.go            |     6 -
 libgo/go/cmd/go/testdata/testvendor/src/p/p.go     |     6 -
 .../cmd/go/testdata/testvendor/src/q/vendor/x/x.go |     1 -
 libgo/go/cmd/go/testdata/testvendor/src/q/y/y.go   |     3 -
 libgo/go/cmd/go/testdata/testvendor/src/q/z/z.go   |     3 -
 libgo/go/cmd/go/testdata/testvendor2/src/p/p.go    |     3 -
 libgo/go/cmd/go/testdata/testvendor2/vendor/x/x.go |     1 -
 libgo/go/cmd/go/testdata/timeoutbench_test.go      |    10 -
 libgo/go/cmd/go/vendor_test.go                     |   412 -
 libgo/go/cmd/gofmt/gofmt.go                        |    64 +-
 libgo/go/cmd/gofmt/internal.go                     |     8 +-
 libgo/go/cmd/internal/objabi/autotype.go           |     2 +-
 libgo/go/cmd/internal/objabi/funcdata.go           |    28 +-
 libgo/go/cmd/internal/objabi/head.go               |     2 +-
 libgo/go/cmd/internal/objabi/reloctype.go          |     2 +-
 libgo/go/cmd/internal/objabi/stack.go              |     2 +-
 libgo/go/cmd/internal/objabi/symkind.go            |     2 +-
 libgo/go/cmd/internal/objabi/symkind_string.go     |    24 +-
 libgo/go/cmd/internal/objabi/util.go               |    19 +-
 libgo/go/cmd/internal/sys/supported.go             |    11 +-
 libgo/go/cmd/vet/main.go                           |     4 +
 libgo/go/compress/flate/deflate_test.go            |    56 +-
 libgo/go/compress/flate/deflatefast.go             |    49 +-
 libgo/go/compress/flate/huffman_bit_writer.go      |     1 +
 libgo/go/compress/flate/writer_test.go             |    63 +
 libgo/go/container/list/list.go                    |    18 +-
 libgo/go/context/context.go                        |     9 +
 libgo/go/context/context_test.go                   |   159 +-
 libgo/go/context/example_test.go                   |     6 +-
 libgo/go/context/x_test.go                         |     1 +
 libgo/go/crypto/crypto.go                          |    47 +-
 libgo/go/crypto/ecdsa/ecdsa.go                     |    88 +-
 libgo/go/crypto/ecdsa/ecdsa_noasm.go               |    21 +
 libgo/go/crypto/ecdsa/ecdsa_s390x.go               |   164 +
 libgo/go/crypto/ecdsa/ecdsa_s390x_test.go          |    34 +
 libgo/go/crypto/ecdsa/ecdsa_test.go                |    30 +
 libgo/go/crypto/ecdsa/equal_test.go                |    75 +
 libgo/go/crypto/ecdsa/example_test.go              |     6 +-
 libgo/go/crypto/ed25519/ed25519.go                 |    21 +
 libgo/go/crypto/ed25519/ed25519_test.go            |    22 +
 libgo/go/crypto/elliptic/elliptic.go               |    83 +-
 libgo/go/crypto/elliptic/elliptic_test.go          |   147 +-
 libgo/go/crypto/hmac/hmac.go                       |    80 +-
 libgo/go/crypto/hmac/hmac_test.go                  |    13 +-
 libgo/go/crypto/rsa/equal_test.go                  |    51 +
 libgo/go/crypto/rsa/example_test.go                |     2 +-
 libgo/go/crypto/rsa/pkcs1v15.go                    |    41 +-
 libgo/go/crypto/rsa/pkcs1v15_test.go               |    18 +
 libgo/go/crypto/rsa/pss.go                         |   182 +-
 libgo/go/crypto/rsa/rsa.go                         |    86 +-
 libgo/go/crypto/sha512/sha512block_generic.go      |     4 +-
 libgo/go/crypto/tls/alert.go                       |   120 +-
 libgo/go/crypto/tls/auth.go                        |    18 +-
 libgo/go/crypto/tls/auth_test.go                   |    14 +-
 libgo/go/crypto/tls/common.go                      |   324 +-
 libgo/go/crypto/tls/common_string.go               |   116 +
 libgo/go/crypto/tls/conn.go                        |    84 +-
 libgo/go/crypto/tls/example_test.go                |   122 +-
 libgo/go/crypto/tls/generate_cert.go               |    12 +-
 libgo/go/crypto/tls/handshake_client.go            |   126 +-
 libgo/go/crypto/tls/handshake_client_test.go       |   535 +-
 libgo/go/crypto/tls/handshake_client_tls13.go      |    88 +-
 libgo/go/crypto/tls/handshake_messages_test.go     |     9 +-
 libgo/go/crypto/tls/handshake_server.go            |    87 +-
 libgo/go/crypto/tls/handshake_server_test.go       |    22 +-
 libgo/go/crypto/tls/handshake_server_tls13.go      |    17 +-
 libgo/go/crypto/tls/key_agreement.go               |     2 +-
 libgo/go/crypto/tls/key_schedule.go                |     7 +-
 libgo/go/crypto/tls/link_test.go                   |   121 +
 .../testdata/Server-TLSv10-ExportKeyingMaterial    |    83 +-
 libgo/go/crypto/tls/testdata/Server-TLSv12-ALPN    |    83 +-
 .../crypto/tls/testdata/Server-TLSv12-ALPN-NoMatch |    83 +-
 .../testdata/Server-TLSv12-ExportKeyingMaterial    |    81 +-
 .../crypto/tls/testdata/Server-TLSv12-IssueTicket  |   167 +-
 .../testdata/Server-TLSv12-IssueTicketPreDisable   |   167 +-
 libgo/go/crypto/tls/testdata/Server-TLSv12-Resume  |    82 +-
 libgo/go/crypto/tls/ticket.go                      |   119 +-
 libgo/go/crypto/tls/tls.go                         |   106 +-
 libgo/go/crypto/tls/tls_test.go                    |   174 +-
 libgo/go/crypto/x509/cert_pool.go                  |    12 +-
 .../crypto/x509/internal/macos/corefoundation.go   |   141 +
 libgo/go/crypto/x509/internal/macos/security.go    |   116 +
 libgo/go/crypto/x509/pkcs1.go                      |    12 +-
 libgo/go/crypto/x509/pkcs8.go                      |     6 +-
 libgo/go/crypto/x509/pkix/pkix.go                  |    52 +-
 libgo/go/crypto/x509/root.go                       |     2 +
 libgo/go/crypto/x509/root_cgo_darwin.go            |   314 -
 libgo/go/crypto/x509/root_cgo_darwin_amd64.go      |   322 +
 libgo/go/crypto/x509/root_darwin.go                |   288 -
 libgo/go/crypto/x509/root_darwin_amd64.go          |   243 +
 libgo/go/crypto/x509/root_darwin_arm_gen.go        |   186 -
 libgo/go/crypto/x509/root_darwin_armx.go           |  4313 -----
 libgo/go/crypto/x509/root_darwin_ios.go            |  5262 ++++++
 libgo/go/crypto/x509/root_darwin_ios_gen.go        |   179 +
 libgo/go/crypto/x509/root_nocgo_darwin.go          |    11 -
 libgo/go/crypto/x509/root_omit.go                  |    29 +
 libgo/go/crypto/x509/root_omit_test.go             |    23 +
 libgo/go/crypto/x509/root_unix.go                  |    46 +-
 libgo/go/crypto/x509/root_unix_test.go             |   109 +
 libgo/go/crypto/x509/root_windows.go               |    46 +-
 libgo/go/crypto/x509/sec1.go                       |     7 +-
 libgo/go/crypto/x509/verify.go                     |   142 +-
 libgo/go/crypto/x509/verify_test.go                |   931 +-
 libgo/go/crypto/x509/x509.go                       |   193 +-
 libgo/go/crypto/x509/x509_test.go                  |   519 +-
 libgo/go/database/sql/driver/driver.go             |    61 +-
 libgo/go/database/sql/fakedb_test.go               |    45 +-
 libgo/go/database/sql/sql.go                       |   350 +-
 libgo/go/database/sql/sql_test.go                  |   296 +
 libgo/go/debug/gosym/symtab.go                     |     4 +-
 libgo/go/debug/pe/file_test.go                     |    12 +-
 libgo/go/debug/pe/pe.go                            |    53 +
 libgo/go/encoding/asn1/asn1.go                     |    12 +
 libgo/go/encoding/asn1/asn1_test.go                |    12 +
 libgo/go/encoding/asn1/marshal.go                  |    56 +
 libgo/go/encoding/asn1/marshal_test.go             |    57 +
 libgo/go/encoding/base64/base64.go                 |    26 +-
 libgo/go/encoding/base64/base64_test.go            |     2 +-
 libgo/go/encoding/binary/varint.go                 |     5 +-
 libgo/go/encoding/binary/varint_test.go            |    18 +-
 libgo/go/encoding/csv/writer.go                    |    16 +-
 libgo/go/encoding/csv/writer_test.go               |    17 +
 libgo/go/encoding/hex/hex_test.go                  |     1 -
 libgo/go/encoding/json/decode.go                   |    69 +-
 libgo/go/encoding/json/decode_test.go              |   145 +-
 libgo/go/encoding/json/encode.go                   |    13 +-
 libgo/go/encoding/json/encode_test.go              |    87 +-
 libgo/go/encoding/json/scanner.go                  |    31 +-
 libgo/go/encoding/json/stream_test.go              |     8 +-
 libgo/go/encoding/xml/marshal.go                   |    16 +-
 libgo/go/encoding/xml/marshal_test.go              |    17 +
 libgo/go/encoding/xml/read.go                      |    16 +-
 libgo/go/encoding/xml/typeinfo.go                  |    16 +-
 libgo/go/encoding/xml/xml.go                       |     4 +-
 libgo/go/errors/wrap.go                            |     2 +-
 libgo/go/errors/wrap_test.go                       |    13 +
 libgo/go/expvar/expvar_test.go                     |     8 +-
 libgo/go/flag/flag.go                              |    11 +-
 libgo/go/flag/flag_test.go                         |    66 +
 libgo/go/fmt/fmt_test.go                           |    19 +-
 libgo/go/fmt/format.go                             |    13 +-
 libgo/go/fmt/scan.go                               |     8 +-
 libgo/go/go/ast/ast.go                             |    55 +-
 libgo/go/go/ast/ast_test.go                        |    29 +
 libgo/go/go/build/build.go                         |     3 +-
 libgo/go/go/build/build_test.go                    |    23 +-
 libgo/go/go/build/deps_test.go                     |  1147 +-
 libgo/go/go/build/doc.go                           |    97 +-
 libgo/go/go/constant/value.go                      |    31 -
 libgo/go/go/doc/example.go                         |     6 +-
 libgo/go/go/doc/example_test.go                    |    76 +-
 libgo/go/go/format/format.go                       |    14 +-
 libgo/go/go/format/format_test.go                  |    38 +
 libgo/go/go/format/internal.go                     |     2 +-
 libgo/go/go/internal/gccgoimporter/parser.go       |     2 +-
 libgo/go/go/internal/gcimporter/bimport.go         |  1021 -
 libgo/go/go/internal/gcimporter/gcimporter.go      |    13 +-
 libgo/go/go/internal/gcimporter/gcimporter_test.go |    17 +-
 libgo/go/go/internal/gcimporter/support.go         |   127 +
 libgo/go/go/internal/srcimporter/srcimporter.go    |    64 +-
 .../go/go/internal/srcimporter/srcimporter_test.go |    21 +
 libgo/go/go/parser/interface.go                    |     8 +-
 libgo/go/go/printer/nodes.go                       |    63 +
 libgo/go/go/printer/performance_test.go            |     2 +-
 libgo/go/go/printer/printer.go                     |    16 +
 libgo/go/go/printer/printer_test.go                |     8 +-
 libgo/go/go/printer/testdata/go2numbers.golden     |   186 +
 libgo/go/go/printer/testdata/go2numbers.input      |   186 +
 libgo/go/go/printer/testdata/go2numbers.norm       |   186 +
 libgo/go/go/token/position.go                      |    23 +-
 libgo/go/go/types/api.go                           |    17 +-
 libgo/go/go/types/assignments.go                   |     2 +-
 libgo/go/go/types/builtins.go                      |    10 +-
 libgo/go/go/types/builtins_test.go                 |    16 +
 libgo/go/go/types/call.go                          |   100 +-
 libgo/go/go/types/check.go                         |    10 +-
 libgo/go/go/types/conversions.go                   |     2 +-
 libgo/go/go/types/example_test.go                  |    11 +
 libgo/go/go/types/expr.go                          |    55 +-
 libgo/go/go/types/lookup.go                        |    28 +-
 libgo/go/go/types/methodset.go                     |    54 +-
 libgo/go/go/types/operand.go                       |    22 +-
 libgo/go/go/types/package.go                       |     1 +
 libgo/go/go/types/resolver.go                      |     5 +-
 libgo/go/go/types/stdlib_test.go                   |     1 +
 libgo/go/go/types/testdata/decls3.src              |    18 +-
 libgo/go/go/types/testdata/decls4.src              |     4 +-
 libgo/go/go/types/testdata/expr3.src               |     4 +-
 libgo/go/go/types/testdata/issue28251.src          |     4 +-
 libgo/go/go/types/testdata/issues.src              |    16 +-
 libgo/go/go/types/testdata/methodsets.src          |    12 +-
 libgo/go/go/types/universe.go                      |     8 +-
 .../golang.org/x/crypto/chacha20/chacha_arm64.go   |     3 +-
 .../golang.org/x/crypto/chacha20/chacha_generic.go |   140 +-
 .../golang.org/x/crypto/chacha20/chacha_noasm.go   |     2 +-
 .../golang.org/x/crypto/chacha20/chacha_ppc64le.go |     2 +-
 .../golang.org/x/crypto/chacha20/chacha_s390x.go   |     2 +-
 libgo/go/golang.org/x/crypto/chacha20/xor.go       |    17 +-
 .../chacha20poly1305/chacha20poly1305_amd64.go     |     2 +-
 .../chacha20poly1305/chacha20poly1305_generic.go   |    56 +-
 .../chacha20poly1305/chacha20poly1305_noasm.go     |     2 +-
 libgo/go/golang.org/x/crypto/cryptobyte/asn1.go    |     6 +-
 libgo/go/golang.org/x/crypto/poly1305/mac_noasm.go |     4 +-
 libgo/go/golang.org/x/crypto/poly1305/poly1305.go  |    26 +-
 libgo/go/golang.org/x/crypto/poly1305/sum_amd64.go |    13 +-
 libgo/go/golang.org/x/crypto/poly1305/sum_arm.go   |    19 -
 .../go/golang.org/x/crypto/poly1305/sum_generic.go |    21 +-
 libgo/go/golang.org/x/crypto/poly1305/sum_noasm.go |    13 -
 .../go/golang.org/x/crypto/poly1305/sum_ppc64le.go |    13 +-
 libgo/go/golang.org/x/crypto/poly1305/sum_s390x.go |    72 +-
 libgo/go/golang.org/x/mod/modfile/print.go         |    25 +-
 libgo/go/golang.org/x/mod/modfile/read.go          |   319 +-
 libgo/go/golang.org/x/mod/modfile/rule.go          |   154 +-
 libgo/go/golang.org/x/mod/zip/zip.go               |    20 +-
 .../go/golang.org/x/net/dns/dnsmessage/message.go  |    21 +-
 libgo/go/golang.org/x/net/http2/hpack/huffman.go   |     7 +
 libgo/go/golang.org/x/net/route/address.go         |     4 +-
 libgo/go/golang.org/x/net/route/route.go           |     2 +-
 libgo/go/golang.org/x/sys/cpu/byteorder.go         |    38 +-
 libgo/go/golang.org/x/sys/cpu/cpu.go               |    45 +
 libgo/go/golang.org/x/sys/cpu/cpu_arm.go           |    40 +
 libgo/go/golang.org/x/sys/cpu/cpu_arm64.go         |   138 +
 libgo/go/golang.org/x/sys/cpu/cpu_gc_arm64.go      |    11 +
 libgo/go/golang.org/x/sys/cpu/cpu_gccgo_arm64.go   |    11 +
 .../x/sys/cpu/{cpu_gccgo.c => cpu_gccgo_x86.c}     |     0
 .../x/sys/cpu/{cpu_gccgo.go => cpu_gccgo_x86.go}   |     0
 libgo/go/golang.org/x/sys/cpu/cpu_linux.go         |    48 +-
 libgo/go/golang.org/x/sys/cpu/cpu_linux_arm.go     |    39 +
 libgo/go/golang.org/x/sys/cpu/cpu_linux_arm64.go   |     6 +
 libgo/go/golang.org/x/sys/cpu/cpu_linux_mips64x.go |    22 +
 libgo/go/golang.org/x/sys/cpu/cpu_linux_noinit.go  |     9 +
 libgo/go/golang.org/x/sys/cpu/cpu_linux_other.go   |     9 -
 libgo/go/golang.org/x/sys/cpu/cpu_linux_ppc64x.go  |     2 +
 libgo/go/golang.org/x/sys/cpu/cpu_linux_s390x.go   |     2 +
 libgo/go/golang.org/x/sys/cpu/cpu_mips64x.go       |     9 +
 libgo/go/golang.org/x/sys/cpu/cpu_mipsx.go         |     9 +
 libgo/go/golang.org/x/sys/cpu/cpu_other_arm64.go   |     9 +
 libgo/go/golang.org/x/sys/cpu/cpu_riscv64.go       |     2 +
 libgo/go/golang.org/x/sys/cpu/cpu_wasm.go          |    13 +
 libgo/go/golang.org/x/sys/cpu/cpu_x86.go           |     2 +
 libgo/go/golang.org/x/sys/cpu/hwcap_linux.go       |    56 +
 libgo/go/golang.org/x/text/unicode/bidi/core.go    |     8 +-
 .../go/golang.org/x/tools/go/analysis/analysis.go  |    16 +
 libgo/go/golang.org/x/tools/go/analysis/doc.go     |    86 +-
 .../go/analysis/internal/analysisflags/flags.go    |     2 +-
 .../x/tools/go/analysis/passes/cgocall/cgocall.go  |    14 +-
 .../tools/go/analysis/passes/errorsas/errorsas.go  |     2 +-
 .../analysis/passes/httpresponse/httpresponse.go   |    12 +-
 .../go/analysis/passes/ifaceassert/ifaceassert.go  |   101 +
 .../analysis/passes/internal/analysisutil/util.go  |    10 +
 .../x/tools/go/analysis/passes/printf/printf.go    |    67 +-
 .../go/analysis/passes/stringintconv/string.go     |   126 +
 .../go/analysis/passes/unreachable/unreachable.go  |    13 +-
 .../golang.org/x/tools/go/ast/astutil/imports.go   |     5 +-
 .../x/tools/go/ast/inspector/inspector.go          |    10 +-
 libgo/go/golang.org/x/tools/go/cfg/cfg.go          |     2 +-
 .../x/tools/go/types/objectpath/objectpath.go      |     5 +-
 .../x/tools/internal/analysisinternal/analysis.go  |   118 +
 libgo/go/golang.org/x/xerrors/fmt.go               |   138 +-
 libgo/go/hash/crc32/crc32_s390x.go                 |     8 +-
 libgo/go/hash/maphash/example_test.go              |    37 +
 libgo/go/hash/maphash/maphash_test.go              |    56 +
 libgo/go/html/template/clone_test.go               |     2 +-
 libgo/go/html/template/content_test.go             |    76 +-
 libgo/go/html/template/escape_test.go              |     8 +-
 libgo/go/html/template/example_test.go             |     6 +-
 libgo/go/html/template/exec_test.go                |  1708 ++
 libgo/go/html/template/html.go                     |     3 +-
 libgo/go/html/template/js.go                       |    70 +-
 libgo/go/html/template/js_test.go                  |    68 +-
 libgo/go/html/template/multi_test.go               |   246 +
 libgo/go/html/template/template_test.go            |    39 +
 libgo/go/html/template/testdata/file1.tmpl         |     2 +
 libgo/go/html/template/testdata/file2.tmpl         |     2 +
 libgo/go/html/template/testdata/tmpl1.tmpl         |     3 +
 libgo/go/html/template/testdata/tmpl2.tmpl         |     3 +
 libgo/go/image/draw/bench_test.go                  |     6 +-
 libgo/go/image/draw/draw.go                        |    22 +-
 libgo/go/image/draw/draw_test.go                   |    32 +-
 libgo/go/image/geom.go                             |    35 +
 libgo/go/image/gif/writer_test.go                  |     7 +-
 libgo/go/image/image.go                            |    96 +-
 libgo/go/image/image_test.go                       |    72 +
 libgo/go/image/jpeg/reader_test.go                 |   170 +
 libgo/go/image/jpeg/scan.go                        |    19 +
 libgo/go/image/names.go                            |     1 +
 libgo/go/image/png/reader.go                       |    15 +-
 libgo/go/image/png/reader_test.go                  |   134 +-
 libgo/go/image/ycbcr.go                            |    20 +
 libgo/go/internal/bytealg/bytealg.go               |   128 +-
 libgo/go/internal/bytealg/gccgo.go                 |     3 -
 libgo/go/internal/bytealg/index_generic.go         |    38 +-
 libgo/go/internal/cfg/cfg.go                       |     1 +
 libgo/go/internal/cpu/cpu.go                       |    56 +-
 libgo/go/internal/cpu/cpu_arm.go                   |     5 +-
 libgo/go/internal/cpu/cpu_arm64.go                 |     4 +-
 libgo/go/internal/cpu/cpu_mips64x.go               |    32 +
 libgo/go/internal/cpu/cpu_no_init.go               |     2 +
 libgo/go/internal/cpu/cpu_ppc64x.go                |     4 +-
 libgo/go/internal/goversion/goversion.go           |     2 +-
 libgo/go/internal/poll/copy_file_range_linux.go    |    99 +
 libgo/go/internal/poll/fd.go                       |    18 +-
 libgo/go/internal/poll/fd_mutex_test.go            |    12 +-
 libgo/go/internal/poll/fd_plan9.go                 |    33 +-
 libgo/go/internal/poll/fd_poll_js.go               |     2 +-
 libgo/go/internal/poll/fd_poll_runtime.go          |    19 +-
 libgo/go/internal/poll/fd_posix.go                 |    20 +
 libgo/go/internal/poll/fd_unix.go                  |    81 +-
 libgo/go/internal/poll/fd_windows.go               |   149 +-
 libgo/go/internal/poll/fd_writev_unix.go           |    13 +-
 libgo/go/internal/poll/sendfile_bsd.go             |     3 +
 libgo/go/internal/poll/sendfile_windows.go         |     2 +-
 libgo/go/internal/poll/splice_linux.go             |     3 +
 libgo/go/internal/poll/writev.go                   |     5 +-
 .../{runtime/pprof => }/internal/profile/encode.go |     0
 .../{runtime/pprof => }/internal/profile/filter.go |     0
 .../pprof => }/internal/profile/legacy_profile.go  |     0
 libgo/go/internal/profile/merge.go                 |   461 +
 libgo/go/internal/profile/profile.go               |   614 +
 .../pprof => }/internal/profile/profile_test.go    |     0
 libgo/go/internal/profile/proto.go                 |   363 +
 .../pprof => }/internal/profile/proto_test.go      |     0
 .../{runtime/pprof => }/internal/profile/prune.go  |     0
 libgo/go/internal/reflectlite/swapper.go           |     7 +-
 libgo/go/internal/reflectlite/value.go             |    18 +-
 .../internal/syscall/unix/copy_file_range_linux.go |    26 +
 libgo/go/internal/syscall/unix/getrandom_linux.go  |     2 +-
 .../internal/syscall/unix/getrandom_linux_386.go   |     9 -
 .../internal/syscall/unix/getrandom_linux_alpha.go |     9 -
 .../internal/syscall/unix/getrandom_linux_amd64.go |     9 -
 .../syscall/unix/getrandom_linux_amd64p32.go       |     9 -
 .../internal/syscall/unix/getrandom_linux_arm.go   |     9 -
 .../syscall/unix/getrandom_linux_generic.go        |    16 -
 .../internal/syscall/unix/getrandom_linux_ia64.go  |     9 -
 .../internal/syscall/unix/getrandom_linux_m68k.go  |     9 -
 .../syscall/unix/getrandom_linux_mips64p32x.go     |    11 -
 .../syscall/unix/getrandom_linux_mips64x.go        |    11 -
 .../internal/syscall/unix/getrandom_linux_mipsx.go |    11 -
 .../syscall/unix/getrandom_linux_ppc64x.go         |    11 -
 .../internal/syscall/unix/getrandom_linux_s390.go  |     9 -
 .../internal/syscall/unix/getrandom_linux_s390x.go |     9 -
 .../internal/syscall/unix/getrandom_linux_shx.go   |    11 -
 .../syscall/unix/getrandom_linux_sparcx.go         |    11 -
 libgo/go/internal/syscall/unix/sysnum_linux_386.go |    10 +
 .../go/internal/syscall/unix/sysnum_linux_alpha.go |    10 +
 .../go/internal/syscall/unix/sysnum_linux_amd64.go |    10 +
 .../internal/syscall/unix/sysnum_linux_amd64p32.go |    10 +
 libgo/go/internal/syscall/unix/sysnum_linux_arm.go |    10 +
 .../internal/syscall/unix/sysnum_linux_generic.go  |    17 +
 .../go/internal/syscall/unix/sysnum_linux_ia64.go  |    10 +
 .../go/internal/syscall/unix/sysnum_linux_m68k.go  |    10 +
 .../syscall/unix/sysnum_linux_mips64p32x.go        |    12 +
 .../internal/syscall/unix/sysnum_linux_mips64x.go  |    12 +
 .../go/internal/syscall/unix/sysnum_linux_mipsx.go |    12 +
 .../internal/syscall/unix/sysnum_linux_ppc64x.go   |    12 +
 .../go/internal/syscall/unix/sysnum_linux_s390.go  |    10 +
 .../go/internal/syscall/unix/sysnum_linux_s390x.go |    10 +
 libgo/go/internal/syscall/unix/sysnum_linux_shx.go |    12 +
 .../internal/syscall/unix/sysnum_linux_sparcx.go   |    12 +
 .../go/internal/syscall/windows/syscall_windows.go |    17 +-
 libgo/go/internal/testenv/testenv.go               |     6 +-
 libgo/go/internal/trace/writer.go                  |     4 +
 libgo/go/internal/unsafeheader/unsafeheader.go     |    37 +
 .../go/internal/unsafeheader/unsafeheader_test.go  |   100 +
 libgo/go/internal/xcoff/file.go                    |     8 +-
 libgo/go/io/example_test.go                        |    47 +-
 libgo/go/io/io.go                                  |     4 +
 libgo/go/io/io_test.go                             |     3 +
 libgo/go/io/ioutil/export_test.go                  |     7 +
 libgo/go/io/ioutil/ioutil.go                       |     2 +-
 libgo/go/io/ioutil/ioutil_test.go                  |     3 +-
 libgo/go/io/ioutil/tempfile.go                     |    19 +-
 libgo/go/io/ioutil/tempfile_test.go                |    82 +-
 libgo/go/log/syslog/syslog_test.go                 |     4 +-
 libgo/go/math/all_test.go                          |     4 +
 libgo/go/math/arith_s390x.go                       |     8 +-
 libgo/go/math/big/arith_decl.go                    |     2 +-
 libgo/go/math/big/arith_decl_pure.go               |     2 +-
 libgo/go/math/big/arith_decl_s390x.go              |    11 +-
 libgo/go/math/big/arith_s390x_test.go              |    12 -
 libgo/go/math/big/float.go                         |     4 +-
 libgo/go/math/big/floatconv.go                     |     2 +-
 libgo/go/math/big/int.go                           |    19 +-
 libgo/go/math/big/int_test.go                      |    54 +
 libgo/go/math/big/link_test.go                     |    63 +
 libgo/go/math/big/nat.go                           |    30 +-
 libgo/go/math/big/nat_test.go                      |    18 +
 libgo/go/math/big/sqrt.go                          |    77 +-
 libgo/go/math/bits/bits_test.go                    |   124 +
 libgo/go/math/cmplx/abs.go                         |     3 +-
 libgo/go/math/cmplx/asin.go                        |    70 +-
 libgo/go/math/cmplx/cmath_test.go                  |   937 +-
 libgo/go/math/cmplx/exp.go                         |    17 +
 libgo/go/math/cmplx/huge_test.go                   |    22 +
 libgo/go/math/cmplx/log.go                         |     3 +-
 libgo/go/math/cmplx/sin.go                         |    52 +
 libgo/go/math/cmplx/sqrt.go                        |     4 +-
 libgo/go/math/cmplx/tan.go                         |   139 +-
 libgo/go/math/example_test.go                      |    19 +
 libgo/go/math/huge_test.go                         |    16 +
 libgo/go/math/trig_reduce.go                       |    16 +-
 libgo/go/mime/type.go                              |     8 +-
 libgo/go/mime/type_test.go                         |    27 +
 libgo/go/net/dial.go                               |     3 +-
 libgo/go/net/dial_test.go                          |    17 +-
 libgo/go/net/dnsclient_test.go                     |     2 +-
 libgo/go/net/dnsclient_unix.go                     |     8 +-
 libgo/go/net/dnsclient_unix_test.go                |    15 +-
 libgo/go/net/error_test.go                         |    10 +-
 libgo/go/net/fd_posix.go                           |   100 +
 libgo/go/net/fd_unix.go                            |    94 +-
 libgo/go/net/fd_windows.go                         |    96 +-
 libgo/go/net/http/cgi/child.go                     |     2 -
 libgo/go/net/http/cgi/host.go                      |    39 +-
 libgo/go/net/http/client.go                        |    21 +-
 libgo/go/net/http/client_test.go                   |    35 +
 libgo/go/net/http/cookie.go                        |    11 +-
 libgo/go/net/http/fs.go                            |    17 +-
 libgo/go/net/http/fs_test.go                       |     9 +
 libgo/go/net/http/h2_bundle.go                     |    75 +-
 libgo/go/net/http/http.go                          |     5 +
 libgo/go/net/http/httptest/recorder.go             |     7 +-
 libgo/go/net/http/httptest/recorder_test.go        |    36 +
 libgo/go/net/http/httputil/reverseproxy.go         |    58 +-
 libgo/go/net/http/httputil/reverseproxy_test.go    |   195 +-
 libgo/go/net/http/omithttp2.go                     |     2 +-
 libgo/go/net/http/pprof/pprof.go                   |   107 +-
 libgo/go/net/http/pprof/pprof_test.go              |   177 +
 libgo/go/net/http/proxy_test.go                    |     2 +-
 libgo/go/net/http/request.go                       |    17 +-
 libgo/go/net/http/response.go                      |     8 +-
 libgo/go/net/http/response_test.go                 |     1 +
 libgo/go/net/http/roundtrip_js.go                  |    35 +-
 libgo/go/net/http/serve_test.go                    |   154 +-
 libgo/go/net/http/server.go                        |    70 +-
 libgo/go/net/http/transfer.go                      |   139 +-
 libgo/go/net/http/transfer_test.go                 |    58 +-
 libgo/go/net/http/transport.go                     |   160 +-
 libgo/go/net/http/transport_test.go                |   130 +-
 libgo/go/net/interface_plan9.go                    |     4 +-
 libgo/go/net/interface_windows.go                  |     2 +-
 libgo/go/net/ip.go                                 |     4 +-
 libgo/go/net/ipsock_plan9.go                       |    80 +-
 libgo/go/net/ipsock_plan9_test.go                  |    29 +
 libgo/go/net/lookup.go                             |    25 +
 libgo/go/net/lookup_test.go                        |    91 +-
 libgo/go/net/lookup_windows.go                     |     8 +-
 libgo/go/net/mail/message.go                       |     9 +
 libgo/go/net/mail/message_test.go                  |    14 +
 libgo/go/net/net.go                                |    75 +-
 libgo/go/net/net_test.go                           |   542 +-
 libgo/go/net/pipe.go                               |    15 +-
 libgo/go/net/platform_test.go                      |     6 +-
 libgo/go/net/rawconn_test.go                       |     8 +-
 libgo/go/net/rpc/client.go                         |     2 +-
 libgo/go/net/rpc/jsonrpc/all_test.go               |     4 +-
 libgo/go/net/sockopt_aix.go                        |     7 +-
 libgo/go/net/sockopt_bsd.go                        |     7 +-
 libgo/go/net/sockopt_linux.go                      |     7 +-
 libgo/go/net/sockopt_solaris.go                    |     7 +-
 libgo/go/net/sockopt_windows.go                    |     6 +-
 libgo/go/net/textproto/pipeline.go                 |    11 +-
 libgo/go/net/textproto/reader.go                   |     4 +-
 libgo/go/net/timeout_test.go                       |    60 +-
 libgo/go/net/unixsock_test.go                      |     4 +-
 libgo/go/net/url/url.go                            |    83 +-
 libgo/go/net/url/url_test.go                       |    99 +-
 libgo/go/os/error.go                               |    20 +-
 libgo/go/os/exec/exec_linux_test.go                |    45 +
 libgo/go/os/exec/exec_test.go                      |   106 +-
 libgo/go/os/exec/read3.go                          |    99 +
 libgo/go/os/exec_unix.go                           |    15 +-
 libgo/go/os/exec_windows.go                        |     2 +-
 libgo/go/os/export_linux_test.go                   |     7 +
 libgo/go/os/file.go                                |    34 +-
 libgo/go/os/file_plan9.go                          |    16 +-
 libgo/go/os/file_posix.go                          |    45 +
 libgo/go/os/file_unix.go                           |    75 +-
 libgo/go/os/issue37161/a                           |     1 +
 libgo/go/os/issue37161/b                           |     1 +
 libgo/go/os/issue37161/c                           |     1 +
 libgo/go/os/os_test.go                             |   136 +-
 libgo/go/os/os_unix_test.go                        |     2 +-
 libgo/go/os/os_windows_test.go                     |   119 +-
 libgo/go/os/path_test.go                           |     4 +-
 libgo/go/os/pipe_test.go                           |    19 +
 libgo/go/os/readfrom_linux.go                      |    46 +
 libgo/go/os/readfrom_linux_test.go                 |   363 +
 libgo/go/os/readfrom_stub.go                       |    13 +
 libgo/go/os/removeall_at.go                        |     3 +-
 libgo/go/os/signal/internal/pty/pty.go             |     8 +-
 libgo/go/os/signal/signal.go                       |    14 +-
 libgo/go/os/signal/signal_cgo_test.go              |    46 +-
 libgo/go/os/signal/signal_plan9.go                 |     4 +-
 libgo/go/os/signal/signal_test.go                  |   427 +-
 libgo/go/os/signal/signal_unix.go                  |     2 -
 libgo/go/os/testdata/issue37161/a                  |     1 +
 libgo/go/os/testdata/issue37161/b                  |     1 +
 libgo/go/os/testdata/issue37161/c                  |     1 +
 libgo/go/os/timeout_test.go                        |    31 +-
 libgo/go/os/user/lookup_windows.go                 |     4 +-
 libgo/go/os/wait_wait6.go                          |    23 +-
 libgo/go/os/wait_waitid.go                         |    12 +-
 libgo/go/path/filepath/match.go                    |     6 +-
 libgo/go/path/filepath/path_test.go                |    16 +-
 libgo/go/reflect/all_test.go                       |   329 +-
 libgo/go/reflect/deepequal.go                      |    16 +-
 libgo/go/reflect/swapper.go                        |     7 +-
 libgo/go/reflect/type.go                           |     1 +
 libgo/go/reflect/value.go                          |   119 +-
 libgo/go/regexp/all_test.go                        |    42 +-
 libgo/go/regexp/example_test.go                    |    13 +
 libgo/go/regexp/regexp.go                          |    18 +
 libgo/go/regexp/syntax/compile.go                  |    68 +-
 libgo/go/regexp/syntax/parse.go                    |    16 +-
 libgo/go/runtime/alg.go                            |    10 +-
 libgo/go/runtime/callers_test.go                   |     2 +
 libgo/go/runtime/cgocheck.go                       |    13 +-
 libgo/go/runtime/chan.go                           |    80 +-
 libgo/go/runtime/chan_test.go                      |    14 +
 libgo/go/runtime/checkptr.go                       |     8 +-
 libgo/go/runtime/checkptr_test.go                  |     8 +-
 libgo/go/runtime/conv_wasm_test.go                 |   128 +
 libgo/go/runtime/crash_cgo_test.go                 |    53 +-
 libgo/go/runtime/crash_test.go                     |    14 +-
 libgo/go/runtime/crash_unix_test.go                |     7 +
 libgo/go/runtime/debug.go                          |     4 +-
 libgo/go/runtime/debug/mod.go                      |    51 +-
 libgo/go/runtime/debuglog.go                       |    21 +-
 libgo/go/runtime/defer_test.go                     |    27 +-
 libgo/go/runtime/env_posix.go                      |     2 +-
 libgo/go/runtime/env_test.go                       |     4 -
 libgo/go/runtime/eqtype.go                         |    21 +
 libgo/go/runtime/eqtype_aix_gccgo.go               |    32 +
 libgo/go/runtime/error.go                          |    51 +-
 libgo/go/runtime/export_debug_test.go              |    12 +-
 libgo/go/runtime/export_test.go                    |    34 +-
 libgo/go/runtime/extern.go                         |    15 +-
 libgo/go/runtime/gc_test.go                        |   117 +
 libgo/go/runtime/hash_test.go                      |     8 +-
 libgo/go/runtime/iface.go                          |    17 +-
 libgo/go/runtime/iface_test.go                     |    66 +-
 libgo/go/runtime/lock_futex.go                     |    12 +-
 libgo/go/runtime/lock_js.go                        |    19 +-
 libgo/go/runtime/lock_sema.go                      |    14 +-
 libgo/go/runtime/lockrank.go                       |   254 +
 libgo/go/runtime/lockrank_off.go                   |    36 +
 libgo/go/runtime/lockrank_on.go                    |   214 +
 libgo/go/runtime/malloc.go                         |    86 +-
 libgo/go/runtime/map.go                            |     2 +-
 libgo/go/runtime/map_benchmark_test.go             |    19 +
 libgo/go/runtime/mbarrier.go                       |    56 +-
 libgo/go/runtime/mbitmap.go                        |    60 +-
 libgo/go/runtime/mcache.go                         |     6 +-
 libgo/go/runtime/mcentral.go                       |   259 +-
 libgo/go/runtime/mgc.go                            |    43 +-
 libgo/go/runtime/mgcmark.go                        |   155 +-
 libgo/go/runtime/mgcscavenge.go                    |   411 +-
 libgo/go/runtime/mgcscavenge_test.go               |     6 +-
 libgo/go/runtime/mgcsweep.go                       |   433 +-
 libgo/go/runtime/mgcsweepbuf.go                    |     2 +-
 libgo/go/runtime/mgcwork.go                        |     8 +
 libgo/go/runtime/mheap.go                          |   192 +-
 libgo/go/runtime/mkpreempt.go                      |    29 +-
 libgo/go/runtime/mpagealloc.go                     |   224 +-
 libgo/go/runtime/mpagealloc_64bit.go               |    12 +-
 libgo/go/runtime/mpagealloc_test.go                |    57 +
 libgo/go/runtime/mpagecache.go                     |    25 +-
 libgo/go/runtime/mpagecache_test.go                |    33 +-
 libgo/go/runtime/mprof.go                          |    41 +-
 libgo/go/runtime/mranges.go                        |   205 +-
 libgo/go/runtime/msize.go                          |     4 +-
 libgo/go/runtime/mspanset.go                       |   358 +
 libgo/go/runtime/mstats.go                         |    11 +-
 libgo/go/runtime/mwbbuf.go                         |     7 +
 libgo/go/runtime/netpoll.go                        |    64 +-
 libgo/go/runtime/netpoll_aix.go                    |    15 +-
 libgo/go/runtime/netpoll_epoll.go                  |    36 +-
 libgo/go/runtime/netpoll_kqueue.go                 |    32 +-
 libgo/go/runtime/netpoll_os_test.go                |    28 +
 libgo/go/runtime/netpoll_solaris.go                |    30 +-
 libgo/go/runtime/netpoll_stub.go                   |     3 +
 libgo/go/runtime/netpoll_windows.go                |   103 +-
 libgo/go/runtime/os_linux.go                       |     7 +-
 libgo/go/runtime/os_linux_mips64x.go               |     6 +
 libgo/go/runtime/panic_test.go                     |    48 +
 libgo/go/runtime/pprof/internal/profile/profile.go |   577 -
 libgo/go/runtime/pprof/internal/profile/proto.go   |   360 -
 libgo/go/runtime/pprof/label.go                    |    23 +-
 libgo/go/runtime/pprof/label_test.go               |    32 +
 libgo/go/runtime/pprof/mprof_test.go               |     2 +-
 libgo/go/runtime/pprof/pprof.go                    |    64 +-
 libgo/go/runtime/pprof/pprof_norusage.go           |    15 +
 libgo/go/runtime/pprof/pprof_rusage.go             |    31 +
 libgo/go/runtime/pprof/pprof_test.go               |   247 +-
 libgo/go/runtime/pprof/proto.go                    |     2 +-
 libgo/go/runtime/pprof/proto_test.go               |     2 +-
 libgo/go/runtime/pprof/protomem_test.go            |     2 +-
 libgo/go/runtime/preempt.go                        |    22 +-
 libgo/go/runtime/print.go                          |    54 +
 libgo/go/runtime/proc.go                           |   345 +-
 libgo/go/runtime/proc_test.go                      |    49 +
 libgo/go/runtime/runtime1.go                       |     5 -
 libgo/go/runtime/runtime2.go                       |    48 +-
 libgo/go/runtime/rwmutex.go                        |    10 +-
 libgo/go/runtime/select.go                         |     7 +-
 libgo/go/runtime/sema.go                           |    10 +-
 libgo/go/runtime/sema_test.go                      |     8 +-
 libgo/go/runtime/signal_unix.go                    |    62 +-
 libgo/go/runtime/signal_windows_test.go            |    91 +
 libgo/go/runtime/sigqueue.go                       |     9 +-
 libgo/go/runtime/sizeof_test.go                    |     3 +-
 libgo/go/runtime/slice.go                          |    87 +-
 libgo/go/runtime/slice_test.go                     |    78 +
 libgo/go/runtime/string.go                         |    58 +-
 libgo/go/runtime/string_test.go                    |     4 +-
 libgo/go/runtime/stubs.go                          |     2 +-
 libgo/go/runtime/symtab.go                         |     4 +-
 libgo/go/runtime/testdata/testprog/gc.go           |    52 +-
 libgo/go/runtime/testdata/testprog/lockosthread.go |    49 +
 .../go/runtime/testdata/testprog/numcpu_freebsd.go |     8 +-
 libgo/go/runtime/testdata/testprog/panicprint.go   |   111 +
 libgo/go/runtime/testdata/testprogcgo/eintr.go     |   246 +
 libgo/go/runtime/testdata/testprogcgo/segv.go      |    56 +
 .../go/runtime/testdata/testwinlibsignal/dummy.go  |    10 +
 libgo/go/runtime/time.go                           |    37 +-
 libgo/go/runtime/trace.go                          |    30 +-
 libgo/go/runtime/trace/trace.go                    |     2 +-
 libgo/go/runtime/trace/trace_stack_test.go         |     2 +
 libgo/go/runtime/type.go                           |    19 +-
 libgo/go/strconv/atoc.go                           |   105 +
 libgo/go/strconv/atoc_test.go                      |   202 +
 libgo/go/strconv/atof.go                           |   156 +-
 libgo/go/strconv/atof_test.go                      |    22 +
 libgo/go/strconv/atoi.go                           |     6 +-
 libgo/go/strconv/ctoa.go                           |    27 +
 libgo/go/strconv/extfloat.go                       |    24 +-
 libgo/go/strconv/internal_test.go                  |     4 +
 libgo/go/strconv/quote_test.go                     |    66 +-
 libgo/go/strings/strings.go                        |   157 +-
 libgo/go/strings/strings_test.go                   |    58 +-
 libgo/go/sync/atomic/atomic_test.go                |    68 +-
 libgo/go/sync/atomic/doc.go                        |     5 -
 libgo/go/sync/atomic/value_test.go                 |     8 +-
 libgo/go/sync/map.go                               |    25 +-
 libgo/go/sync/map_bench_test.go                    |    74 +
 libgo/go/sync/map_reference_test.go                |    23 +
 libgo/go/sync/map_test.go                          |    13 +-
 libgo/go/sync/runtime.go                           |    10 -
 libgo/go/sync/runtime2.go                          |    19 +
 libgo/go/sync/runtime2_lockrank.go                 |    22 +
 libgo/go/sync/rwmutex_test.go                      |     2 +
 libgo/go/syscall/env_plan9.go                      |   122 -
 libgo/go/syscall/env_unix.go                       |    16 +-
 libgo/go/syscall/exec_bsd.go                       |    23 +-
 libgo/go/syscall/exec_darwin.go                    |    23 +-
 libgo/go/syscall/exec_linux.go                     |    47 +-
 libgo/go/syscall/exec_unix.go                      |    20 +-
 libgo/go/syscall/exec_unix_test.go                 |    28 +
 libgo/go/syscall/fs_js.go                          |    10 +-
 libgo/go/syscall/js/func.go                        |    26 +-
 libgo/go/syscall/js/js.go                          |    12 +-
 libgo/go/syscall/js/js_test.go                     |    11 +
 libgo/go/syscall/security_windows.go               |     2 +-
 libgo/go/syscall/syscall_unix.go                   |    16 +-
 libgo/go/syscall/syscall_unix_test.go              |     2 +-
 libgo/go/testing/benchmark.go                      |     3 +
 libgo/go/testing/helper_test.go                    |     2 +
 libgo/go/testing/helperfuncs_test.go               |    11 +
 libgo/go/testing/sub_test.go                       |   126 +-
 libgo/go/testing/testing.go                        |   256 +-
 libgo/go/testing/testing_test.go                   |    62 +
 libgo/go/text/template/exec_test.go                |     6 +-
 libgo/go/text/template/funcs.go                    |   217 +-
 libgo/go/text/template/link_test.go                |    64 +
 libgo/go/text/template/multi_test.go               |     3 +-
 libgo/go/text/template/parse/node.go               |     2 +-
 libgo/go/text/template/template.go                 |     2 +-
 libgo/go/time/embed.go                             |    12 +
 libgo/go/time/example_test.go                      |   113 +-
 libgo/go/time/export_test.go                       |    35 +
 libgo/go/time/format.go                            |    24 +-
 libgo/go/time/format_test.go                       |    20 +-
 libgo/go/time/internal_test.go                     |    13 +-
 libgo/go/time/sleep.go                             |     7 +-
 libgo/go/time/tick.go                              |     9 +
 libgo/go/time/tick_test.go                         |    36 +-
 libgo/go/time/time.go                              |   153 +-
 libgo/go/time/time_test.go                         |   149 +-
 libgo/go/time/tzdata/generate_zipdata.go           |    78 +
 libgo/go/time/tzdata/tzdata.go                     |   109 +
 libgo/go/time/tzdata/zipdata.go                    | 13060 +++++++++++++
 libgo/go/time/tzdata_test.go                       |    99 +
 libgo/go/time/zoneinfo.go                          |   348 +
 libgo/go/time/zoneinfo_ios.go                      |     2 +-
 libgo/go/time/zoneinfo_read.go                     |    40 +-
 libgo/go/time/zoneinfo_test.go                     |    94 +
 libgo/go/time/zoneinfo_unix.go                     |     4 +-
 libgo/go/unicode/utf8/utf8.go                      |    28 +
 libgo/gotool-packages.txt                          |     3 +
 libgo/libgo-packages.txt                           |     4 +-
 libgo/misc/cgo/test/pkg_test.go                    |     2 +-
 libgo/misc/cgo/test/sigaltstack.go                 |    15 +-
 libgo/misc/cgo/test/test.go                        |    25 +
 libgo/misc/cgo/test/testdata/issue27054/egl.h      |     1 +
 .../misc/cgo/test/testdata/issue27054/test27054.go |     6 +-
 libgo/misc/cgo/test/testx.go                       |    12 +-
 libgo/misc/cgo/testcarchive/carchive_test.go       |     8 +-
 libgo/misc/cgo/testcshared/cshared_test.go         |     2 +-
 libgo/misc/cgo/testgodefs/testdata/issue38649.go   |    15 +
 libgo/misc/cgo/testgodefs/testdata/issue39534.go   |    12 +
 libgo/misc/cgo/testgodefs/testdata/main.go         |     3 +
 libgo/misc/cgo/testgodefs/testgodefs_test.go       |     2 +
 libgo/misc/cgo/testplugin/plugin_test.go           |     2 +-
 libgo/misc/cgo/testshared/shared_test.go           |    43 +-
 .../cgo/testshared/testdata/gcdata/main/main.go    |    37 +
 libgo/misc/cgo/testshared/testdata/gcdata/p/p.go   |     7 +
 .../misc/cgo/testshared/testdata/issue39777/a/a.go |     9 +
 .../misc/cgo/testshared/testdata/issue39777/b/b.go |     7 +
 libgo/misc/cgo/testso/so_test.go                   |     6 +-
 libgo/misc/cgo/testsovar/so_test.go                |     6 +-
 libgo/testsuite/Makefile.in                        |     1 +
 libgomp/ChangeLog                                  |   345 +
 libgomp/Makefile.in                                |   282 +-
 libgomp/aclocal.m4                                 |   189 +-
 libgomp/allocator.c                                |    13 +-
 libgomp/config.h.in                                |     3 -
 libgomp/config/t-aix                               |     2 +-
 libgomp/configure                                  |   305 +-
 libgomp/configure.ac                               |    15 +
 libgomp/fortran.c                                  |    38 +
 libgomp/icv.c                                      |     2 +
 libgomp/libgomp.h                                  |    12 +-
 libgomp/libgomp.map                                |     5 +
 libgomp/libgomp.texi                               |    11 +
 libgomp/libgomp_f.h.in                             |     7 +-
 libgomp/oacc-init.c                                |    38 +
 libgomp/oacc-mem.c                                 |   394 +-
 libgomp/omp.h.in                                   |     8 +-
 libgomp/omp_lib.f90.in                             |   166 +-
 libgomp/omp_lib.h.in                               |   121 +-
 libgomp/plugin/Makefrag.am                         |    14 -
 libgomp/plugin/configfrag.ac                       |    56 +-
 libgomp/plugin/hsa_ext_finalize.h                  |   270 -
 libgomp/plugin/plugin-hsa.c                        |  1871 --
 libgomp/target.c                                   |    63 +-
 libgomp/testsuite/Makefile.in                      |    15 +-
 libgomp/testsuite/lib/libgomp.exp                  |    60 -
 libgomp/testsuite/libgomp.c-c++-common/alloc-2.c   |     4 +-
 .../libgomp.c-c++-common/critical-hint-1.c         |    49 +
 .../libgomp.c-c++-common/critical-hint-2.c         |    37 +
 libgomp/testsuite/libgomp.c-c++-common/for-14.c    |    53 +-
 libgomp/testsuite/libgomp.c-c++-common/for-2.h     |    36 +
 .../testsuite/libgomp.c-c++-common/reduction-16.c  |    53 +
 libgomp/testsuite/libgomp.c/loop-19.c              |    86 +
 libgomp/testsuite/libgomp.c/loop-20.c              |    84 +
 libgomp/testsuite/libgomp.c/loop-21.c              |   230 +
 libgomp/testsuite/libgomp.c/loop-22.c              |   424 +
 libgomp/testsuite/libgomp.c/loop-23.c              |   424 +
 libgomp/testsuite/libgomp.c/loop-24.c              |   424 +
 libgomp/testsuite/libgomp.c/pr95620.c              |    18 +
 libgomp/testsuite/libgomp.c/teams-3.c              |    20 +
 libgomp/testsuite/libgomp.fortran/alloc-1.F90      |   174 +
 libgomp/testsuite/libgomp.fortran/alloc-2.F90      |     3 +
 libgomp/testsuite/libgomp.fortran/alloc-3.F        |     3 +
 libgomp/testsuite/libgomp.fortran/alloc-4.f90      |    71 +
 libgomp/testsuite/libgomp.fortran/alloc-5.f90      |    23 +
 .../testsuite/libgomp.fortran/critical-hint-1.f90  |    96 +
 .../testsuite/libgomp.fortran/critical-hint-2.f90  |    66 +
 libgomp/testsuite/libgomp.fortran/pr93553.f90      |    21 +
 .../libgomp.fortran/struct-elem-map-1.f90          |   411 +
 libgomp/testsuite/libgomp.fortran/target-map-1.f90 |    41 +
 libgomp/testsuite/libgomp.hsa.c/alloca-1.c         |    25 -
 libgomp/testsuite/libgomp.hsa.c/bitfield-1.c       |   160 -
 libgomp/testsuite/libgomp.hsa.c/bits-insns.c       |    73 -
 libgomp/testsuite/libgomp.hsa.c/builtins-1.c       |    97 -
 libgomp/testsuite/libgomp.hsa.c/c.exp              |    42 -
 libgomp/testsuite/libgomp.hsa.c/complex-1.c        |    65 -
 libgomp/testsuite/libgomp.hsa.c/complex-align-2.c  |    27 -
 .../testsuite/libgomp.hsa.c/formal-actual-args-1.c |    83 -
 libgomp/testsuite/libgomp.hsa.c/function-call-1.c  |    50 -
 libgomp/testsuite/libgomp.hsa.c/get-level-1.c      |    26 -
 libgomp/testsuite/libgomp.hsa.c/gridify-1.c        |    26 -
 libgomp/testsuite/libgomp.hsa.c/gridify-2.c        |    26 -
 libgomp/testsuite/libgomp.hsa.c/gridify-3.c        |    39 -
 libgomp/testsuite/libgomp.hsa.c/gridify-4.c        |    45 -
 .../testsuite/libgomp.hsa.c/memory-operations-1.c  |    92 -
 libgomp/testsuite/libgomp.hsa.c/pr69568.c          |    41 -
 libgomp/testsuite/libgomp.hsa.c/pr82416.c          |    43 -
 libgomp/testsuite/libgomp.hsa.c/rotate-1.c         |    39 -
 libgomp/testsuite/libgomp.hsa.c/staticvar.c        |    23 -
 libgomp/testsuite/libgomp.hsa.c/switch-1.c         |   145 -
 libgomp/testsuite/libgomp.hsa.c/switch-branch-1.c  |   116 -
 libgomp/testsuite/libgomp.hsa.c/switch-sbr-2.c     |    59 -
 libgomp/testsuite/libgomp.hsa.c/tiling-1.c         |   212 -
 libgomp/testsuite/libgomp.hsa.c/tiling-2.c         |   258 -
 libgomp/testsuite/libgomp.oacc-c++/c++.exp         |     1 +
 .../libgomp.oacc-c-c++-common/acc_prof-init-2.c    |    80 +
 .../libgomp.oacc-c-c++-common/mdc-refcount-1.c     |    60 +
 .../libgomp.oacc-c-c++-common/mdc-refcount-2.c     |   123 +
 .../libgomp.oacc-c-c++-common/mdc-refcount-3.c     |    86 +
 .../libgomp.oacc-c-c++-common/pr85381-2.c          |     4 +-
 .../libgomp.oacc-c-c++-common/pr85381-3.c          |     4 +-
 .../libgomp.oacc-c-c++-common/pr85381-4.c          |     4 +-
 .../libgomp.oacc-c-c++-common/pr85381-5.c          |     4 +-
 .../testsuite/libgomp.oacc-c-c++-common/pr85381.c  |     4 +-
 .../libgomp.oacc-c-c++-common/pr92843-1.c          |     1 -
 .../libgomp.oacc-c-c++-common/pr95270-1.c          |    46 +
 .../libgomp.oacc-c-c++-common/pr95270-2.c          |    48 +
 .../libgomp.oacc-c-c++-common/refcounting-1.c      |    31 +
 .../libgomp.oacc-c-c++-common/refcounting-2.c      |    31 +
 .../libgomp.oacc-c-c++-common/struct-3-1-1.c       |    34 +
 .../structured-detach-underflow.c                  |    28 +
 .../structured-dynamic-lifetimes-4.c               |     2 -
 libgomp/testsuite/libgomp.oacc-c/c.exp             |     1 +
 .../libgomp.oacc-fortran/attach-descriptor-1.f90   |   124 +
 .../libgomp.oacc-fortran/attach-descriptor-2.f90   |    18 +
 .../deep-copy-6-no_finalize.F90                    |    10 +-
 .../testsuite/libgomp.oacc-fortran/deep-copy-6.f90 |    16 +-
 .../dynamic-incr-structural-1.f90                  |    49 +
 .../libgomp.oacc-fortran/dynamic-pointer-1.f90     |    97 +
 libgomp/testsuite/libgomp.oacc-fortran/fortran.exp |     1 +
 .../libgomp.oacc-fortran/mdc-refcount-1-1-1.f90    |     8 -
 .../libgomp.oacc-fortran/mdc-refcount-1-1-2.F90    |     5 +-
 .../libgomp.oacc-fortran/mdc-refcount-1-2-1.f90    |     8 -
 .../libgomp.oacc-fortran/mdc-refcount-1-2-2.f90    |     8 -
 .../libgomp.oacc-fortran/mdc-refcount-1-3-1.f90    |     8 -
 .../libgomp.oacc-fortran/mdc-refcount-1-4-1.f90    |     7 +-
 .../libgomp.oacc-fortran/pr96628-part1.f90         |    20 +
 .../libgomp.oacc-fortran/pr96628-part2.f90         |    37 +
 libiberty/ChangeLog                                |    27 +
 libiberty/configure                                |    21 +-
 libiberty/cp-demangle.c                            |    80 +-
 libiberty/simple-object-elf.c                      |     5 +
 libiberty/testsuite/demangle-expected              |    23 +-
 libitm/ChangeLog                                   |    13 +
 libitm/config/aarch64/sjlj.S                       |    79 +-
 libsanitizer/ChangeLog                             |     5 +
 libsanitizer/sanitizer_common/sanitizer_linux.cpp  |     6 +-
 libstdc++-v3/ChangeLog                             |  1290 ++
 libstdc++-v3/acinclude.m4                          |   431 +-
 libstdc++-v3/config.h.in                           |     6 +
 libstdc++-v3/config/abi/pre/gnu.ver                |    29 +-
 libstdc++-v3/config/os/aix/t-aix                   |     2 +-
 libstdc++-v3/config/os/gnu-linux/ldbl-extra.ver    |     4 +
 libstdc++-v3/configure                             |   395 +-
 libstdc++-v3/configure.ac                          |     5 +
 libstdc++-v3/crossconfig.m4                        |     6 +
 libstdc++-v3/doc/html/manual/status.html           |     2 +-
 libstdc++-v3/doc/html/manual/using_exceptions.html |     2 +-
 libstdc++-v3/doc/xml/manual/status_cxx2017.xml     |     2 +-
 libstdc++-v3/doc/xml/manual/status_cxx2020.xml     |     3 +-
 libstdc++-v3/doc/xml/manual/using_exceptions.xml   |     2 +-
 libstdc++-v3/include/Makefile.am                   |     1 -
 libstdc++-v3/include/Makefile.in                   |     1 -
 libstdc++-v3/include/bits/basic_string.h           |    69 +-
 libstdc++-v3/include/bits/basic_string.tcc         |   123 +-
 libstdc++-v3/include/bits/forward_list.tcc         |    65 +-
 libstdc++-v3/include/bits/fs_dir.h                 |     2 +-
 libstdc++-v3/include/bits/hashtable.h              |   296 +-
 libstdc++-v3/include/bits/hashtable_policy.h       |   185 +-
 libstdc++-v3/include/bits/int_limits.h             |    74 -
 libstdc++-v3/include/bits/istream.tcc              |    74 +-
 libstdc++-v3/include/bits/iterator_concepts.h      |     8 +-
 libstdc++-v3/include/bits/list.tcc                 |    70 +-
 libstdc++-v3/include/bits/localefwd.h              |     4 +-
 libstdc++-v3/include/bits/parse_numbers.h          |     4 +-
 libstdc++-v3/include/bits/range_access.h           |     8 +-
 libstdc++-v3/include/bits/regex.h                  |     7 +-
 libstdc++-v3/include/bits/stl_bvector.h            |   140 +-
 libstdc++-v3/include/bits/stl_deque.h              |     3 +
 libstdc++-v3/include/bits/stl_iterator.h           |    62 +-
 libstdc++-v3/include/bits/stl_list.h               |     2 +-
 libstdc++-v3/include/bits/stl_map.h                |     2 +-
 libstdc++-v3/include/bits/stl_multimap.h           |     2 +-
 libstdc++-v3/include/bits/stl_multiset.h           |     2 +-
 libstdc++-v3/include/bits/stl_set.h                |     2 +-
 libstdc++-v3/include/bits/stl_tree.h               |     4 +-
 libstdc++-v3/include/bits/unordered_map.h          |     2 +
 libstdc++-v3/include/bits/unordered_set.h          |     2 +
 libstdc++-v3/include/debug/bitset                  |     6 +-
 libstdc++-v3/include/debug/formatter.h             |     2 +-
 libstdc++-v3/include/debug/forward_list            |    82 +-
 libstdc++-v3/include/debug/list                    |    91 +-
 libstdc++-v3/include/debug/macros.h                |     6 -
 libstdc++-v3/include/debug/safe_container.h        |     9 +-
 libstdc++-v3/include/debug/safe_iterator.h         |     6 +-
 libstdc++-v3/include/debug/safe_local_iterator.h   |     6 +-
 libstdc++-v3/include/debug/unordered_map           |    22 +-
 libstdc++-v3/include/debug/unordered_set           |    30 +-
 libstdc++-v3/include/experimental/executor         |    69 +-
 libstdc++-v3/include/experimental/io_context       |    53 +-
 libstdc++-v3/include/ext/numeric_traits.h          |    10 +
 libstdc++-v3/include/std/atomic                    |     8 +-
 libstdc++-v3/include/std/bit                       |    60 +-
 libstdc++-v3/include/std/charconv                  |    28 +-
 libstdc++-v3/include/std/complex                   |    12 +-
 libstdc++-v3/include/std/coroutine                 |    12 +-
 libstdc++-v3/include/std/functional                |     4 +-
 libstdc++-v3/include/std/future                    |   122 +-
 libstdc++-v3/include/std/istream                   |    85 +-
 libstdc++-v3/include/std/limits                    |   292 +-
 libstdc++-v3/include/std/memory_resource           |     6 +-
 libstdc++-v3/include/std/optional                  |   265 +-
 libstdc++-v3/include/std/stop_token                |    10 +-
 libstdc++-v3/include/std/streambuf                 |     4 +-
 libstdc++-v3/include/std/string_view               |    10 +-
 libstdc++-v3/include/std/system_error              |     6 +-
 libstdc++-v3/include/std/thread                    |    63 +-
 libstdc++-v3/include/std/tuple                     |    57 +-
 libstdc++-v3/include/std/type_traits               |    11 +-
 libstdc++-v3/include/std/utility                   |    12 +-
 libstdc++-v3/include/std/valarray                  |     2 +-
 libstdc++-v3/include/std/variant                   |    15 +-
 libstdc++-v3/python/libstdcxx/v6/printers.py       |    11 +-
 libstdc++-v3/src/c++11/istream-inst.cc             |     9 +
 libstdc++-v3/src/c++11/thread.cc                   |    33 +-
 libstdc++-v3/src/c++17/Makefile.am                 |     1 +
 libstdc++-v3/src/c++17/Makefile.in                 |     5 +-
 libstdc++-v3/src/c++17/floating_from_chars.cc      |   438 +
 libstdc++-v3/src/c++17/fs_ops.cc                   |     8 +-
 libstdc++-v3/src/c++98/compatibility.cc            |    32 +-
 libstdc++-v3/src/c++98/istream-string.cc           |     2 +-
 libstdc++-v3/src/c++98/istream.cc                  |    71 +-
 libstdc++-v3/src/filesystem/ops-common.h           |     6 +-
 libstdc++-v3/src/filesystem/ops.cc                 |     8 +-
 .../17_intro/headers/c++1998/all_attributes.cc     |     2 +
 .../17_intro/headers/c++2011/all_attributes.cc     |     2 +
 .../17_intro/headers/c++2014/all_attributes.cc     |     2 +
 .../17_intro/headers/c++2017/all_attributes.cc     |     4 +-
 .../17_intro/headers/c++2017/all_no_exceptions.cc  |     2 +-
 .../17_intro/headers/c++2017/all_no_rtti.cc        |     2 +-
 .../headers/c++2017/all_pedantic_errors.cc         |     2 +-
 .../17_intro/headers/c++2017/operator_names.cc     |     2 +-
 .../testsuite/17_intro/headers/c++2017/stdc++.cc   |     2 +-
 .../headers/c++2017/stdc++_multiple_inclusion.cc   |     2 +-
 .../17_intro/headers/c++2020/all_attributes.cc     |     2 +
 .../comparisons/algorithms/partial_order.cc        |    56 +-
 .../comparisons/algorithms/weak_order.cc           |    62 +-
 .../18_support/headers/cstdalign/std_c++0x_neg.cc  |     2 +-
 .../18_support/headers/cstdbool/std_c++0x_neg.cc   |     2 +-
 .../18_support/headers/cstdint/std_c++0x_neg.cc    |     2 +-
 .../18_support/headers/new/synopsis_cxx98.cc       |     2 +-
 libstdc++-v3/testsuite/18_support/set_terminate.cc |     2 +-
 .../uncaught_exceptions/uncaught_exceptions.cc     |     1 +
 .../19_diagnostics/error_code/is_error_code_v.cc   |     2 +-
 .../headers/system_error/std_c++0x_neg.cc          |     2 +-
 libstdc++-v3/testsuite/20_util/any/assign/1.cc     |     2 +-
 libstdc++-v3/testsuite/20_util/any/assign/2.cc     |     2 +-
 .../testsuite/20_util/any/assign/emplace.cc        |     2 +-
 .../testsuite/20_util/any/assign/exception.cc      |     2 +-
 libstdc++-v3/testsuite/20_util/any/assign/self.cc  |     1 +
 libstdc++-v3/testsuite/20_util/any/cons/1.cc       |     2 +-
 libstdc++-v3/testsuite/20_util/any/cons/2.cc       |     2 +-
 libstdc++-v3/testsuite/20_util/any/cons/aligned.cc |     1 +
 .../testsuite/20_util/any/cons/explicit.cc         |     2 +-
 .../testsuite/20_util/any/cons/in_place.cc         |     2 +-
 .../testsuite/20_util/any/cons/nontrivial.cc       |     1 +
 libstdc++-v3/testsuite/20_util/any/make_any.cc     |     2 +-
 .../testsuite/20_util/any/misc/any_cast.cc         |     2 +-
 .../testsuite/20_util/any/misc/any_cast_no_rtti.cc |     2 +-
 libstdc++-v3/testsuite/20_util/any/misc/swap.cc    |     2 +-
 libstdc++-v3/testsuite/20_util/any/modifiers/1.cc  |     2 +-
 .../testsuite/20_util/any/observers/type.cc        |     2 +-
 libstdc++-v3/testsuite/20_util/any/requirements.cc |     2 +-
 libstdc++-v3/testsuite/20_util/any/typedefs.cc     |     2 +-
 libstdc++-v3/testsuite/20_util/as_const/1.cc       |     2 +-
 .../testsuite/20_util/as_const/rvalue_neg.cc       |     2 +-
 libstdc++-v3/testsuite/20_util/assume_aligned/3.cc |     2 +-
 .../testsuite/20_util/bind/is_placeholder_v.cc     |     2 +-
 .../20_util/bool_constant/requirements.cc          |     2 +-
 .../requirements/treat_as_floating_point_v.cc      |     2 +-
 .../testsuite/20_util/duration_cast/rounding.cc    |     2 +-
 .../members/weak_from_this.cc                      |     1 +
 .../testsuite/20_util/from_chars/1_c++20_neg.cc    |     1 +
 libstdc++-v3/testsuite/20_util/from_chars/1_neg.cc |     1 +
 libstdc++-v3/testsuite/20_util/from_chars/2.cc     |    11 +
 libstdc++-v3/testsuite/20_util/from_chars/4.cc     |   374 +
 libstdc++-v3/testsuite/20_util/from_chars/5.cc     |   169 +
 libstdc++-v3/testsuite/20_util/from_chars/6.cc     |    49 +
 .../20_util/function_objects/invoke/59768.cc       |     2 +-
 .../testsuite/20_util/function_objects/not_fn/1.cc |     1 +
 .../20_util/function_objects/searchers.cc          |     1 +
 .../20_util/headers/type_traits/std_c++0x_neg.cc   |     2 +-
 .../testsuite/20_util/in_place/requirements.cc     |     2 +-
 .../testsuite/20_util/is_aggregate/value.cc        |    15 +-
 .../requirements/explicit_instantiation.cc         |     2 +-
 .../20_util/is_invocable/requirements/typedefs.cc  |     2 +-
 .../testsuite/20_util/is_invocable/value.cc        |     2 +-
 .../20_util/is_literal_type/deprecated-1z.cc       |    26 +
 .../requirements/explicit_instantiation.cc         |     1 +
 .../is_literal_type/requirements/typedefs.cc       |     1 +
 .../testsuite/20_util/is_literal_type/value.cc     |     1 +
 .../requirements/explicit_instantiation.cc         |     2 +-
 .../is_nothrow_invocable/requirements/typedefs.cc  |     2 +-
 .../requirements/explicit_instantiation.cc         |     2 +-
 .../is_nothrow_swappable/requirements/typedefs.cc  |     2 +-
 .../20_util/is_nothrow_swappable/value.cc          |     2 +-
 .../requirements/explicit_instantiation.cc         |     2 +-
 .../requirements/typedefs.cc                       |     2 +-
 .../20_util/is_nothrow_swappable_with/value.cc     |     2 +-
 .../requirements/explicit_instantiation.cc         |     2 +-
 .../20_util/is_swappable/requirements/typedefs.cc  |     2 +-
 .../testsuite/20_util/is_swappable/value.cc        |     2 +-
 .../requirements/explicit_instantiation.cc         |     2 +-
 .../is_swappable_with/requirements/typedefs.cc     |     2 +-
 .../testsuite/20_util/is_swappable_with/value.cc   |     2 +-
 .../requirements/explicit_instantiation.cc         |     2 +-
 .../logical_traits/requirements/typedefs.cc        |     2 +-
 .../testsuite/20_util/logical_traits/value.cc      |     2 +-
 .../20_util/optional/assignment/noexcept.cc        |    81 +
 .../testsuite/20_util/optional/cons/noexcept.cc    |    64 +
 .../20_util/optional/constexpr/make_optional.cc    |     1 +
 .../20_util/optional/constexpr/nullopt.cc          |     2 +-
 .../20_util/optional/constexpr/observers/2.cc      |     1 +
 .../20_util/optional/constexpr/observers/3.cc      |     1 +
 libstdc++-v3/testsuite/20_util/optional/hash.cc    |     1 +
 .../testsuite/20_util/optional/make_optional-2.cc  |    94 +
 libstdc++-v3/testsuite/20_util/optional/nullopt.cc |     2 +-
 .../testsuite/20_util/optional/requirements.cc     |     3 +
 libstdc++-v3/testsuite/20_util/pair/swap_cxx17.cc  |     2 +-
 .../20_util/ratio/requirements/ratio_equal_v.cc    |     2 +-
 .../testsuite/20_util/reference_wrapper/83427.cc   |     2 +-
 .../20_util/shared_ptr/requirements/weak_type.cc   |     2 +-
 .../memory_management_tools/1.cc                   |     1 +
 .../uninitialized_fill_n/sizes.cc                  |    18 +-
 .../testsuite/20_util/time_point_cast/rounding.cc  |     4 +-
 libstdc++-v3/testsuite/20_util/tuple/78939.cc      |     5 +-
 libstdc++-v3/testsuite/20_util/tuple/apply/1.cc    |     1 +
 .../20_util/tuple/comparison_operators/93147.cc    |    36 +
 .../20_util/tuple/creation_functions/55713.cc      |    33 +
 .../20_util/tuple/element_access/71096.cc          |    30 +
 .../testsuite/20_util/tuple/make_from_tuple/1.cc   |     1 +
 libstdc++-v3/testsuite/20_util/tuple/swap_cxx17.cc |     2 +-
 .../testsuite/20_util/tuple/tuple_size_v.cc        |     2 +-
 .../specialized_algorithms/swap_cxx17.cc           |     2 +-
 .../requirements/uses_allocator_v.cc               |     2 +-
 .../20_util/variable_templates_for_traits.cc       |     7 +-
 libstdc++-v3/testsuite/20_util/variant/91807.cc    |    35 +
 libstdc++-v3/testsuite/20_util/variant/95915.cc    |    35 +
 libstdc++-v3/testsuite/20_util/variant/any.cc      |     2 +-
 libstdc++-v3/testsuite/20_util/variant/compile.cc  |     9 +-
 libstdc++-v3/testsuite/20_util/variant/hash.cc     |     1 +
 .../testsuite/20_util/variant/index_type.cc        |     1 +
 libstdc++-v3/testsuite/20_util/variant/run.cc      |     2 +-
 libstdc++-v3/testsuite/20_util/void_t/1.cc         |     2 +-
 .../testsuite/21_strings/basic_string/79162.cc     |     2 +-
 .../21_strings/basic_string/capacity/1.cc          |    14 +-
 .../21_strings/basic_string/capacity/char/1.cc     |    14 +-
 .../21_strings/basic_string/capacity/char/18654.cc |     8 +-
 .../21_strings/basic_string/capacity/char/2.cc     |     6 +-
 .../21_strings/basic_string/capacity/wchar_t/1.cc  |    14 +-
 .../basic_string/capacity/wchar_t/18654.cc         |     8 +-
 .../21_strings/basic_string/capacity/wchar_t/2.cc  |     6 +-
 .../21_strings/basic_string/cons/char/7.cc         |     1 +
 .../21_strings/basic_string/cons/char/self_move.cc |    52 +
 .../21_strings/basic_string/cons/wchar_t/7.cc      |     1 +
 .../basic_string/inserters_extractors/char/13.cc   |    55 +
 .../inserters_extractors/wchar_t/13.cc             |    55 +
 .../testsuite/21_strings/basic_string/lwg2758.cc   |     2 +-
 .../testsuite/21_strings/basic_string/lwg2946.cc   |     2 +-
 .../basic_string/modifiers/append/char/4.cc        |     1 +
 .../basic_string/modifiers/append/wchar_t/4.cc     |     1 +
 .../basic_string/modifiers/assign/char/4.cc        |     1 +
 .../basic_string/modifiers/assign/wchar_t/4.cc     |     1 +
 .../basic_string/modifiers/insert/char/3.cc        |     1 +
 .../basic_string/modifiers/insert/wchar_t/3.cc     |     1 +
 .../basic_string/modifiers/replace/char/7.cc       |     1 +
 .../basic_string/modifiers/replace/wchar_t/7.cc    |     1 +
 .../basic_string/operations/compare/char/2.cc      |     1 +
 .../basic_string/operations/compare/wchar_t/2.cc   |     1 +
 .../basic_string/operations/data/char/2.cc         |     1 +
 .../basic_string/operations/data/wchar_t/2.cc      |     1 +
 .../basic_string/operations/find/char/5.cc         |     1 +
 .../basic_string/operations/find/wchar_t/5.cc      |     1 +
 .../21_strings/basic_string/operators/char/5.cc    |     1 +
 .../21_strings/basic_string/operators/wchar_t/5.cc |     1 +
 .../21_strings/basic_string_view/capacity/1.cc     |     1 +
 .../21_strings/basic_string_view/cons/char/1.cc    |     1 +
 .../21_strings/basic_string_view/cons/char/2.cc    |     1 +
 .../21_strings/basic_string_view/cons/char/3.cc    |     1 +
 .../basic_string_view/cons/char/nonnull.cc         |     6 +-
 .../21_strings/basic_string_view/cons/wchar_t/1.cc |     1 +
 .../21_strings/basic_string_view/cons/wchar_t/2.cc |     1 +
 .../21_strings/basic_string_view/cons/wchar_t/3.cc |     1 +
 .../basic_string_view/cons/wchar_t/nonnull.cc      |     6 +-
 .../basic_string_view/element_access/char/1.cc     |     1 +
 .../basic_string_view/element_access/char/2.cc     |     3 +-
 .../basic_string_view/element_access/char/empty.cc |     1 +
 .../element_access/char/front_back.cc              |     1 +
 .../basic_string_view/element_access/wchar_t/1.cc  |     1 +
 .../basic_string_view/element_access/wchar_t/2.cc  |     3 +-
 .../element_access/wchar_t/empty.cc                |     1 +
 .../element_access/wchar_t/front_back.cc           |     1 +
 .../21_strings/basic_string_view/include.cc        |     2 +-
 .../basic_string_view/inserters/char/1.cc          |     1 +
 .../basic_string_view/inserters/char/2.cc          |     1 +
 .../basic_string_view/inserters/char/3.cc          |     1 +
 .../basic_string_view/inserters/pod/10081-out.cc   |     1 +
 .../basic_string_view/inserters/wchar_t/1.cc       |     1 +
 .../basic_string_view/inserters/wchar_t/2.cc       |     1 +
 .../basic_string_view/inserters/wchar_t/3.cc       |     1 +
 .../basic_string_view/literals/types-char8_t.cc    |     2 +-
 .../21_strings/basic_string_view/literals/types.cc |     2 +-
 .../basic_string_view/literals/values-char8_t.cc   |     1 +
 .../basic_string_view/literals/values.cc           |     1 +
 .../modifiers/remove_prefix/char/1.cc              |     1 +
 .../modifiers/remove_prefix/wchar_t/1.cc           |     1 +
 .../modifiers/remove_suffix/char/1.cc              |     1 +
 .../modifiers/remove_suffix/wchar_t/1.cc           |     1 +
 .../basic_string_view/operations/compare/char/1.cc |     1 +
 .../operations/compare/char/13650.cc               |     1 +
 .../operations/compare/char/nonnull.cc             |     4 +-
 .../operations/compare/wchar_t/1.cc                |     1 +
 .../operations/compare/wchar_t/13650.cc            |     1 +
 .../basic_string_view/operations/copy/char/1.cc    |     1 +
 .../basic_string_view/operations/copy/wchar_t/1.cc |     1 +
 .../basic_string_view/operations/data/char/1.cc    |     1 +
 .../basic_string_view/operations/data/wchar_t/1.cc |     1 +
 .../basic_string_view/operations/find/char/1.cc    |     1 +
 .../basic_string_view/operations/find/char/2.cc    |     1 +
 .../basic_string_view/operations/find/char/3.cc    |     1 +
 .../basic_string_view/operations/find/char/4.cc    |     1 +
 .../operations/find/char/nonnull.cc                |    12 +-
 .../basic_string_view/operations/find/wchar_t/1.cc |     1 +
 .../basic_string_view/operations/find/wchar_t/2.cc |     1 +
 .../basic_string_view/operations/find/wchar_t/3.cc |     1 +
 .../basic_string_view/operations/find/wchar_t/4.cc |     1 +
 .../basic_string_view/operations/rfind/char/1.cc   |     1 +
 .../basic_string_view/operations/rfind/char/2.cc   |     1 +
 .../basic_string_view/operations/rfind/char/3.cc   |     1 +
 .../operations/rfind/char/nonnull.cc               |     4 +-
 .../operations/rfind/wchar_t/1.cc                  |     1 +
 .../operations/rfind/wchar_t/2.cc                  |     1 +
 .../operations/rfind/wchar_t/3.cc                  |     1 +
 .../operations/string_conversion/1.cc              |     1 +
 .../basic_string_view/operations/substr/char/1.cc  |     1 +
 .../operations/substr/wchar_t/1.cc                 |     1 +
 .../basic_string_view/range_access/char/1.cc       |     2 +-
 .../basic_string_view/range_access/wchar_t/1.cc    |     2 +-
 .../requirements/explicit_instantiation/1.cc       |     2 +-
 .../requirements/explicit_instantiation/char/1.cc  |     2 +-
 .../explicit_instantiation/char16_t/1.cc           |     2 +-
 .../explicit_instantiation/char32_t/1.cc           |     2 +-
 .../explicit_instantiation/char8_t/1.cc            |     2 +-
 .../explicit_instantiation/wchar_t/1.cc            |     2 +-
 .../basic_string_view/requirements/typedefs.cc     |     2 +-
 .../21_strings/basic_string_view/typedefs.cc       |     2 +-
 .../21_strings/basic_string_view/types/1.cc        |     2 +-
 .../array/specialized_algorithms/swap_cxx17.cc     |     2 +-
 .../23_containers/bitset/operations/96303.cc       |    31 +
 .../23_containers/deque/cons/self_move.cc          |    44 +
 .../23_containers/forward_list/cons/self_move.cc   |    44 +
 .../23_containers/forward_list/operations/91620.cc |    88 +
 .../23_containers/headers/array/std_c++0x_neg.cc   |     2 +-
 .../23_containers/headers/tuple/std_c++0x_neg.cc   |     2 +-
 .../headers/unordered_map/std_c++0x_neg.cc         |     2 +-
 .../headers/unordered_set/std_c++0x_neg.cc         |     2 +-
 .../testsuite/23_containers/list/cons/self_move.cc |    44 +
 .../23_containers/list/operations/91620.cc         |   110 +
 .../map/cons/noexcept_move_construct.cc            |    32 +-
 .../23_containers/map/modifiers/extract.cc         |     1 +
 .../map/modifiers/insert_or_assign/1.cc            |     1 +
 .../testsuite/23_containers/map/modifiers/merge.cc |     1 +
 .../23_containers/map/modifiers/try_emplace/1.cc   |     1 +
 .../multimap/cons/noexcept_move_construct.cc       |    32 +-
 .../23_containers/multimap/modifiers/extract.cc    |     1 +
 .../23_containers/multimap/modifiers/merge.cc      |     1 +
 .../multiset/cons/noexcept_move_construct.cc       |    32 +-
 .../23_containers/multiset/modifiers/extract.cc    |     1 +
 .../23_containers/multiset/modifiers/merge.cc      |     1 +
 .../set/cons/noexcept_move_construct.cc            |    32 +-
 .../testsuite/23_containers/set/cons/self_move.cc  |    47 +
 .../23_containers/set/modifiers/extract.cc         |     1 +
 .../testsuite/23_containers/set/modifiers/merge.cc |     1 +
 .../23_containers/span/back_assert_neg.cc          |     3 +-
 .../23_containers/span/first_2_assert_neg.cc       |     3 +-
 .../23_containers/span/first_assert_neg.cc         |     3 +-
 .../23_containers/span/front_assert_neg.cc         |     3 +-
 .../23_containers/span/index_op_assert_neg.cc      |     3 +-
 .../23_containers/span/last_2_assert_neg.cc        |     3 +-
 .../23_containers/span/last_assert_neg.cc          |     3 +-
 .../23_containers/span/subspan_2_assert_neg.cc     |     3 +-
 .../23_containers/span/subspan_3_assert_neg.cc     |     3 +-
 .../23_containers/span/subspan_4_assert_neg.cc     |     3 +-
 .../23_containers/span/subspan_5_assert_neg.cc     |     3 +-
 .../23_containers/span/subspan_6_assert_neg.cc     |     3 +-
 .../23_containers/span/subspan_assert_neg.cc       |     3 +-
 .../unordered_map/allocator/default_init.cc        |    69 +
 .../cons/noexcept_default_construct.cc             |    68 +
 .../unordered_map/cons/noexcept_move_construct.cc  |    65 +
 .../unordered_map/modifiers/extract.cc             |     1 +
 .../unordered_map/modifiers/insert_or_assign.cc    |     1 +
 .../23_containers/unordered_map/modifiers/merge.cc |     1 +
 .../unordered_map/modifiers/move_assign.cc         |    81 +
 .../unordered_map/modifiers/try_emplace.cc         |     1 +
 .../cons/noexcept_default_construct.cc             |    68 +
 .../cons/noexcept_move_construct.cc                |    65 +
 .../unordered_multimap/modifiers/extract.cc        |     1 +
 .../unordered_multimap/modifiers/merge.cc          |     1 +
 .../cons/noexcept_default_construct.cc             |    68 +
 .../cons/noexcept_move_construct.cc                |    65 +
 .../unordered_multiset/modifiers/extract.cc        |     1 +
 .../unordered_multiset/modifiers/merge.cc          |     1 +
 .../unordered_set/allocator/default_init.cc        |    69 +
 .../unordered_set/cons/bucket_hint.cc              |    63 +
 .../cons/noexcept_default_construct.cc             |    68 +
 .../unordered_set/cons/noexcept_move_construct.cc  |    65 +
 .../23_containers/unordered_set/cons/self_move.cc  |    50 +
 .../unordered_set/modifiers/extract.cc             |     1 +
 .../unordered_set/modifiers/insert.cc              |    66 +
 .../23_containers/unordered_set/modifiers/merge.cc |     1 +
 .../testsuite/23_containers/vector/bool/72847.cc   |     2 +-
 .../23_containers/vector/bool/allocator/swap.cc    |    22 +-
 .../vector/bool/cons/noexcept_move_construct.cc    |    32 +-
 .../23_containers/vector/cons/self_move.cc         |    44 +
 .../headers/iterator/range_access_c++11.cc         |     2 +-
 .../headers/iterator/range_access_c++14.cc         |     2 +-
 .../headers/iterator/range_access_c++17.cc         |     2 +-
 .../24_iterators/headers/iterator/synopsis.cc      |     2 +-
 .../headers/iterator/synopsis_c++11.cc             |     2 +-
 .../headers/iterator/synopsis_c++14.cc             |     2 +-
 .../headers/iterator/synopsis_c++17.cc             |     2 +-
 .../24_iterators/insert_iterator/dr561.cc          |    47 +
 .../testsuite/24_iterators/move_iterator/dr3435.cc |    37 +
 .../24_iterators/reverse_iterator/dr3435.cc        |    36 +
 libstdc++-v3/testsuite/25_algorithms/clamp/1.cc    |     1 +
 libstdc++-v3/testsuite/25_algorithms/clamp/2.cc    |     1 +
 .../testsuite/25_algorithms/clamp/constexpr.cc     |     2 +-
 .../clamp/requirements/explicit_instantiation/1.cc |     2 +-
 .../requirements/explicit_instantiation/pod.cc     |     2 +-
 .../26_numerics/headers/ccomplex/std_c++0x_neg.cc  |     2 +-
 .../26_numerics/headers/cfenv/std_c++0x_neg.cc     |     2 +-
 .../cmath/c99_classification_macros_c++98.cc       |     4 +-
 .../headers/cmath/functions_std_c++17.cc           |     2 +-
 .../headers/cmath/special_functions_global.cc      |     2 +-
 .../26_numerics/headers/ctgmath/std_c++0x_neg.cc   |     2 +-
 .../26_numerics/headers/random/std_c++0x_neg.cc    |     2 +-
 .../testsuite/26_numerics/numbers/float128.cc      |     2 +-
 .../testsuite/26_numerics/valarray/69116.cc        |     2 +-
 .../testsuite/27_io/basic_ios/conv/voidptr.cc      |     1 +
 .../basic_istream/extractors_character/char/3.cc   |     2 +-
 .../basic_istream/extractors_character/char/4.cc   |     1 +
 .../basic_istream/extractors_character/char/5.cc   |    54 +
 .../extractors_character/char/9555-ic.cc           |     2 +
 .../extractors_character/char/9826.cc              |     2 +-
 .../extractors_character/char/lwg2499.cc           |    80 +
 .../extractors_character/char/lwg2499_neg.cc       |    45 +
 .../extractors_character/char/overflow.cc          |    79 +
 .../extractors_character/wchar_t/3.cc              |     2 +-
 .../extractors_character/wchar_t/4.cc              |     1 +
 .../extractors_character/wchar_t/5.cc              |    54 +
 .../extractors_character/wchar_t/9555-ic.cc        |     2 +
 .../extractors_character/wchar_t/lwg2499.cc        |    70 +
 .../extractors_character/wchar_t/lwg2499_neg.cc    |    40 +
 .../extractors_character/wchar_t/overflow.cc       |    57 +
 .../27_io/basic_istream/get/char/lwg3464.cc        |    91 +
 .../27_io/basic_istream/get/wchar_t/lwg3464.cc     |    91 +
 .../27_io/basic_istream/ignore/char/94749.cc       |   151 +
 .../27_io/basic_istream/ignore/char/96161.cc       |    79 +
 .../27_io/basic_istream/ignore/wchar_t/94749.cc    |   155 +-
 .../27_io/basic_istream/ignore/wchar_t/96161.cc    |    79 +
 .../basic_ostream/inserters_other/char/lwg2221.cc  |     2 +-
 .../27_io/headers/cinttypes/std_c++0x_neg.cc       |     2 +-
 .../28_regex/headers/regex/std_c++0x_neg.cc        |     2 +-
 .../testsuite/28_regex/match_results/94627.cc      |    75 +
 libstdc++-v3/testsuite/28_regex/simple_c++11.cc    |     2 +-
 .../29_atomics/atomic/is_always_lock_free.cc       |     2 +-
 .../testsuite/29_atomics/atomic_float/1.cc         |    87 +-
 .../29_atomics/atomic_float/value_init.cc          |     1 +
 .../atomic_integral/is_always_lock_free.cc         |     2 +-
 .../testsuite/29_atomics/atomic_ref/float.cc       |    45 +-
 .../29_atomics/headers/atomic/std_c++0x_neg.cc     |     2 +-
 libstdc++-v3/testsuite/30_threads/async/69724.cc   |   119 +
 .../30_threads/future/requirements/lwg3458.cc      |    34 +
 .../headers/condition_variable/std_c++0x_neg.cc    |     5 +-
 .../30_threads/headers/future/std_c++0x_neg.cc     |     5 +-
 .../30_threads/headers/mutex/std_c++0x_neg.cc      |     2 +-
 .../30_threads/headers/thread/std_c++0x_neg.cc     |     2 +-
 .../30_threads/promise/requirements/lwg3466.cc     |    34 +
 .../shared_future/requirements/lwg3458.cc          |    32 +
 .../testsuite/30_threads/shared_lock/70766.cc      |     2 +-
 .../testsuite/30_threads/shared_mutex/cons/1.cc    |     2 +-
 .../30_threads/shared_mutex/cons/assign_neg.cc     |     2 +-
 .../30_threads/shared_mutex/cons/copy_neg.cc       |     2 +-
 .../shared_mutex/requirements/standard_layout.cc   |     2 +-
 .../30_threads/shared_mutex/try_lock/1.cc          |     2 +-
 .../30_threads/shared_mutex/try_lock/2.cc          |     2 +-
 .../testsuite/30_threads/shared_mutex/unlock/1.cc  |     2 +-
 libstdc++-v3/testsuite/30_threads/this_thread/2.cc |    45 -
 .../testsuite/30_threads/this_thread/58038.cc      |     1 +
 .../testsuite/30_threads/this_thread/60421.cc      |     1 +
 .../this_thread/{3.cc => sleep_for-mt.cc}          |     0
 .../testsuite/30_threads/this_thread/sleep_for.cc  |    43 +
 .../this_thread/{4.cc => sleep_until-mt.cc}        |     0
 .../30_threads/this_thread/sleep_until.cc          |    43 +
 .../testsuite/30_threads/this_thread/yield.cc      |    42 +
 .../testsuite/30_threads/thread/cons/84535.cc      |     3 +
 .../testsuite/30_threads/thread/cons/lwg2097.cc    |     3 +
 .../filesystem/filesystem_error/cons.cc            |     2 +-
 .../net/execution_context/use_service.cc           |     7 +-
 .../testsuite/experimental/net/system_context/1.cc |    42 +
 .../experimental/optional/constexpr/nullopt.cc     |     2 +-
 .../testsuite/experimental/optional/nullopt.cc     |     2 +-
 .../testsuite/experimental/type_traits/value.cc    |     3 +
 libstdc++-v3/testsuite/lib/dg-options.exp          |     5 +-
 libstdc++-v3/testsuite/lib/libstdc++.exp           |     2 +-
 .../testsuite/libstdc++-prettyprinters/48362.cc    |     2 +-
 .../testsuite/libstdc++-prettyprinters/compat.cc   |     4 +-
 .../concept.arithmetic/floating_point.cc           |     2 +-
 .../testsuite/std/ranges/access/lwg3467.cc         |    33 +
 .../testsuite/tr1/headers/c++200x/complex.cc       |     2 +-
 libstdc++-v3/testsuite/util/testsuite_abi.cc       |    18 +-
 libstdc++-v3/testsuite/util/testsuite_allocator.h  |     4 +-
 .../testsuite/util/testsuite_common_types.h        |     4 +-
 libstdc++-v3/testsuite/util/testsuite_containers.h |     5 +-
 libstdc++-v3/testsuite/util/testsuite_shared.cc    |     7 +-
 lto-plugin/ChangeLog                               |     5 +
 lto-plugin/configure                               |    25 +-
 3599 files changed, 251444 insertions(+), 189995 deletions(-)

diff --cc gcc/gimple-range.cc
index a29bc8d4c5a,00000000000..e37d7ff5580
mode 100644,000000..100644
--- a/gcc/gimple-range.cc
+++ b/gcc/gimple-range.cc
@@@ -1,1321 -1,0 +1,1334 @@@
 +/* Code for GIMPLE range related routines.
 +   Copyright (C) 2019-2020 Free Software Foundation, Inc.
 +   Contributed by Andrew MacLeod <amacleod@redhat.com>
 +   and Aldy Hernandez <aldyh@redhat.com>.
 +
 +This file is part of GCC.
 +
 +GCC is free software; you can redistribute it and/or modify
 +it under the terms of the GNU General Public License as published by
 +the Free Software Foundation; either version 3, or (at your option)
 +any later version.
 +
 +GCC is distributed in the hope that it will be useful,
 +but WITHOUT ANY WARRANTY; without even the implied warranty of
 +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 +GNU General Public License for more details.
 +
 +You should have received a copy of the GNU General Public License
 +along with GCC; see the file COPYING3.  If not see
 +<http://www.gnu.org/licenses/>.  */
 +
 +#include "config.h"
 +#include "system.h"
 +#include "coretypes.h"
 +#include "backend.h"
 +#include "insn-codes.h"
 +#include "rtl.h"
 +#include "tree.h"
 +#include "gimple.h"
 +#include "ssa.h"
 +#include "gimple-pretty-print.h"
 +#include "gimple-iterator.h"
 +#include "optabs-tree.h"
 +#include "gimple-fold.h"
 +#include "tree-cfg.h"
 +#include "fold-const.h"
 +#include "tree-cfg.h"
 +#include "wide-int.h"
 +#include "fold-const.h"
 +#include "case-cfn-macros.h"
 +#include "omp-general.h"
 +#include "cfgloop.h"
 +#include "tree-ssa-loop.h"
 +#include "tree-scalar-evolution.h"
 +#include "dbgcnt.h"
 +#include "alloc-pool.h"
 +#include "vr-values.h"
 +#include "gimple-range.h"
 +
 +
 +// Adjust the range for a pointer difference where the operands came
 +// from a memchr.
 +//
 +// This notices the following sequence:
 +//
 +//	def = __builtin_memchr (arg, 0, sz)
 +//	n = def - arg
 +//
 +// The range for N can be narrowed to [0, PTRDIFF_MAX - 1].
 +
 +static void
 +adjust_pointer_diff_expr (irange &res, const gimple *diff_stmt)
 +{
 +  tree op0 = gimple_assign_rhs1 (diff_stmt);
 +  tree op1 = gimple_assign_rhs2 (diff_stmt);
 +  tree op0_ptype = TREE_TYPE (TREE_TYPE (op0));
 +  tree op1_ptype = TREE_TYPE (TREE_TYPE (op1));
 +  gimple *call;
 +
 +  if (TREE_CODE (op0) == SSA_NAME
 +      && TREE_CODE (op1) == SSA_NAME
 +      && (call = SSA_NAME_DEF_STMT (op0))
 +      && is_gimple_call (call)
 +      && gimple_call_builtin_p (call, BUILT_IN_MEMCHR)
 +      && TYPE_MODE (op0_ptype) == TYPE_MODE (char_type_node)
 +      && TYPE_PRECISION (op0_ptype) == TYPE_PRECISION (char_type_node)
 +      && TYPE_MODE (op1_ptype) == TYPE_MODE (char_type_node)
 +      && TYPE_PRECISION (op1_ptype) == TYPE_PRECISION (char_type_node)
 +      && gimple_call_builtin_p (call, BUILT_IN_MEMCHR)
 +      && vrp_operand_equal_p (op1, gimple_call_arg (call, 0))
 +      && integer_zerop (gimple_call_arg (call, 1)))
 +    {
 +      tree max = vrp_val_max (ptrdiff_type_node);
 +      wide_int wmax = wi::to_wide (max, TYPE_PRECISION (TREE_TYPE (max)));
 +      tree expr_type = gimple_expr_type (diff_stmt);
 +      tree range_min = build_zero_cst (expr_type);
 +      tree range_max = wide_int_to_tree (expr_type, wmax - 1);
 +      int_range<2> r (range_min, range_max);
 +      res.intersect (r);
 +    }
 +}
 +
 +// This function looks for situations when walking the use/def chains
 +// may provide additonal contextual range information not exposed on
 +// this statement.  Like knowing the IMAGPART return value from a
 +// builtin function is a boolean result.
 +
 +// We should rework how we're called, as we have an op_unknown entry
 +// for IMAGPART_EXPR and POINTER_DIFF_EXPR in range-ops just so this
 +// function gets called.
 +
 +static void
 +gimple_range_adjustment (irange &res, const gimple *stmt)
 +{
 +  switch (gimple_expr_code (stmt))
 +    {
 +    case POINTER_DIFF_EXPR:
 +      adjust_pointer_diff_expr (res, stmt);
 +      return;
 +
 +    case IMAGPART_EXPR:
 +      {
 +	tree name = TREE_OPERAND (gimple_assign_rhs1 (stmt), 0);
 +	if (TREE_CODE (name) == SSA_NAME)
 +	  {
 +	    gimple *def_stmt = SSA_NAME_DEF_STMT (name);
 +	    if (def_stmt && is_gimple_call (def_stmt)
 +		&& gimple_call_internal_p (def_stmt))
 +	      {
 +		switch (gimple_call_internal_fn (def_stmt))
 +		  {
 +		  case IFN_ADD_OVERFLOW:
 +		  case IFN_SUB_OVERFLOW:
 +		  case IFN_MUL_OVERFLOW:
 +		  case IFN_ATOMIC_COMPARE_EXCHANGE:
 +		    {
 +		      int_range<2> r;
 +		      r.set_varying (boolean_type_node);
 +		      tree type = TREE_TYPE (gimple_assign_lhs (stmt));
 +		      range_cast (r, type);
 +		      res.intersect (r);
 +		    }
 +		  default:
 +		    break;
 +		  }
 +	      }
 +	  }
 +	break;
 +      }
 +
 +    default:
 +      break;
 +    }
 +}
 +
 +// ------------------------------------------------------------------------
 +
 +// This function will calculate the "constant" range on edge E from
 +// switch SW returning it in R, and return the switch statement
 +// itself.  This is currently not very efficent as the way we
 +// represent switches in GIMPLE does not map well to this calculation.
 +
 +static gimple *
 +calc_range_for_switch_on_edge (irange &r, gswitch *sw, edge e)
 +{
 +  unsigned x, lim;
 +  lim = gimple_switch_num_labels (sw);
 +  tree type = TREE_TYPE (gimple_switch_index (sw));
 +
 +  // ADA and FORTRAN currently have cases where the index is 64 bits
 +  // and the case arguments are 32 bit, causing a trap when we create
 +  // a case_range.  Until this is resolved
 +  // (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87798) punt on
 +  // these switches.  Furthermore, cfamily fails during a bootstrap
 +  // due to a signed index and unsigned cases.  So punting unless
 +  // types_compatible_p () for now.
 +  tree case_type = TREE_TYPE (CASE_LOW (gimple_switch_label (sw, 1)));
 +  if (lim > 1 && !types_compatible_p (type, case_type))
 +    return NULL;
 +
 +  edge default_edge = gimple_switch_default_edge (cfun, sw);
 +  if (e != default_edge)
 +    {
 +      r.set_undefined ();
 +      // Union all the ranges for each switch edge, ignoring the
 +      // default edge.
 +      for (x = 1; x < lim; x++)
 +	{
 +	  if (gimple_switch_edge (cfun, sw, x) != e)
 +	    continue;
 +	  tree low = CASE_LOW (gimple_switch_label (sw, x));
 +	  tree high = CASE_HIGH (gimple_switch_label (sw, x));
 +	  if (!high)
 +	    high = low;
 +	  int_range<2> case_range (low, high);
 +	  r.union_ (case_range);
 +	}
 +    }
 +  else
 +    {
 +      r.set_varying (type);
 +      // Loop through all the switches edges, ignoring the default
 +      // edge, while intersecting the ranges not covered by the case.
 +      for (x = 1; x < lim; x++)
 +	{
 +	  // Some other edge could still point to the default edge
 +	  // destination.  Ignore it.
 +	  if (gimple_switch_edge (cfun, sw, x) == default_edge)
 +	    continue;
 +	  tree low = CASE_LOW (gimple_switch_label (sw, x));
 +	  tree high = CASE_HIGH (gimple_switch_label (sw, x));
 +	  if (!high)
 +	    high = low;
 +	  int_range<2> case_range (low, high, VR_ANTI_RANGE);
 +	  r.intersect (case_range);
 +	}
 +    }
 +  return sw;
 +}
 +
 +
 +// If there is a range control statment at the end of block BB, return it.
 +
 +gimple_stmt_iterator
 +gsi_outgoing_range_stmt (basic_block bb)
 +{
 +  gimple_stmt_iterator gsi = gsi_last_nondebug_bb (bb);
 +  if (!gsi_end_p (gsi))
 +    {
 +      gimple *s = gsi_stmt (gsi);
 +      if (is_a<gcond *> (s) || is_a<gswitch *> (s))
 +	return gsi;
 +    }
 +  return gsi_none ();
 +}
 +
 +
 +// If there is a range control statment at the end of block BB, return it.
 +
 +gimple *
 +gimple_outgoing_range_stmt_p (basic_block bb)
 +{
 +  // This will return NULL if there is not a branch statement.
 +  return gsi_stmt (gsi_outgoing_range_stmt (bb));
 +}
 +
 +
 +// Calculate the range forced on on edge E by control flow, return it
 +// in R.  Return the statment which defines the range, otherwise
 +// return NULL
 +
 +gimple *
 +gimple_outgoing_edge_range_p (irange &r, edge e)
 +{
 +  // Determine if there is an outgoing edge.
 +  gimple *s = gimple_outgoing_range_stmt_p (e->src);
 +  if (!s)
 +    return NULL;
 +
 +  if (is_a<gcond *> (s))
 +    {
 +      if (e->flags & EDGE_TRUE_VALUE)
 +	r = int_range<2> (boolean_true_node, boolean_true_node);
 +      else if (e->flags & EDGE_FALSE_VALUE)
 +	r = int_range<2> (boolean_false_node, boolean_false_node);
 +      else
 +	gcc_unreachable ();
 +      return s;
 +    }
 +
 +  gcc_checking_assert (is_a<gswitch *> (s));
 +  gswitch *sw = as_a<gswitch *> (s);
 +  tree type = TREE_TYPE (gimple_switch_index (sw));
 +
 +  if (!irange::supports_type_p (type))
 +    return NULL;
 +
 +  return calc_range_for_switch_on_edge (r, sw, e);
 +}
 +
 +
 +// Return a range in R for the tree EXPR.  Return true if a range is
 +// representable.
 +
 +bool
 +get_tree_range (irange &r, tree expr)
 +{
 +  tree type;
 +  if (TYPE_P (expr))
 +    type = expr;
 +  else
 +    type = TREE_TYPE (expr);
 +
 +  // Return false if the type isn't suported.
 +  if (!irange::supports_type_p (type))
 +    return false;
 +
 +  switch (TREE_CODE (expr))
 +    {
 +      case INTEGER_CST:
 +	r.set (expr, expr);
 +	return true;
 +
 +      case SSA_NAME:
 +	r = gimple_range_global (expr);
 +	return true;
 +
 +      case ADDR_EXPR:
 +        {
 +	  // Handle &var which can show up in phi arguments.
 +	  bool ov;
 +	  if (tree_single_nonzero_warnv_p (expr, &ov))
 +	    {
 +	      r = range_nonzero (type);
 +	      return true;
 +	    }
 +	  break;
 +	}
 +
 +      default:
 +        break;
 +    }
 +  r.set_varying (type);
 +  return true;
 +}
 +
 +// Fold this unary statement using R1 as operand1's range, returning
 +// the result in RES.  Return false if the operation fails.
 +
 +bool
 +gimple_range_fold (irange &res, const gimple *stmt, const irange &r1)
 +{
 +  gcc_checking_assert (gimple_range_handler (stmt));
 +
 +  tree type = gimple_expr_type (stmt);
 +  // Unary SSA operations require the LHS type as the second range.
 +  int_range<2> r2 (type);
 +
 +  return gimple_range_fold (res, stmt, r1, r2);
 +}
 +
 +
 +// Fold this binary statement using R1 and R2 as the operands ranges,
 +// returning the result in RES.  Return false if the operation fails.
 +
 +bool
 +gimple_range_fold (irange &res, const gimple *stmt,
 +		   const irange &r1, const irange &r2)
 +{
 +  gcc_checking_assert (gimple_range_handler (stmt));
 +
 +  gimple_range_handler (stmt)->fold_range (res, gimple_expr_type (stmt),
 +					   r1, r2);
 +
 +  // If there are any gimple lookups, do those now.
 +  gimple_range_adjustment (res, stmt);
 +  return true;
 +}
 +
 +// Return the base of the RHS of an assignment.
 +
 +tree
 +gimple_range_base_of_assignment (const gimple *stmt)
 +{
 +  gcc_checking_assert (gimple_code (stmt) == GIMPLE_ASSIGN);
 +  tree op1 = gimple_assign_rhs1 (stmt);
 +  if (gimple_assign_rhs_code (stmt) == ADDR_EXPR)
 +    return get_base_address (TREE_OPERAND (op1, 0));
 +  return op1;
 +}
 +
 +// Return the first operand of this statement if it is a valid operand
 +// supported by ranges, otherwise return NULL_TREE.  Special case is
 +// &(SSA_NAME expr), return the SSA_NAME instead of the ADDR expr.
 +
 +tree
 +gimple_range_operand1 (const gimple *stmt)
 +{
 +  gcc_checking_assert (gimple_range_handler (stmt));
 +
 +  switch (gimple_code (stmt))
 +    {
 +      case GIMPLE_COND:
 +	return gimple_cond_lhs (stmt);
 +      case GIMPLE_ASSIGN:
 +	{
 +	  tree base = gimple_range_base_of_assignment (stmt);
 +	  if (base && TREE_CODE (base) == MEM_REF)
 +	    {
 +	      // If the base address is an SSA_NAME, we return it
 +	      // here.  This allows processing of the range of that
 +	      // name, while the rest of the expression is simply
 +	      // ignored.  The code in range_ops will see the
 +	      // ADDR_EXPR and do the right thing.
 +	      tree ssa = TREE_OPERAND (base, 0);
 +	      if (TREE_CODE (ssa) == SSA_NAME)
 +		return ssa;
 +	    }
 +	  return base;
 +	}
 +      default:
 +	break;
 +    }
 +  return NULL;
 +}
 +
 +
 +// Return the second operand of statement STMT, otherwise return NULL_TREE.
 +
 +tree
 +gimple_range_operand2 (const gimple *stmt)
 +{
 +  gcc_checking_assert (gimple_range_handler (stmt));
 +
 +  switch (gimple_code (stmt))
 +    {
 +    case GIMPLE_COND:
 +      return gimple_cond_rhs (stmt);
 +    case GIMPLE_ASSIGN:
 +      if (gimple_num_ops (stmt) >= 3)
 +	return gimple_assign_rhs2 (stmt);
 +    default:
 +      break;
 +    }
 +  return NULL_TREE;
 +}
 +
 +
 +
 +// Calculate what we can determine of the range of this unary
 +// statement's operand if the lhs of the expression has the range
 +// LHS_RANGE.  Return false if nothing can be determined.
 +
 +bool
 +gimple_range_calc_op1 (irange &r, const gimple *stmt, const irange &lhs_range)
 +{
 +  gcc_checking_assert (gimple_num_ops (stmt) < 3);
 +  // An empty range is viral, so return an empty range.
 +
 +  tree type = TREE_TYPE (gimple_range_operand1 (stmt));
 +  if (lhs_range.undefined_p ())
 +    {
 +      r.set_undefined ();
 +      return true;
 +    }
 +  // Unary operations require the type of the first operand in the
 +  // second range position.
 +  int_range<2> type_range (type);
 +  return gimple_range_handler (stmt)->op1_range (r, type, lhs_range,
 +						 type_range);
 +}
 +
 +
 +// Calculate what we can determine of the range of this statement's
 +// first operand if the lhs of the expression has the range LHS_RANGE
 +// and the second operand has the range OP2_RANGE.  Return false if
 +// nothing can be determined.
 +
 +bool
 +gimple_range_calc_op1 (irange &r, const gimple *stmt,
 +		       const irange &lhs_range, const irange &op2_range)
 +{
 +  // Unary operation are allowed to pass a range in for second operand
 +  // as there are often additional restrictions beyond the type which
 +  // can be imposed.  See operator_cast::op1_range.()
 +  tree type = TREE_TYPE (gimple_range_operand1 (stmt));
 +  // An empty range is viral, so return an empty range.
 +  if (op2_range.undefined_p () || lhs_range.undefined_p ())
 +    {
 +      r.set_undefined ();
 +      return true;
 +    }
 +  return gimple_range_handler (stmt)->op1_range (r, type, lhs_range,
 +						 op2_range);
 +}
 +
 +
 +// Calculate what we can determine of the range of this statement's
 +// second operand if the lhs of the expression has the range LHS_RANGE
 +// and the first operand has the range OP1_RANGE.  Return false if
 +// nothing can be determined.
 +
 +bool
 +gimple_range_calc_op2 (irange &r, const gimple *stmt,
 +		       const irange &lhs_range, const irange &op1_range)
 +{
 +  tree type = TREE_TYPE (gimple_range_operand2 (stmt));
 +  // An empty range is viral, so return an empty range.
 +  if (op1_range.undefined_p () || lhs_range.undefined_p ())
 +    {
 +      r.set_undefined ();
 +      return true;
 +    }
 +  return gimple_range_handler (stmt)->op2_range (r, type, lhs_range,
 +						 op1_range);
 +}
 +
 +
 +// Calculate a range for statement S and return it in R. If NAME is provided it
 +// represents the SSA_NAME on the LHS of the statement. It is only required
 +// if there is more than one lhs/output.  If a range cannot
 +// be calculated, return false.
 +
 +bool
 +gimple_ranger::calc_stmt (irange &r, gimple *s, tree name)
 +{
 +  bool res = false;
 +  // If name is specified, make sure it is a LHS of S.
 +  gcc_checking_assert (name ? SSA_NAME_DEF_STMT (name) == s : true);
 +
 +  if (gimple_range_handler (s))
 +    res = range_of_range_op (r, s);
 +  else if (is_a<gphi *>(s))
 +    res = range_of_phi (r, as_a<gphi *> (s));
 +  else if (is_a<gcall *>(s))
 +    res = range_of_call (r, as_a<gcall *> (s));
 +  else if (is_a<gassign *> (s) && gimple_assign_rhs_code (s) == COND_EXPR)
 +    res = range_of_cond_expr (r, as_a<gassign *> (s));
 +  else
 +    {
 +      // If no name is specified, try the expression kind.
 +      if (!name)
 +	{
 +	  tree t = gimple_expr_type (s);
 +	  if (!irange::supports_type_p (t))
 +	    return false;
 +	  r.set_varying (t);
 +	  return true;
 +	}
 +      // We don't understand the stmt, so return the global range.
 +      r = gimple_range_global (name);
 +      return true;
 +    }
 +  if (res)
 +    {
 +      if (r.undefined_p ())
 +	return true;
 +      if (name && TREE_TYPE (name) != r.type ())
 +	range_cast (r, TREE_TYPE (name));
 +      return true;
 +    }
 +  return false;
 +}
 +
 +// Calculate a range for range_op statement S and return it in R.  If any
 +// If a range cannot be calculated, return false.
 +
 +bool
 +gimple_ranger::range_of_range_op (irange &r, gimple *s)
 +{
 +  widest_irange range1, range2;
 +  tree type = gimple_expr_type (s);
 +  gcc_checking_assert (irange::supports_type_p (type));
 +
 +  tree op1 = gimple_range_operand1 (s);
 +  tree op2 = gimple_range_operand2 (s);
 +
 +  if (range_of_non_trivial_assignment (r, s))
 +    return true;
 +
 +  if (range_of_expr (range1, op1, s))
 +    {
 +      if (!op2)
 +	return gimple_range_fold (r, s, range1);
 +
 +      if (range_of_expr (range2, op2, s))
 +	return gimple_range_fold (r, s, range1, range2);
 +    }
 +  r.set_varying (type);
 +  return true;
 +}
 +
 +
 +// Calculate the range of a non-trivial assignment.  That is, is one
 +// inolving arithmetic on an SSA name (for example, an ADDR_EXPR).
 +// Return the range in R.
 +//
 +// If a range cannot be calculated, return false.
 +
 +bool
 +gimple_ranger::range_of_non_trivial_assignment (irange &r, gimple *stmt)
 +{
 +  if (gimple_code (stmt) != GIMPLE_ASSIGN)
 +    return false;
 +
 +  tree base = gimple_range_base_of_assignment (stmt);
 +  if (base && TREE_CODE (base) == MEM_REF
 +      && TREE_CODE (TREE_OPERAND (base, 0)) == SSA_NAME)
 +    {
 +      widest_irange range1;
 +      tree ssa = TREE_OPERAND (base, 0);
 +      if (range_of_expr (range1, ssa, stmt))
 +	{
 +	  tree type = TREE_TYPE (ssa);
 +	  range_operator *op = range_op_handler (POINTER_PLUS_EXPR, type);
 +	  int_range<2> offset (TREE_OPERAND (base, 1), TREE_OPERAND (base, 1));
 +	  op->fold_range (r, type, range1, offset);
 +	  return true;
 +	}
 +    }
 +  return false;
 +}
 +
 +
 +// Calculate a range for phi statement S and return it in R.
 +// If a range cannot be calculated, return false.
 +
 +bool
 +gimple_ranger::range_of_phi (irange &r, gphi *phi)
 +{
 +  tree phi_def = gimple_phi_result (phi);
 +  tree type = TREE_TYPE (phi_def);
 +  widest_irange phi_range;
 +  unsigned x;
 +
 +  if (!irange::supports_type_p (type))
 +    return false;
 +
 +  if (loop_aware_p ())
 +    {
 +      // If there is no global range for a PHI, start the party with
 +      // whatever information SCEV may have.
 +      tree phi_result = PHI_RESULT (phi);
 +      if (!POINTER_TYPE_P (TREE_TYPE (phi_result))
 +	  && !m_cache.m_globals.get_global_range (r, phi_result)
 +	  && range_with_loop_info (r, phi_result))
 +	{
 +	  value_range loop_range;
 +	  get_range_info (phi_result, loop_range);
 +	  r.intersect (loop_range);
 +	  if (!r.varying_p ())
 +	    set_range_info (phi_result, r);
 +	}
 +    }
 +
 +  // And start with an empty range, unioning in each argument's range.
 +  r.set_undefined ();
 +  for (x = 0; x < gimple_phi_num_args (phi); x++)
 +    {
 +      widest_irange arg_range;
 +      tree arg = gimple_phi_arg_def (phi, x);
 +      edge e = gimple_phi_arg_edge (phi, x);
 +
 +      range_on_edge (arg_range, e, arg);
 +      r.union_ (arg_range);
 +      // Once the value reaches varying, stop looking.
 +      if (r.varying_p ())
 +	break;
 +    }
 +
 +  return true;
 +}
 +
 +
 +// Calculate a range for call statement S and return it in R.
 +// If a range cannot be calculated, return false.
 +
 +bool
 +gimple_ranger::range_of_call (irange &r, gcall *call)
 +{
 +  tree type = gimple_call_return_type (call);
 +  tree lhs = gimple_call_lhs (call);
 +  bool strict_overflow_p;
 +
 +  if (!irange::supports_type_p (type))
 +    return false;
 +
 +  if (range_of_builtin_call (r, call))
 +    ;
 +  else if (gimple_stmt_nonnegative_warnv_p (call, &strict_overflow_p))
 +    r.set (build_int_cst (type, 0), TYPE_MAX_VALUE (type));
 +  else if (gimple_call_nonnull_result_p (call)
 +	   || gimple_call_nonnull_arg (call))
 +    r = range_nonzero (type);
 +  else
 +    r.set_varying (type);
 +
 +  // If there is a lHS, intersect that with what is known.
 +  if (lhs)
 +    {
 +      value_range def;
 +      def = gimple_range_global (lhs);
 +      r.intersect (def);
 +    }
 +  return true;
 +}
 +
 +
 +void
 +gimple_ranger::range_of_builtin_ubsan_call (irange &r, gcall *call,
 +					    tree_code code)
 +{
 +  gcc_checking_assert (code == PLUS_EXPR || code == MINUS_EXPR
 +		       || code == MULT_EXPR);
 +  tree type = gimple_call_return_type (call);
 +  range_operator *op = range_op_handler (code, type);
 +  gcc_checking_assert (op);
 +  widest_irange ir0, ir1;
 +  tree arg0 = gimple_call_arg (call, 0);
 +  tree arg1 = gimple_call_arg (call, 1);
 +  gcc_assert (range_of_expr (ir0, arg0, call));
 +  gcc_assert (range_of_expr (ir1, arg1, call));
 +
 +  bool saved_flag_wrapv = flag_wrapv;
 +  /* Pretend the arithmetics is wrapping.  If there is
 +     any overflow, we'll complain, but will actually do
 +     wrapping operation.  */
 +  flag_wrapv = 1;
 +  op->fold_range (r, type, ir0, ir1);
 +  flag_wrapv = saved_flag_wrapv;
 +
 +  /* If for both arguments vrp_valueize returned non-NULL,
 +     this should have been already folded and if not, it
 +     wasn't folded because of overflow.  Avoid removing the
 +     UBSAN_CHECK_* calls in that case.  */
 +  if (r.singleton_p ())
 +    r.set_varying (type);
 +}
 +
 +
 +bool
 +gimple_ranger::range_of_builtin_call (irange &r, gcall *call)
 +{
 +  combined_fn func = gimple_call_combined_fn (call);
 +  if (func == CFN_LAST)
 +    return false;
 +
 +  tree type = gimple_call_return_type (call);
 +  tree arg;
 +  int mini, maxi, zerov, prec;
 +  scalar_int_mode mode;
 +
 +  switch (func)
 +    {
 +    case CFN_BUILT_IN_CONSTANT_P:
 +      if (cfun->after_inlining)
 +	{
 +	  r.set_zero (type);
 +	  // r.equiv_clear ();
 +	  return true;
 +	}
 +      arg = gimple_call_arg (call, 0);
 +      if (range_of_expr (r, arg, call) && r.singleton_p ())
 +	{
 +	  r.set (build_one_cst (type), build_one_cst (type));
 +	  return true;
 +	}
 +      break;
 +
 +    CASE_CFN_FFS:
 +    CASE_CFN_POPCOUNT:
 +      // __builtin_ffs* and __builtin_popcount* return [0, prec].
 +      arg = gimple_call_arg (call, 0);
 +      prec = TYPE_PRECISION (TREE_TYPE (arg));
 +      mini = 0;
 +      maxi = prec;
 +      gcc_assert (range_of_expr (r, arg, call));
 +      // If arg is non-zero, then ffs or popcount are non-zero.
 +      if (!range_includes_zero_p (&r))
 +	mini = 1;
 +      // If some high bits are known to be zero, decrease the maximum.
 +      if (!r.undefined_p ())
 +	{
 +	  wide_int max = r.upper_bound ();
 +	  maxi = wi::floor_log2 (max) + 1;
 +	}
 +      r.set (build_int_cst (type, mini), build_int_cst (type, maxi));
 +      return true;
 +
 +    CASE_CFN_PARITY:
 +      r.set (build_zero_cst (type), build_one_cst (type));
 +      return true;
 +
 +    CASE_CFN_CLZ:
 +      // __builtin_c[lt]z* return [0, prec-1], except when the
 +      // argument is 0, but that is undefined behavior.
 +      //
 +      // On many targets where the CLZ RTL or optab value is defined
 +      // for 0, the value is prec, so include that in the range by
 +      // default.
 +      arg = gimple_call_arg (call, 0);
 +      prec = TYPE_PRECISION (TREE_TYPE (arg));
 +      mini = 0;
 +      maxi = prec;
 +      mode = SCALAR_INT_TYPE_MODE (TREE_TYPE (arg));
 +      if (optab_handler (clz_optab, mode) != CODE_FOR_nothing
 +	  && CLZ_DEFINED_VALUE_AT_ZERO (mode, zerov)
 +	  // Only handle the single common value.
 +	  && zerov != prec)
 +	// Magic value to give up, unless we can prove arg is non-zero.
 +	mini = -2;
 +
 +      gcc_assert (range_of_expr (r, arg, call));
 +      // From clz of minimum we can compute result maximum.
 +      if (r.constant_p ())
 +	{
 +	  maxi = prec - 1 - wi::floor_log2 (r.lower_bound ());
 +	  if (maxi != prec)
 +	    mini = 0;
 +	}
 +      else if (!range_includes_zero_p (&r))
 +	{
 +	  maxi = prec - 1;
 +	  mini = 0;
 +	}
 +      if (mini == -2)
 +	break;
 +      // From clz of maximum we can compute result minimum.
 +      if (r.constant_p ())
 +	{
 +	  mini = prec - 1 - wi::floor_log2 (r.upper_bound ());
 +	  if (mini == prec)
 +	    break;
 +	}
 +      if (mini == -2)
 +	break;
 +      r.set (build_int_cst (type, mini), build_int_cst (type, maxi));
 +      return true;
 +
 +    CASE_CFN_CTZ:
 +      // __builtin_ctz* return [0, prec-1], except for when the
 +      // argument is 0, but that is undefined behavior.
 +      //
 +      // If there is a ctz optab for this mode and
 +      // CTZ_DEFINED_VALUE_AT_ZERO, include that in the range,
 +      // otherwise just assume 0 won't be seen.
 +      arg = gimple_call_arg (call, 0);
 +      prec = TYPE_PRECISION (TREE_TYPE (arg));
 +      mini = 0;
 +      maxi = prec - 1;
 +      mode = SCALAR_INT_TYPE_MODE (TREE_TYPE (arg));
 +      if (optab_handler (ctz_optab, mode) != CODE_FOR_nothing
 +	  && CTZ_DEFINED_VALUE_AT_ZERO (mode, zerov))
 +	{
 +	  // Handle only the two common values.
 +	  if (zerov == -1)
 +	    mini = -1;
 +	  else if (zerov == prec)
 +	    maxi = prec;
 +	  else
 +	    // Magic value to give up, unless we can prove arg is non-zero.
 +	    mini = -2;
 +	}
 +      gcc_assert (range_of_expr (r, arg, call));
 +      if (!r.undefined_p ())
 +	{
 +	  if (r.lower_bound () != 0)
 +	    {
 +	      mini = 0;
 +	      maxi = prec - 1;
 +	    }
 +	  // If some high bits are known to be zero, we can decrease
 +	  // the maximum.
 +	  wide_int max = r.upper_bound ();
 +	  if (max == 0)
 +	    break;
 +	  maxi = wi::floor_log2 (max);
 +	}
 +      if (mini == -2)
 +	break;
 +      r.set (build_int_cst (type, mini), build_int_cst (type, maxi));
 +      return true;
 +
 +    CASE_CFN_CLRSB:
 +      arg = gimple_call_arg (call, 0);
 +      prec = TYPE_PRECISION (TREE_TYPE (arg));
 +      r.set (build_int_cst (type, 0), build_int_cst (type, prec - 1));
 +      return true;
 +    case CFN_UBSAN_CHECK_ADD:
 +      range_of_builtin_ubsan_call (r, call, PLUS_EXPR);
 +      return true;
 +    case CFN_UBSAN_CHECK_SUB:
 +      range_of_builtin_ubsan_call (r, call, MINUS_EXPR);
 +      return true;
 +    case CFN_UBSAN_CHECK_MUL:
 +      range_of_builtin_ubsan_call (r, call, MULT_EXPR);
 +      return true;
 +
 +    case CFN_GOACC_DIM_SIZE:
 +    case CFN_GOACC_DIM_POS:
 +      // Optimizing these two internal functions helps the loop
 +      // optimizer eliminate outer comparisons.  Size is [1,N]
 +      // and pos is [0,N-1].
 +      {
 +	bool is_pos = func == CFN_GOACC_DIM_POS;
 +	int axis = oacc_get_ifn_dim_arg (call);
 +	int size = oacc_get_fn_dim_size (current_function_decl, axis);
 +	if (!size)
 +	  // If it's dynamic, the backend might know a hardware limitation.
 +	  size = targetm.goacc.dim_limit (axis);
 +
 +	r.set (build_int_cst (type, is_pos ? 0 : 1),
 +	       size
 +	       ? build_int_cst (type, size - is_pos) : vrp_val_max (type));
 +	return true;
 +      }
 +
 +    case CFN_BUILT_IN_STRLEN:
 +      if (tree lhs = gimple_call_lhs (call))
 +	if (ptrdiff_type_node
 +	    && (TYPE_PRECISION (ptrdiff_type_node)
 +		== TYPE_PRECISION (TREE_TYPE (lhs))))
 +	  {
 +	    tree type = TREE_TYPE (lhs);
 +	    tree max = vrp_val_max (ptrdiff_type_node);
 +	    wide_int wmax
 +	      = wi::to_wide (max, TYPE_PRECISION (TREE_TYPE (max)));
 +	    tree range_min = build_zero_cst (type);
 +	    // To account for the terminating NULL, the maximum length
 +	    // is one less than the maximum array size, which in turn
 +	    // is one less than PTRDIFF_MAX (or SIZE_MAX where it's
 +	    // smaller than the former type).
 +	    // FIXME: Use max_object_size() - 1 here.
 +	    tree range_max = wide_int_to_tree (type, wmax - 2);
 +	    r.set (range_min, range_max);
 +	    return true;
 +	  }
 +      break;
 +    default:
 +      break;
 +    }
 +  return false;
 +}
 +
 +
 +
 +
 +// Calculate a range for COND_EXPR statement S and return it in R.
 +// If a range cannot be calculated, return false.
 +
 +bool
 +gimple_ranger::range_of_cond_expr  (irange &r, gassign *s)
 +{
 +  widest_irange cond_range, range1, range2;
 +  tree cond = gimple_assign_rhs1 (s);
 +  tree op1 = gimple_assign_rhs2 (s);
 +  tree op2 = gimple_assign_rhs3 (s);
 +
 +  gcc_checking_assert (gimple_assign_rhs_code (s) == COND_EXPR);
 +  gcc_checking_assert (useless_type_conversion_p  (TREE_TYPE (op1),
 +						   TREE_TYPE (op2)));
 +  if (!irange::supports_type_p (TREE_TYPE (op1)))
 +    return false;
 +
 +  gcc_assert (range_of_expr (cond_range, cond, s));
 +  gcc_assert (range_of_expr (range1, op1, s));
 +  gcc_assert (range_of_expr (range2, op2, s));
 +
 +  // If the condition is known, choose the appropriate expression.
 +  if (cond_range.singleton_p ())
 +    {
 +      // False, pick second operand
 +      if (cond_range.zero_p ())
 +	r = range2;
 +      else
 +	r = range1;
 +    }
 +  else
 +    {
 +      r = range1;
 +      r.union_ (range2);
 +    }
 +  return true;
 +}
 +
 +
 +
 +bool
 +gimple_ranger::range_of_expr (irange &r, tree expr, gimple *stmt)
 +{
 +  if (!gimple_range_ssa_p (expr))
 +    return get_tree_range (r, expr);
 +
 +  // If there is no statement, just get the global value.
 +  if (!stmt)
 +    {
 +      if (!m_cache.m_globals.get_global_range (r, expr))
 +        r = gimple_range_global (expr);
 +      return true;
 +    }
 +
 +  basic_block bb = gimple_bb (stmt);
 +  gimple *def_stmt = SSA_NAME_DEF_STMT (expr);
 +
 +  // If name is defined in this block, try to get an range from S.
 +  if (def_stmt && gimple_bb (def_stmt) == bb)
 +    gcc_assert (range_of_stmt (r, def_stmt, expr));
 +  else
 +    // Otherwise OP comes from outside this block, use range on entry.
 +    range_on_entry (r, bb, expr);
 +
 +  // No range yet, see if there is a dereference in the block.
 +  // We don't care if it's between the def and a use within a block
 +  // because the entire block must be executed anyway.
 +  // FIXME:?? For non-call exceptions we could have a statement throw
 +  // which causes an early block exit.
 +  // in which case we may need to walk from S back to the def/top of block
 +  // to make sure the deref happens between S and there before claiming
 +  // there is a deref.   Punt for now.
 +  if (!cfun->can_throw_non_call_exceptions && r.varying_p () &&
 +      m_cache.m_non_null.non_null_deref_p (expr, bb))
 +    r = range_nonzero (TREE_TYPE (expr));
 +
 +  return true;
 +}
 +
 +
 +// Return the range of NAME on entry to block BB in R.
 +
 +void
 +gimple_ranger::range_on_entry (irange &r, basic_block bb, tree name)
 +{
 +  widest_irange entry_range;
 +  gcc_checking_assert (gimple_range_ssa_p (name));
 +
 +  // Start with any known range
 +  gcc_assert (range_of_stmt (r, SSA_NAME_DEF_STMT (name), name));
 +
 +  // Now see if there is any on_entry value which may refine it.
 +  if (m_cache.block_range (entry_range, bb, name))
 +    r.intersect (entry_range);
 +}
 +
 +
 +// Calculate the range for NAME at the end of block BB and return it in R.
 +// Return false if no range can be calculated.
 +
 +void
 +gimple_ranger::range_on_exit (irange &r, basic_block bb, tree name)
 +{
 +  // on-exit from the exit block?
 +  gcc_checking_assert (bb != EXIT_BLOCK_PTR_FOR_FN (cfun));
 +
 +  gimple *s = last_stmt (bb);
 +  // If there is no statement in the block and this isn't the entry
 +  // block, go get the range_on_entry for this block.  For the entry
 +  // block, a NULL stmt will return the global value for NAME.
 +  if (!s && bb != ENTRY_BLOCK_PTR_FOR_FN (cfun))
 +    range_on_entry (r, bb, name);
 +  else
 +    gcc_assert (range_of_expr (r, name, s));
 +  gcc_checking_assert (r.undefined_p ()
 +		       || types_compatible_p (r.type(), TREE_TYPE (name)));
 +}
 +
 +// Calculate a range for NAME on edge E and return it in R.
 +
 +void
 +gimple_ranger::range_on_edge (irange &r, edge e, tree name)
 +{
 +  widest_irange edge_range;
 +  gcc_checking_assert (irange::supports_type_p (TREE_TYPE (name)));
 +
 +  // PHI arguments can be constants, catch these here.
 +  if (!gimple_range_ssa_p (name))
 +    {
 +      gcc_assert (range_of_expr (r, name));
 +      return;
 +    }
 +
 +  range_on_exit (r, e->src, name);
 +  gcc_checking_assert  (r.undefined_p ()
 +			|| types_compatible_p (r.type(), TREE_TYPE (name)));
 +
 +  // Check to see if NAME is defined on edge e.
 +  if (m_cache.outgoing_edge_range_p (edge_range, e, name))
 +    r.intersect (edge_range);
 +
 +  if (loop_aware_p ())
 +    {
 +      int_range<2> loop_range;
 +      if (range_with_loop_info (loop_range, name))
 +	r.intersect (loop_range);
 +    }
 +}
 +
 +// Calculate a range for statement S and return it in R.  If NAME is
 +// provided it represents the SSA_NAME on the LHS of the statement.
 +// It is only required if there is more than one lhs/output.  Check
 +// the global cache for NAME first to see if the evaluation can be
 +// avoided.  If a range cannot be calculated, return false.
 +
 +bool
 +gimple_ranger::range_of_stmt (irange &r, gimple *s, tree name)
 +{
 +  // If no name, simply call the base routine.
 +  if (!name)
 +    name = gimple_get_lhs (s);
 +
 +  if (!name)
 +    return calc_stmt (r, s, NULL_TREE);
 +
 +  gcc_checking_assert (TREE_CODE (name) == SSA_NAME &&
 +		       irange::supports_type_p (TREE_TYPE (name)));
 +
 +  // If this STMT has already been processed, return that value.
 +  if (m_cache.m_globals.get_global_range (r, name))
 +    return true;
 +  // Avoid infinite recursion by initializing global cache
 +  widest_irange tmp = gimple_range_global (name);
 +  m_cache.m_globals.set_global_range (name, tmp);
 +
 +  gcc_assert (calc_stmt (r, s, name));
 +
 +  if (is_a<gphi *> (s))
 +    r.intersect (tmp);
 +  m_cache.m_globals.set_global_range (name, r);
 +  return true;
 +}
 +
 +
 +// This routine will export whatever global ranges are known to GCC
 +// SSA_RANGE_NAME_INFO fields.
 +
 +void
 +gimple_ranger::export_global_ranges ()
 +{
 +  unsigned x;
 +  widest_irange r;
 +  if (dump_file)
 +    {
 +      fprintf (dump_file, "Exported global range table\n");
 +      fprintf (dump_file, "===========================\n");
 +    }
 +
 +  for ( x = 1; x < num_ssa_names; x++)
 +    {
 +      tree name = ssa_name (x);
 +      if (name && !SSA_NAME_IN_FREE_LIST (name)
 +	  && gimple_range_ssa_p (name)
 +	  && m_cache.m_globals.get_global_range (r, name)
 +	  && !r.varying_p())
 +	{
 +	  // Make sure the new range is a subset of the old range.
 +	  widest_irange old_range;
 +	  old_range = gimple_range_global (name);
 +	  old_range.intersect (r);
 +	  /* Disable this while we fix tree-ssa/pr61743-2.c.  */
 +	  //gcc_checking_assert (old_range == r);
 +
 +	  // WTF? Can't write non-null pointer ranges?? stupid set_range_info!
 +	  if (!POINTER_TYPE_P (TREE_TYPE (name)) && !r.undefined_p ())
 +	    {
 +	      value_range vr = r;
 +	      set_range_info (name, vr);
 +	      if (dump_file)
 +		{
 +		  print_generic_expr (dump_file, name , TDF_SLIM);
 +		  fprintf (dump_file, " --> ");
 +		  vr.dump (dump_file);
 +		  fprintf (dump_file, "\n");
 +		  fprintf (dump_file, "         irange : ");
 +		  r.dump (dump_file);
 +		  fprintf (dump_file, "\n");
 +		}
 +	    }
 +	}
 +    }
 +}
 +
 +
 +// Print the known table values to file F.
 +
 +void
 +gimple_ranger::dump (FILE *f)
 +{
 +  basic_block bb;
 +
 +  FOR_EACH_BB_FN (bb, cfun)
 +    {
 +      unsigned x;
 +      edge_iterator ei;
 +      edge e;
 +      widest_irange range;
 +      fprintf (f, "\n=========== BB %d ============\n", bb->index);
 +      m_cache.m_on_entry.dump (f, bb);
 +
 +      dump_bb (f, bb, 4, TDF_NONE);
 +
 +      // Now find any globals defined in this block
 +      for (x = 1; x < num_ssa_names; x++)
 +	{
 +	  tree name = ssa_name (x);
 +	  if (gimple_range_ssa_p (name) && SSA_NAME_DEF_STMT (name) &&
 +	      gimple_bb (SSA_NAME_DEF_STMT (name)) == bb &&
 +	      m_cache.m_globals.get_global_range (range, name))
 +	    {
 +	      if (!range.varying_p ())
 +	       {
 +		 print_generic_expr (f, name, TDF_SLIM);
 +		 fprintf (f, " : ");
 +		 range.dump (f);
 +		 fprintf (f, "\n");
 +	       }
 +
 +	    }
 +	}
 +
 +      // And now outgoing edges, if they define anything.
 +      FOR_EACH_EDGE (e, ei, bb->succs)
 +	{
 +	  for (x = 1; x < num_ssa_names; x++)
 +	    {
 +	      tree name = gimple_range_ssa_p (ssa_name (x));
 +	      if (name && m_cache.outgoing_edge_range_p (range, e, name))
 +		{
 +		  gimple *s = SSA_NAME_DEF_STMT (name);
 +		  // Only print the range if this is the def block, or
 +		  // the on entry cache for either end of the edge is
 +		  // set.
 +		  if ((s && bb == gimple_bb (s)) ||
 +		      m_cache.block_range (range, bb, name, false) ||
 +		      m_cache.block_range (range, e->dest, name, false))
 +		    {
 +		      range_on_edge (range, e, name);
 +		      if (!range.varying_p ())
 +			{
 +			  fprintf (f, "%d->%d ", e->src->index,
 +				   e->dest->index);
 +			  char c = ' ';
 +			  if (e->flags & EDGE_TRUE_VALUE)
 +			    fprintf (f, " (T)%c", c);
 +			  else if (e->flags & EDGE_FALSE_VALUE)
 +			    fprintf (f, " (F)%c", c);
 +			  else
 +			    fprintf (f, "     ");
 +			  print_generic_expr (f, name, TDF_SLIM);
 +			  fprintf(f, " : \t");
 +			  range.dump(f);
 +			  fprintf (f, "\n");
 +			}
 +		    }
 +		}
 +	    }
 +	}
 +    }
 +
 +  m_cache.m_globals.dump (dump_file);
 +  fprintf (f, "\n");
 +
 +  if (dump_flags & TDF_DETAILS)
 +    {
 +      fprintf (f, "\nDUMPING GORI MAP\n");
 +      m_cache.dump (f);
 +      fprintf (f, "\n");
 +    }
 +}
 +
 +// Bridge to provide a get_value_range() to range_of_var_in_loop.
 +// As an alternative, gimple_ranger could inherit from range_query and
 +// provide get_value_range, thus rendering this class unnecessary.
 +
 +class range_query_bridge : public range_query
 +{
 +public:
 +  range_query_bridge (gimple_ranger *ranger)
 +    : range_pool ("range_query_bridge range pool"),
 +      ranger (ranger) { }
 +  ~range_query_bridge ()
 +  {
 +    range_pool.release ();
 +  }
 +  const value_range_equiv *get_value_range (const_tree expr,
 +					    gimple *stmt) OVERRIDE
 +  {
 +    widest_irange r;
 +    if (ranger->range_of_expr (r, const_cast<tree> (expr), stmt))
 +      return new (range_pool.allocate ()) value_range_equiv (r);
 +    return new (range_pool.allocate ()) value_range_equiv (TREE_TYPE (expr));
 +  }
 +private:
 +  object_allocator<value_range_equiv> range_pool;
 +  gimple_ranger *ranger;
 +};
 +
 +gimple_ranger::gimple_ranger (bool use_loop_info)
 +{
 +  if (use_loop_info)
 +    m_range_query = new range_query_bridge (this);
 +  else
 +    m_range_query = NULL;
 +}
 +
 +gimple_ranger::~gimple_ranger ()
 +{
 +  if (loop_aware_p ())
 +    delete m_range_query;
 +}
 +
 +void
 +gimple_ranger::range_of_ssa_name_with_loop_info (irange &r, tree name,
 +						 class loop *l, gphi *phi)
 +{
 +  gcc_checking_assert (TREE_CODE (name) == SSA_NAME);
-   range_of_var_in_loop (&r, m_range_query, l, phi, name);
++  tree min, max, type = TREE_TYPE (name);
++  if (bounds_of_var_in_loop (&min, &max, m_range_query, l, phi, name))
++    {
++      // ?? We could do better here.  Since MIN/MAX can only be an
++      // SSA, SSA +- INTEGER_CST, or INTEGER_CST, we could easily call
++      // the ranger and solve anything not an integer.
++      if (TREE_CODE (min) != INTEGER_CST)
++	min = vrp_val_min (type);
++      if (TREE_CODE (max) != INTEGER_CST)
++	max = vrp_val_max (type);
++      r.set (min, max);
++    }
++  else
++    r.set_varying (type);
 +}
 +
 +// If NAME is either a PHI result or a PHI argument, see if we can
 +// determine range information by querying loop info.  If so, return
 +// TRUE and set the range in R.
 +
 +bool
 +gimple_ranger::range_with_loop_info (irange &r, tree name)
 +{
 +  if (!scev_initialized_p ())
 +    return false;
 +
 +  gimple *def = SSA_NAME_DEF_STMT (name);
 +  class loop *l = loop_containing_stmt (def);
 +  if (!l)
 +    return false;
 +
 +  basic_block header = l->header;
 +  for (gphi_iterator iter = gsi_start_phis (header);
 +       !gsi_end_p (iter); gsi_next (&iter))
 +    {
 +      gphi *phi = iter.phi ();
 +      if (PHI_RESULT (phi) == name)
 +	{
 +	  range_of_ssa_name_with_loop_info (r, name, l, phi);
 +	  return true;
 +	}
 +      for (size_t i = 0; i < gimple_phi_num_args (phi); ++i)
 +	if (PHI_ARG_DEF (phi, i) == name)
 +	  {
 +	    range_of_ssa_name_with_loop_info (r, name, l, phi);
 +	    return true;
 +	  }
 +    }
 +  return false;
 +}
diff --cc gcc/value-range.h
index f4e7403c0c9,1ab39939703..8ae6d9c10e3
--- a/gcc/value-range.h
+++ b/gcc/value-range.h
@@@ -621,56 -619,4 +621,56 @@@ vrp_val_min (const_tree type
    return NULL_TREE;
  }
  
 +
 +class irange_pool
 +{
 +public:
 +  irange_pool ();
 +  ~irange_pool ();
 +  irange *allocate (unsigned num_pairs);
 +  irange *allocate (const irange &);
 +private:
 +  struct obstack irange_obstack;
 +};
 +
 +inline
 +irange_pool::irange_pool ()
 +{
 +  obstack_init (&irange_obstack);
 +}
 +
 +inline
 +irange_pool::~irange_pool ()
 +{
 +  obstack_free (&irange_obstack, NULL);
 +}
 +
 +inline irange *
 +irange_pool::allocate (unsigned num_pairs)
 +{
 +  struct newir {
 +    irange range;
 +    tree mem[1];
 +  };
 +
-   // Never allocate 0 pairs.  
-   // // Dont allocate 1 either, or we get legacy value_range "usage".
++  // Never allocate 0 pairs.
++  // Dont allocate 1 either, or we get legacy value_range "usage".
 +  if (num_pairs < 2)
 +    num_pairs = 2;
 +
 +  struct newir *r = (struct newir *) obstack_alloc (&irange_obstack,
 +						       sizeof (struct newir)
 +						       + sizeof(tree) * 2
 +							 * (num_pairs - 1));
 +  return new ((irange *)r) irange (&(r->mem[0]), num_pairs);
 +}
 +
 +inline irange *
 +irange_pool::allocate (const irange &src)
 +{
 +  irange *r = allocate (src.num_pairs ());
 +  *r = src;
 +  return r;
 +}
 +
  #endif // GCC_VALUE_RANGE_H


More information about the Libstdc++-cvs mailing list