https://gcc.gnu.org/g:f1e5b36df008d0624b3a221b8d84179298c3421c
commit f1e5b36df008d0624b3a221b8d84179298c3421c Merge: 53d8e04c0b4a 703417a030b3 Author: Thomas Schwinge <tschwi...@baylibre.com> Date: Sun Mar 10 22:56:03 2024 +0100 Merge commit '0a85544e1aaeca41133ecfc438cda913dbc0f122^' into HEAD Diff: ChangeLog | 39 + MAINTAINERS | 9 +- Makefile.in | 4 +- Makefile.tpl | 4 +- configure | 2 + configure.ac | 2 + contrib/ChangeLog | 14 + contrib/filter_gcc_for_doxygen | 2 +- contrib/filter_params.py | 2 +- contrib/gcc-changelog/git_update_version.py | 2 +- contrib/gennews | 1 + gcc/BASE-VER | 2 +- gcc/ChangeLog | 5546 +++++++++++++ gcc/DATESTAMP | 2 +- gcc/Makefile.in | 4 +- gcc/ada/ChangeLog | 8 + gcc/ada/gcc-interface/utils.cc | 2 +- gcc/ada/gnatvsn.ads | 2 +- gcc/attr-fnspec.h | 4 +- gcc/auto-profile.cc | 2 +- gcc/bitmap.cc | 41 +- gcc/bitmap.h | 3 + gcc/builtins.cc | 23 +- gcc/c-family/ChangeLog | 4 + gcc/c-family/c-ubsan.cc | 8 +- gcc/c/ChangeLog | 45 + gcc/c/Make-lang.in | 32 +- gcc/c/c-decl.cc | 9 +- gcc/c/c-parser.cc | 33 +- gcc/c/c-typeck.cc | 20 +- gcc/c/gimple-parser.cc | 3 +- gcc/calls.cc | 10 + gcc/cfganal.cc | 41 +- gcc/cfganal.h | 3 +- gcc/cfgcleanup.cc | 8 +- gcc/cfgloopmanip.h | 5 + gcc/cgraph.cc | 19 +- gcc/cgraphclones.cc | 5 +- gcc/common.opt | 4 + gcc/common/config/i386/i386-common.cc | 25 +- gcc/common/config/riscv/riscv-common.cc | 12 +- gcc/config.gcc | 6 +- gcc/config/aarch64/aarch64-builtins.cc | 2 +- gcc/config/aarch64/aarch64-opts.h | 9 + gcc/config/aarch64/aarch64-protos.h | 1 + gcc/config/aarch64/aarch64-simd-builtins.def | 3 - gcc/config/aarch64/aarch64-simd.md | 670 +- gcc/config/aarch64/aarch64-sve.md | 17 +- gcc/config/aarch64/aarch64-sve2.md | 17 +- gcc/config/aarch64/aarch64.cc | 239 +- gcc/config/aarch64/aarch64.md | 108 +- gcc/config/aarch64/aarch64.opt | 20 + gcc/config/aarch64/arm_fp16.h | 2 +- gcc/config/aarch64/atomics.md | 6 +- gcc/config/aarch64/constraints.md | 2 +- gcc/config/aarch64/iterators.md | 44 +- gcc/config/aarch64/predicates.md | 12 + gcc/config/arc/arc.cc | 36 + gcc/config/arm/arm-builtins.cc | 237 +- gcc/config/arm/arm-builtins.h | 1 + gcc/config/arm/arm-c.cc | 42 +- gcc/config/arm/arm-mve-builtins-base.cc | 167 + gcc/config/arm/arm-mve-builtins-base.def | 50 + gcc/config/arm/arm-mve-builtins-base.h | 47 + gcc/config/arm/arm-mve-builtins-functions.h | 387 + gcc/config/arm/arm-mve-builtins-shapes.cc | 529 ++ gcc/config/arm/arm-mve-builtins-shapes.h | 47 + gcc/config/arm/arm-mve-builtins.cc | 2013 ++++- gcc/config/arm/arm-mve-builtins.def | 40 +- gcc/config/arm/arm-mve-builtins.h | 672 +- gcc/config/arm/arm-protos.h | 24 + gcc/config/arm/arm.cc | 34 +- gcc/config/arm/arm_mve.h | 7581 +----------------- gcc/config/arm/arm_mve_builtins.def | 6 - gcc/config/arm/arm_mve_types.h | 1430 ---- gcc/config/arm/iterators.md | 240 +- gcc/config/arm/mve.md | 1661 +--- gcc/config/arm/predicates.md | 4 + gcc/config/arm/t-arm | 32 +- gcc/config/arm/unspecs.md | 1 + gcc/config/arm/vec-common.md | 8 +- gcc/config/avr/avr.md | 3 +- gcc/config/bfin/predicates.md | 5 +- gcc/config/cris/constraints.md | 18 +- gcc/config/cris/cris-protos.h | 6 + gcc/config/cris/cris.cc | 111 +- gcc/config/cris/cris.md | 30 +- gcc/config/epiphany/epiphany.cc | 2 - gcc/config/gcn/gcn-valu.md | 271 +- gcc/config/gcn/gcn.cc | 11 +- gcc/config/gcn/gcn.md | 8 +- gcc/config/h8300/predicates.md | 3 +- gcc/config/i386/avx2intrin.h | 347 + gcc/config/i386/avx512bitalgintrin.h | 39 +- gcc/config/i386/avx512vbmi2intrin.h | 18 +- gcc/config/i386/avx512vbmi2vlintrin.h | 21 +- gcc/config/i386/avx512vlbwintrin.h | 348 +- gcc/config/i386/avx512vlintrin.h | 184 +- gcc/config/i386/cpuid.h | 61 +- gcc/config/i386/i386-builtin.def | 60 +- gcc/config/i386/i386-builtins.cc | 21 +- gcc/config/i386/i386-expand.cc | 149 +- gcc/config/i386/i386-features.cc | 9 +- gcc/config/i386/i386.cc | 71 +- gcc/config/i386/i386.h | 69 +- gcc/config/i386/i386.md | 434 +- gcc/config/i386/mmx.md | 89 + gcc/config/i386/predicates.md | 57 +- gcc/config/i386/sse.md | 200 +- gcc/config/i386/vaesintrin.h | 4 +- gcc/config/i386/vpclmulqdqintrin.h | 4 +- gcc/config/i386/wmmintrin.h | 29 +- gcc/config/iq2000/iq2000.cc | 3 - gcc/config/iq2000/predicates.md | 3 +- gcc/config/linux-protos.h | 2 + gcc/config/linux.cc | 11 + gcc/config/linux.h | 3 + gcc/config/loongarch/constraints.md | 46 +- gcc/config/loongarch/gnu-user.h | 7 +- gcc/config/loongarch/loongarch-protos.h | 4 +- gcc/config/loongarch/loongarch.cc | 143 +- gcc/config/loongarch/loongarch.h | 30 +- gcc/config/loongarch/loongarch.md | 69 +- gcc/config/loongarch/predicates.md | 36 + gcc/config/m32r/m32r.cc | 3 - gcc/config/microblaze/microblaze.cc | 3 - gcc/config/microblaze/microblaze.h | 5 +- gcc/config/mmix/mmix.cc | 3 - gcc/config/nvptx/mkoffload.cc | 14 + gcc/config/or1k/or1k.cc | 31 + gcc/config/riscv/bitmanip.md | 79 +- gcc/config/riscv/crypto.md | 24 - gcc/config/riscv/generic.md | 4 +- gcc/config/riscv/genrvv-type-indexer.cc | 259 +- gcc/config/riscv/iterators.md | 6 + gcc/config/riscv/linux.h | 10 - gcc/config/riscv/predicates.md | 7 +- gcc/config/riscv/riscv-builtins.cc | 6 +- gcc/config/riscv/riscv-cmo.def | 10 + gcc/config/riscv/riscv-modes.def | 222 +- gcc/config/riscv/riscv-opts.h | 15 + gcc/config/riscv/riscv-protos.h | 15 +- gcc/config/riscv/riscv-scalar-crypto.def | 6 - gcc/config/riscv/riscv-v.cc | 199 +- gcc/config/riscv/riscv-vector-builtins-bases.cc | 319 +- gcc/config/riscv/riscv-vector-builtins-bases.h | 9 + .../riscv/riscv-vector-builtins-functions.def | 25 + gcc/config/riscv/riscv-vector-builtins-shapes.cc | 139 + gcc/config/riscv/riscv-vector-builtins-shapes.h | 3 + gcc/config/riscv/riscv-vector-builtins-types.def | 209 + gcc/config/riscv/riscv-vector-builtins.cc | 285 +- gcc/config/riscv/riscv-vector-builtins.def | 422 +- gcc/config/riscv/riscv-vector-builtins.h | 13 + gcc/config/riscv/riscv-vector-switch.def | 279 +- gcc/config/riscv/riscv-vsetvl.cc | 171 +- gcc/config/riscv/riscv-vsetvl.h | 4 + gcc/config/riscv/riscv.cc | 461 +- gcc/config/riscv/riscv.h | 13 +- gcc/config/riscv/riscv.md | 80 +- gcc/config/riscv/riscv.opt | 41 + gcc/config/riscv/sync.md | 409 +- gcc/config/riscv/vector-iterators.md | 1039 ++- gcc/config/riscv/vector.md | 1543 +++- gcc/config/rs6000/aix72.h | 4 +- gcc/config/rs6000/aix73.h | 8 +- gcc/config/rs6000/altivec.md | 14 +- gcc/config/rs6000/linux.h | 3 + gcc/config/rs6000/linux64.h | 3 + gcc/config/rs6000/predicates.md | 37 + gcc/config/rs6000/rs6000-builtins.def | 26 +- gcc/config/rs6000/rs6000-linux.cc | 40 + gcc/config/rs6000/rs6000-protos.h | 2 + gcc/config/rs6000/rs6000.cc | 11 +- gcc/config/stormy16/stormy16.cc | 200 +- gcc/config/stormy16/stormy16.md | 181 +- gcc/config/xtensa/xtensa-dynconfig.cc | 18 + gcc/config/xtensa/xtensa-opts.h | 28 + gcc/config/xtensa/xtensa.cc | 4 + gcc/config/xtensa/xtensa.h | 2 +- gcc/config/xtensa/xtensa.opt | 7 + gcc/configure | 23 +- gcc/configure.ac | 23 +- gcc/cp/ChangeLog | 198 + gcc/cp/Make-lang.in | 33 +- gcc/cp/call.cc | 1 + gcc/cp/constexpr.cc | 23 +- gcc/cp/constraint.cc | 10 + gcc/cp/cp-gimplify.cc | 18 +- gcc/cp/cp-trait.def | 1 + gcc/cp/cp-tree.h | 31 +- gcc/cp/cxx-pretty-print.cc | 27 +- gcc/cp/decl.cc | 14 +- gcc/cp/decl2.cc | 1 + gcc/cp/friend.cc | 3 +- gcc/cp/init.cc | 35 +- gcc/cp/method.cc | 17 +- gcc/cp/name-lookup.cc | 41 +- gcc/cp/name-lookup.h | 2 + gcc/cp/parser.cc | 74 +- gcc/cp/pt.cc | 235 +- gcc/cp/search.cc | 25 +- gcc/cp/semantics.cc | 48 +- gcc/cp/tree.cc | 238 +- gcc/cp/typeck.cc | 2 +- gcc/cse.cc | 127 +- gcc/data-streamer.cc | 33 + gcc/data-streamer.h | 2 + gcc/df-core.cc | 86 +- gcc/df.h | 8 +- gcc/doc/extend.texi | 143 +- gcc/doc/gcov.texi | 47 +- gcc/doc/generic.texi | 4 +- gcc/doc/install.texi | 204 +- gcc/doc/invoke.texi | 56 +- gcc/doc/md.texi | 9 + gcc/doc/tm.texi | 15 + gcc/doc/tm.texi.in | 2 + gcc/dse.cc | 14 +- gcc/emit-rtl.cc | 4 + gcc/expmed.cc | 12 +- gcc/expmed.h | 27 +- gcc/expr.cc | 3 +- gcc/fold-const-call.cc | 12 +- gcc/fold-const.cc | 47 +- gcc/fold-const.h | 3 + gcc/fortran/ChangeLog | 52 + gcc/fortran/arith.cc | 2 +- gcc/fortran/check.cc | 2 +- gcc/fortran/class.cc | 2 +- gcc/fortran/decl.cc | 24 +- gcc/fortran/dependency.cc | 2 +- gcc/fortran/expr.cc | 2 +- gcc/fortran/frontend-passes.cc | 6 +- gcc/fortran/gfortran.h | 4 +- gcc/fortran/gfortran.texi | 8 +- gcc/fortran/interface.cc | 12 + gcc/fortran/intrinsic.cc | 2 +- gcc/fortran/iresolve.cc | 2 +- gcc/fortran/match.cc | 2 +- gcc/fortran/module.cc | 2 +- gcc/fortran/openmp.cc | 51 +- gcc/fortran/primary.cc | 6 +- gcc/fortran/resolve.cc | 6 +- gcc/fortran/simplify.cc | 4 +- gcc/fortran/trans-array.cc | 4 +- gcc/fortran/trans-decl.cc | 2 +- gcc/fortran/trans-expr.cc | 6 +- gcc/fortran/trans-intrinsic.cc | 2 +- gcc/fortran/trans-openmp.cc | 81 +- gcc/fortran/trans-stmt.cc | 10 +- gcc/function.cc | 3 +- gcc/gcc.cc | 4 + gcc/gcov.cc | 34 +- gcc/genmatch.cc | 266 +- gcc/genmultilib | 30 +- gcc/gimple-array-bounds.cc | 25 +- gcc/gimple-array-bounds.h | 2 +- gcc/gimple-fold.cc | 8 +- gcc/gimple-harden-conditionals.cc | 25 +- gcc/gimple-iterator.h | 4 + gcc/gimple-loop-versioning.cc | 2 +- gcc/gimple-match-exports.cc | 1253 +++ gcc/gimple-match-head.cc | 1192 +-- gcc/gimple-predicate-analysis.cc | 5 +- gcc/gimple-pretty-print.cc | 5 +- gcc/gimple-range-cache.cc | 219 +- gcc/gimple-range-cache.h | 52 +- gcc/gimple-range-edge.cc | 40 +- gcc/gimple-range-edge.h | 4 +- gcc/gimple-range-fold.cc | 86 +- gcc/gimple-range-gori.cc | 19 +- gcc/gimple-range-gori.h | 14 +- gcc/gimple-range-infer.cc | 25 +- gcc/gimple-range-infer.h | 2 +- gcc/gimple-range-op.cc | 250 +- gcc/gimple-range-path.cc | 67 +- gcc/gimple-range-path.h | 7 +- gcc/gimple-range-tests.cc | 9 +- gcc/gimple-range.cc | 16 +- gcc/gimple-range.h | 3 +- gcc/gimple-ssa-split-paths.cc | 5 +- gcc/gimple-ssa-warn-access.cc | 63 +- gcc/gimple-ssa-warn-alloca.cc | 8 +- gcc/gimple-ssa-warn-restrict.cc | 7 +- gcc/gimple.cc | 20 + gcc/gimple.h | 18 +- gcc/gimplify.cc | 25 +- gcc/graphite-scop-detection.cc | 12 +- gcc/ifcvt.cc | 2 +- gcc/inchash.cc | 36 + gcc/inchash.h | 2 + gcc/internal-fn.cc | 3 +- gcc/ipa-cp.cc | 71 +- gcc/ipa-devirt.cc | 15 +- gcc/ipa-fnsummary.cc | 73 +- gcc/ipa-inline.cc | 83 +- gcc/ipa-param-manipulation.cc | 15 +- gcc/ipa-param-manipulation.h | 2 +- gcc/ipa-prop.cc | 46 +- gcc/ipa-prop.h | 17 + gcc/ipa-pure-const.cc | 19 +- gcc/ira-costs.cc | 5 +- gcc/ira.cc | 4 + gcc/is-a.h | 13 + gcc/lcm.cc | 50 +- gcc/lower-subreg.cc | 39 +- gcc/lra-constraints.cc | 67 +- gcc/lra-lives.cc | 11 +- gcc/lto/ChangeLog | 4 + gcc/lto/Make-lang.in | 32 +- gcc/m2/ChangeLog | 181 + gcc/m2/Make-lang.in | 6 +- gcc/m2/Make-maintainer.in | 149 +- gcc/m2/gm2-compiler/M2ALU.mod | 20 +- gcc/m2/gm2-compiler/M2GenGCC.mod | 24 +- gcc/m2/gm2-compiler/M2Quads.def | 1 + gcc/m2/gm2-compiler/M2Quads.mod | 57 +- gcc/m2/gm2-compiler/SymbolTable.mod | 262 +- gcc/m2/gm2-gcc/m2decl.cc | 48 +- gcc/m2/gm2-gcc/m2decl.def | 10 +- gcc/m2/gm2-gcc/m2decl.h | 8 +- gcc/m2/gm2-gcc/m2expr.cc | 362 +- gcc/m2/gm2-gcc/m2expr.def | 4 + gcc/m2/gm2-gcc/m2expr.h | 2 + gcc/m2/gm2-gcc/m2tree.cc | 4 +- gcc/m2/gm2-gcc/m2type.cc | 19 +- gcc/m2/gm2-lang.cc | 29 +- gcc/m2/gm2-libs/DynamicStrings.mod | 9 +- gcc/m2/gm2-libs/M2Dependent.mod | 2 - gcc/m2/m2.flex | 1 + gcc/m2/mc-boot/GDynamicStrings.cc | 29 +- gcc/m2/mc-boot/GFIO.cc | 2 - gcc/m2/mc-boot/GFormatStrings.cc | 2 - gcc/m2/mc-boot/GM2Dependent.cc | 85 +- gcc/m2/mc-boot/GM2Dependent.h | 2 +- gcc/m2/mc-boot/GM2LINK.h | 60 - gcc/m2/mc-boot/GM2RTS.cc | 6 +- gcc/m2/mc-boot/GM2RTS.h | 2 +- gcc/m2/mc-boot/GRTExceptions.cc | 1 - gcc/m2/mc-boot/GRTint.cc | 6 +- gcc/m2/mc-boot/GSFIO.cc | 1 - gcc/m2/mc-boot/GStringConvert.cc | 4 +- gcc/m2/mc-boot/Gdecl.cc | 2 +- gcc/m2/pge-boot/GASCII.cc | 1 + gcc/m2/pge-boot/GASCII.h | 1 + gcc/m2/pge-boot/GArgs.cc | 5 +- gcc/m2/pge-boot/GArgs.h | 3 +- gcc/m2/pge-boot/GAssertion.cc | 5 +- gcc/m2/pge-boot/GAssertion.h | 3 +- gcc/m2/pge-boot/GBreak.h | 1 + gcc/m2/pge-boot/GCmdArgs.h | 3 +- gcc/m2/pge-boot/GDebug.cc | 14 +- gcc/m2/pge-boot/GDebug.h | 5 +- gcc/m2/pge-boot/GDynamicStrings.cc | 150 +- gcc/m2/pge-boot/GDynamicStrings.h | 15 +- gcc/m2/pge-boot/GEnvironment.h | 5 +- gcc/m2/pge-boot/GFIO.cc | 131 +- gcc/m2/pge-boot/GFIO.h | 19 +- gcc/m2/pge-boot/GFormatStrings.h | 1 + gcc/m2/pge-boot/GFpuIO.h | 1 + gcc/m2/pge-boot/GIO.cc | 113 +- gcc/m2/pge-boot/GIO.h | 9 +- gcc/m2/pge-boot/GIndexing.cc | 20 +- gcc/m2/pge-boot/GIndexing.h | 5 +- gcc/m2/pge-boot/GLists.cc | 15 +- gcc/m2/pge-boot/GLists.h | 3 +- gcc/m2/pge-boot/GM2Dependent.cc | 188 +- gcc/m2/pge-boot/GM2Dependent.h | 5 +- gcc/m2/pge-boot/GM2EXCEPTION.cc | 5 +- gcc/m2/pge-boot/GM2EXCEPTION.h | 3 +- gcc/m2/pge-boot/GM2LINK.cc | 27 - gcc/m2/pge-boot/GM2LINK.h | 59 - gcc/m2/pge-boot/GM2RTS.cc | 51 +- gcc/m2/pge-boot/GM2RTS.h | 13 +- gcc/m2/pge-boot/GNameKey.cc | 17 +- gcc/m2/pge-boot/GNameKey.h | 5 +- gcc/m2/pge-boot/GNumberIO.cc | 81 +- gcc/m2/pge-boot/GNumberIO.h | 1 + gcc/m2/pge-boot/GOutput.cc | 15 +- gcc/m2/pge-boot/GOutput.h | 3 +- gcc/m2/pge-boot/GPushBackInput.cc | 15 +- gcc/m2/pge-boot/GPushBackInput.h | 3 +- gcc/m2/pge-boot/GRTExceptions.cc | 52 +- gcc/m2/pge-boot/GRTExceptions.h | 9 +- gcc/m2/pge-boot/GSArgs.h | 3 +- gcc/m2/pge-boot/GSEnvironment.h | 5 +- gcc/m2/pge-boot/GSFIO.cc | 10 +- gcc/m2/pge-boot/GSFIO.h | 5 +- gcc/m2/pge-boot/GSYSTEM.h | 1 + gcc/m2/pge-boot/GScan.h | 5 +- gcc/m2/pge-boot/GStdIO.cc | 1 + gcc/m2/pge-boot/GStdIO.h | 1 + gcc/m2/pge-boot/GStorage.cc | 5 +- gcc/m2/pge-boot/GStorage.h | 3 +- gcc/m2/pge-boot/GStrCase.cc | 1 + gcc/m2/pge-boot/GStrCase.h | 1 + gcc/m2/pge-boot/GStrIO.cc | 9 +- gcc/m2/pge-boot/GStrIO.h | 1 + gcc/m2/pge-boot/GStrLib.cc | 27 +- gcc/m2/pge-boot/GStrLib.h | 7 +- gcc/m2/pge-boot/GStringConvert.h | 25 +- gcc/m2/pge-boot/GSymbolKey.cc | 27 +- gcc/m2/pge-boot/GSymbolKey.h | 9 +- gcc/m2/pge-boot/GSysExceptions.h | 1 + gcc/m2/pge-boot/GSysStorage.cc | 29 +- gcc/m2/pge-boot/GSysStorage.h | 3 +- gcc/m2/pge-boot/GTimeString.h | 1 + gcc/m2/pge-boot/GUnixArgs.h | 1 + gcc/m2/pge-boot/Gbnflex.cc | 45 +- gcc/m2/pge-boot/Gbnflex.h | 11 +- gcc/m2/pge-boot/Gdtoa.h | 5 +- gcc/m2/pge-boot/Gerrno.h | 1 + gcc/m2/pge-boot/Gldtoa.h | 5 +- gcc/m2/pge-boot/Glibc.h | 3 +- gcc/m2/pge-boot/Glibm.h | 1 + gcc/m2/pge-boot/Gpge.cc | 569 +- gcc/m2/pge-boot/Gtermios.h | 9 +- gcc/m2/pge-boot/Gwrapc.h | 1 + gcc/match.pd | 340 +- gcc/omp-expand.cc | 72 +- gcc/omp-low.cc | 3 +- gcc/opts.cc | 3 + gcc/params.opt | 20 +- gcc/po/ChangeLog | 14 + gcc/po/be.po | 3931 +++++----- gcc/po/da.po | 3940 +++++----- gcc/po/de.po | 3938 +++++----- gcc/po/el.po | 3927 +++++----- gcc/po/es.po | 3942 +++++----- gcc/po/fi.po | 3931 +++++----- gcc/po/fr.po | 3938 +++++----- gcc/po/gcc.pot | 8279 ++++++++++---------- gcc/po/hr.po | 4817 ++++++------ gcc/po/id.po | 3931 +++++----- gcc/po/ja.po | 3931 +++++----- gcc/po/nl.po | 3931 +++++----- gcc/po/ru.po | 3942 +++++----- gcc/po/sr.po | 3931 +++++----- gcc/po/sv.po | 4677 +++++------ gcc/po/tr.po | 3936 +++++----- gcc/po/uk.po | 3938 +++++----- gcc/po/vi.po | 3940 +++++----- gcc/po/zh_CN.po | 4054 +++++----- gcc/po/zh_TW.po | 3931 +++++----- gcc/pointer-query.cc | 7 +- gcc/predict.cc | 31 +- gcc/print-tree.cc | 6 +- gcc/print-tree.h | 1 + gcc/range-op-float.cc | 6 +- gcc/range-op.cc | 293 +- gcc/range.cc | 7 +- gcc/range.h | 14 +- gcc/real.cc | 22 +- gcc/real.h | 1 + gcc/realmpfr.h | 24 + gcc/recog.cc | 7 +- gcc/reload1.cc | 29 +- gcc/rtl.h | 13 +- gcc/rtlanal.cc | 11 +- gcc/sanopt.cc | 6 +- gcc/sese.cc | 16 +- gcc/simplify-rtx.cc | 53 +- gcc/system.h | 26 +- gcc/target.def | 17 + gcc/targhooks.cc | 68 + gcc/targhooks.h | 3 + gcc/testsuite/ChangeLog | 1198 +++ gcc/testsuite/c-c++-common/gomp/scan-6.c | 95 + gcc/testsuite/c-c++-common/hwasan/asan-pr70541.c | 2 +- gcc/testsuite/c-c++-common/hwasan/heap-overflow.c | 4 +- .../c-c++-common/hwasan/sanity-check-pure-c.c | 4 +- gcc/testsuite/c-c++-common/hwasan/use-after-free.c | 4 +- .../c-c++-common/patchable_function_entry-decl.c | 3 +- .../patchable_function_entry-default.c | 3 +- .../patchable_function_entry-definition.c | 3 +- .../c-c++-common/torture/harden-cond-comp.c | 24 + .../g++.dg/cpp0x/lambda/lambda-const11a.C | 21 + gcc/testsuite/g++.dg/cpp0x/nsdmi-array2.C | 15 + gcc/testsuite/g++.dg/cpp0x/nsdmi-template26.C | 22 + gcc/testsuite/g++.dg/cpp1z/variant1.C | 47 + gcc/testsuite/g++.dg/cpp23/ext-floating15.C | 1 + gcc/testsuite/g++.dg/cpp23/ext-floating2.C | 4 + .../g++.dg/cpp2a/concepts-placeholder13.C | 18 + gcc/testsuite/g++.dg/ext/int128-8.C | 24 + gcc/testsuite/g++.dg/ext/type_pack_element1.C | 19 + gcc/testsuite/g++.dg/ext/type_pack_element2.C | 14 + gcc/testsuite/g++.dg/ext/type_pack_element3.C | 22 + gcc/testsuite/g++.dg/ext/unsigned-typedef2.C | 25 + gcc/testsuite/g++.dg/ext/unsigned-typedef3.C | 25 + gcc/testsuite/g++.dg/gcov/gcov-17.C | 7 + gcc/testsuite/g++.dg/gcov/test-gcov-17.py | 20 +- gcc/testsuite/g++.dg/gomp/attrs-7.C | 8 +- gcc/testsuite/g++.dg/modules/alias-1_b.C | 2 +- gcc/testsuite/g++.dg/modules/alias-1_d.C | 2 +- gcc/testsuite/g++.dg/modules/alias-1_e.C | 2 +- gcc/testsuite/g++.dg/modules/alias-1_f.C | 2 +- gcc/testsuite/g++.dg/modules/bad-mapper-3.C | 2 +- gcc/testsuite/g++.dg/modules/cpp-6_c.C | 2 +- gcc/testsuite/g++.dg/modules/dir-only-2_b.C | 2 +- gcc/testsuite/g++.dg/pr109524.C | 2 +- gcc/testsuite/g++.dg/template/canon-type-20.C | 18 + gcc/testsuite/g++.dg/template/copy1.C | 3 +- gcc/testsuite/g++.dg/template/friend76.C | 36 + gcc/testsuite/g++.dg/template/friend77.C | 19 + gcc/testsuite/g++.dg/template/local10.C | 10 + gcc/testsuite/g++.dg/template/nontype12.C | 3 +- gcc/testsuite/g++.dg/template/ttp36.C | 12 + gcc/testsuite/g++.dg/torture/pr109607.C | 13 + gcc/testsuite/g++.dg/torture/pr109724.C | 32 + gcc/testsuite/g++.dg/vect/pr109573.cc | 91 + gcc/testsuite/g++.target/aarch64/pr109661-1.C | 253 + gcc/testsuite/g++.target/aarch64/pr109661-2.C | 253 + gcc/testsuite/g++.target/aarch64/pr109661-3.C | 253 + gcc/testsuite/g++.target/aarch64/pr109661-4.C | 253 + gcc/testsuite/g++.target/arm/mve.exp | 8 +- .../g++.target/arm/mve/general-c++/nomve_fp_1.c | 15 + .../arm/mve/general-c++/vreinterpretq_1.C | 25 + gcc/testsuite/g++.target/i386/pr109676.C | 46 + gcc/testsuite/g++.target/riscv/rvv/base/pr109535.C | 144 + gcc/testsuite/gcc.c-torture/compile/pr109604-1.c | 13 + gcc/testsuite/gcc.c-torture/compile/pr109604-2.c | 13 + gcc/testsuite/gcc.dg/goacc/pr107041.c | 23 + gcc/testsuite/gcc.dg/init-bad-1.c | 2 +- gcc/testsuite/gcc.dg/init-bad-2.c | 2 +- gcc/testsuite/gcc.dg/init-bad-3.c | 2 +- gcc/testsuite/gcc.dg/init-excess-3.c | 15 + gcc/testsuite/gcc.dg/ipa/ipa-pta-16.c | 2 +- gcc/testsuite/gcc.dg/pr109409.c | 10 + gcc/testsuite/gcc.dg/pr109412.c | 20 + gcc/testsuite/gcc.dg/pr109546.c | 24 + gcc/testsuite/gcc.dg/pr109583.c | 25 + gcc/testsuite/gcc.dg/pr109732-1.c | 24 + gcc/testsuite/gcc.dg/pr109732.c | 40 + gcc/testsuite/gcc.dg/pr61096-1.c | 2 +- gcc/testsuite/gcc.dg/sancov/basic0.c | 4 +- gcc/testsuite/gcc.dg/tm/alias-1.c | 2 +- gcc/testsuite/gcc.dg/tm/alias-2.c | 2 +- .../gcc.dg/torture/float128-cmp-invalid.c | 1 + gcc/testsuite/gcc.dg/torture/ipa-pta-1.c | 2 +- gcc/testsuite/gcc.dg/torture/pr109564-1.c | 74 + gcc/testsuite/gcc.dg/torture/pr109564-2.c | 33 + gcc/testsuite/gcc.dg/torture/pr109585.c | 33 + gcc/testsuite/gcc.dg/torture/pr109609.c | 26 + gcc/testsuite/gcc.dg/torture/pr109652.c | 40 + gcc/testsuite/gcc.dg/torture/pr39074-2.c | 2 +- gcc/testsuite/gcc.dg/torture/pr39074.c | 2 +- gcc/testsuite/gcc.dg/torture/pta-callused-1.c | 2 +- gcc/testsuite/gcc.dg/torture/pta-escape-1.c | 2 +- gcc/testsuite/gcc.dg/torture/pta-ptrarith-1.c | 2 +- gcc/testsuite/gcc.dg/torture/pta-ptrarith-2.c | 2 +- gcc/testsuite/gcc.dg/torture/pta-ptrarith-3.c | 2 +- gcc/testsuite/gcc.dg/torture/pta-structcopy-1.c | 2 +- gcc/testsuite/gcc.dg/torture/ssa-pta-fn-1.c | 2 +- gcc/testsuite/gcc.dg/tree-prof/peel-2.c | 21 + gcc/testsuite/gcc.dg/tree-ssa/abs-1.c | 12 + gcc/testsuite/gcc.dg/tree-ssa/alias-19.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/evrp-ignore.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/minmax-15.c | 3 +- gcc/testsuite/gcc.dg/tree-ssa/minmax-16.c | 7 +- gcc/testsuite/gcc.dg/tree-ssa/minmax-3.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/minmax-4.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/minmax-5.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/minmax-8.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/peel1.c | 4 +- gcc/testsuite/gcc.dg/tree-ssa/phi-opt-23.c | 4 +- gcc/testsuite/gcc.dg/tree-ssa/phi-opt-24.c | 4 +- gcc/testsuite/gcc.dg/tree-ssa/phi-opt-25a.c | 89 + gcc/testsuite/gcc.dg/tree-ssa/phi-opt-25b.c | 70 + gcc/testsuite/gcc.dg/tree-ssa/phi-opt-5.c | 10 +- gcc/testsuite/gcc.dg/tree-ssa/pr109639.c | 20 + gcc/testsuite/gcc.dg/tree-ssa/pr109643.c | 18 + gcc/testsuite/gcc.dg/tree-ssa/pr109711-1.c | 16 + gcc/testsuite/gcc.dg/tree-ssa/pr109711-2.c | 24 + gcc/testsuite/gcc.dg/tree-ssa/pta-callused.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/pta-fp.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/pta-ptrarith-1.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/pta-ptrarith-2.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/range-sincos.c | 43 + gcc/testsuite/gcc.dg/tree-ssa/range-sqrt.c | 41 + gcc/testsuite/gcc.dg/tree-ssa/split-path-1.c | 3 +- gcc/testsuite/gcc.dg/tree-ssa/ssa-ifcombine-13.c | 4 +- gcc/testsuite/gcc.dg/tree-ssa/vrp06.c | 2 +- gcc/testsuite/gcc.dg/unroll-8.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-layout-19.c | 7 +- gcc/testsuite/gcc.dg/vect/pr109011-1.c | 29 + gcc/testsuite/gcc.dg/vect/pr109011-2.c | 35 + gcc/testsuite/gcc.dg/vect/pr109011-3.c | 32 + gcc/testsuite/gcc.dg/vect/pr109011-4.c | 35 + gcc/testsuite/gcc.dg/vect/pr109011-5.c | 32 + gcc/testsuite/gcc.dg/vect/pr25413a.c | 3 +- gcc/testsuite/gcc.dg/vect/tsvc/vect-tsvc-s4113.c | 2 +- gcc/testsuite/gcc.dg/vect/tsvc/vect-tsvc-s491.c | 2 +- gcc/testsuite/gcc.dg/vect/tsvc/vect-tsvc-vas.c | 2 +- gcc/testsuite/gcc.dg/vect/vect-71.c | 2 +- gcc/testsuite/gcc.target/aarch64/csinv-2.c | 26 + .../gcc.target/aarch64/float_truncate_zero.c | 32 + gcc/testsuite/gcc.target/aarch64/ldapr-zext.c | 8 + gcc/testsuite/gcc.target/aarch64/mtp.c | 8 + gcc/testsuite/gcc.target/aarch64/mtp_1.c | 7 + gcc/testsuite/gcc.target/aarch64/mtp_2.c | 7 + gcc/testsuite/gcc.target/aarch64/mtp_3.c | 7 + gcc/testsuite/gcc.target/aarch64/mtp_4.c | 7 + gcc/testsuite/gcc.target/aarch64/pr108840.c | 38 + gcc/testsuite/gcc.target/aarch64/pr109661-1.c | 11 + gcc/testsuite/gcc.target/aarch64/simd/addlv_zext.c | 84 + gcc/testsuite/gcc.target/aarch64/simd/addsub_2.c | 56 + gcc/testsuite/gcc.target/aarch64/simd/pr99195_1.c | 95 + gcc/testsuite/gcc.target/aarch64/simd/pr99195_2.c | 76 + gcc/testsuite/gcc.target/aarch64/simd/pr99195_3.c | 68 + gcc/testsuite/gcc.target/aarch64/simd/pr99195_4.c | 35 + .../gcc.target/aarch64/simd/vabal_combine.c | 72 + gcc/testsuite/gcc.target/aarch64/sminmax-asr_1.c | 60 + gcc/testsuite/gcc.target/aarch64/spellcheck_11.c | 13 + .../gcc.target/aarch64/stp_vec_dup_32_64-1.c | 57 + .../gcc.target/aarch64/sve-neon-modes_1.c | 31 + .../gcc.target/aarch64/sve-neon-modes_2.c | 30 + .../gcc.target/aarch64/sve-neon-modes_3.c | 61 + .../gcc.target/aarch64/sve/acle/general/rev-1.c | 12 + gcc/testsuite/gcc.target/aarch64/sve/addsub_2.c | 52 + .../gcc.target/aarch64/sve2/div-by-bitmask_1.c | 6 +- .../gcc.target/aarch64/sve2/unpred_mul_1.c | 29 + gcc/testsuite/gcc.target/aarch64/vec-set-zero.c | 40 + .../gcc.target/arm/mve/general-c/nomve_fp_1.c | 15 + .../gcc.target/arm/mve/general-c/vreinterpretq_1.c | 25 + gcc/testsuite/gcc.target/avr/mmcu/pr109476.c | 11 + gcc/testsuite/gcc.target/avr/{ => mmcu}/pr54816.c | 0 gcc/testsuite/gcc.target/cris/peep2-andsplit1.c | 25 + gcc/testsuite/gcc.target/cris/peep2-andu1.c | 4 +- gcc/testsuite/gcc.target/cris/peep2-andu2.c | 6 +- gcc/testsuite/gcc.target/cris/peep2-xsrand.c | 6 +- gcc/testsuite/gcc.target/cris/peep2-xsrand2.c | 6 +- gcc/testsuite/gcc.target/gcn/fpdiv.c | 1 - .../gcc.target/i386/avx2-dest-false-dep-for-glc.c | 28 +- .../gcc.target/i386/avx512bitalg-vpopcntb-1.c | 3 +- .../gcc.target/i386/avx512bitalg-vpopcntb.c | 2 +- .../gcc.target/i386/avx512bitalg-vpopcntbvl.c | 2 +- .../gcc.target/i386/avx512bitalg-vpopcntw-1.c | 3 +- .../gcc.target/i386/avx512bitalg-vpopcntw.c | 2 +- .../gcc.target/i386/avx512bitalg-vpopcntwvl.c | 2 +- .../gcc.target/i386/avx512bitalg-vpshufbitqmb-1.c | 2 +- .../gcc.target/i386/avx512bitalg-vpshufbitqmb.c | 2 +- .../gcc.target/i386/avx512bitalgvl-vpopcntb-1.c | 3 +- .../gcc.target/i386/avx512bitalgvl-vpopcntw-1.c | 3 +- .../i386/avx512bitalgvl-vpshufbitqmb-1.c | 2 +- .../gcc.target/i386/avx512bw-pr100267-1.c | 2 +- .../gcc.target/i386/avx512bw-pr100267-b-2.c | 3 +- .../gcc.target/i386/avx512bw-pr100267-d-2.c | 3 +- .../gcc.target/i386/avx512bw-pr100267-q-2.c | 3 +- .../gcc.target/i386/avx512bw-pr100267-w-2.c | 3 +- .../i386/avx512dq-dest-false-dep-for-glc.c | 257 +- .../i386/avx512f-dest-false-dep-for-glc.c | 348 +- .../gcc.target/i386/avx512f-vpcompressb-1.c | 2 +- .../gcc.target/i386/avx512f-vpcompressb-2.c | 3 +- .../gcc.target/i386/avx512f-vpcompressw-1.c | 2 +- .../gcc.target/i386/avx512f-vpcompressw-2.c | 3 +- .../gcc.target/i386/avx512f-vpexpandb-1.c | 2 +- .../gcc.target/i386/avx512f-vpexpandb-2.c | 3 +- .../gcc.target/i386/avx512f-vpexpandw-1.c | 2 +- .../gcc.target/i386/avx512f-vpexpandw-2.c | 3 +- gcc/testsuite/gcc.target/i386/avx512f-vpshld-1.c | 2 +- gcc/testsuite/gcc.target/i386/avx512f-vpshldd-2.c | 3 +- gcc/testsuite/gcc.target/i386/avx512f-vpshldq-2.c | 3 +- gcc/testsuite/gcc.target/i386/avx512f-vpshldv-1.c | 2 +- gcc/testsuite/gcc.target/i386/avx512f-vpshldvd-2.c | 3 +- gcc/testsuite/gcc.target/i386/avx512f-vpshldvq-2.c | 3 +- gcc/testsuite/gcc.target/i386/avx512f-vpshldvw-2.c | 3 +- gcc/testsuite/gcc.target/i386/avx512f-vpshrdd-2.c | 3 +- gcc/testsuite/gcc.target/i386/avx512f-vpshrdq-2.c | 3 +- gcc/testsuite/gcc.target/i386/avx512f-vpshrdv-1.c | 2 +- gcc/testsuite/gcc.target/i386/avx512f-vpshrdvd-2.c | 3 +- gcc/testsuite/gcc.target/i386/avx512f-vpshrdvq-2.c | 3 +- gcc/testsuite/gcc.target/i386/avx512f-vpshrdvw-2.c | 3 +- gcc/testsuite/gcc.target/i386/avx512f-vpshrdw-2.c | 3 +- .../i386/avx512fp16-dest-false-dep-for-glc.c | 118 +- gcc/testsuite/gcc.target/i386/avx512fvl-vaes-1.c | 11 + .../gcc.target/i386/avx512vbmi2-vpshld-1.c | 2 +- .../gcc.target/i386/avx512vbmi2-vpshrd-1.c | 2 +- .../i386/avx512vl-dest-false-dep-for-glc.c | 243 +- .../gcc.target/i386/avx512vl-vpcompressb-1.c | 2 +- .../gcc.target/i386/avx512vl-vpcompressb-2.c | 2 +- .../gcc.target/i386/avx512vl-vpcompressw-2.c | 2 +- .../gcc.target/i386/avx512vl-vpexpandb-1.c | 2 +- .../gcc.target/i386/avx512vl-vpexpandb-2.c | 2 +- .../gcc.target/i386/avx512vl-vpexpandw-1.c | 2 +- .../gcc.target/i386/avx512vl-vpexpandw-2.c | 2 +- gcc/testsuite/gcc.target/i386/avx512vl-vpshldd-2.c | 2 +- gcc/testsuite/gcc.target/i386/avx512vl-vpshldq-2.c | 2 +- gcc/testsuite/gcc.target/i386/avx512vl-vpshldv-1.c | 2 +- .../gcc.target/i386/avx512vl-vpshldvd-2.c | 2 +- .../gcc.target/i386/avx512vl-vpshldvq-2.c | 2 +- .../gcc.target/i386/avx512vl-vpshldvw-2.c | 2 +- gcc/testsuite/gcc.target/i386/avx512vl-vpshrdd-2.c | 2 +- gcc/testsuite/gcc.target/i386/avx512vl-vpshrdq-2.c | 2 +- gcc/testsuite/gcc.target/i386/avx512vl-vpshrdv-1.c | 2 +- .../gcc.target/i386/avx512vl-vpshrdvd-2.c | 2 +- .../gcc.target/i386/avx512vl-vpshrdvq-2.c | 2 +- .../gcc.target/i386/avx512vl-vpshrdvw-2.c | 2 +- gcc/testsuite/gcc.target/i386/avx512vl-vpshrdw-2.c | 2 +- .../gcc.target/i386/avx512vl-vshuff32x4-1.c | 2 +- .../gcc.target/i386/avx512vl-vshuff64x2-1.c | 2 +- .../gcc.target/i386/avx512vl-vshufi32x4-1.c | 2 +- .../gcc.target/i386/avx512vl-vshufi64x2-1.c | 2 +- .../gcc.target/i386/avx512vlbw-pr100267-1.c | 2 +- .../gcc.target/i386/avx512vlbw-pr100267-b-2.c | 2 +- .../gcc.target/i386/avx512vlbw-pr100267-w-2.c | 2 +- .../gcc.target/i386/avx512vlbw-reduce-op-1.c | 206 + gcc/testsuite/gcc.target/i386/cmov10.c | 10 + gcc/testsuite/gcc.target/i386/cmov11.c | 10 + gcc/testsuite/gcc.target/i386/cmov6.c | 5 +- gcc/testsuite/gcc.target/i386/opt-vperm-vshuf-1.c | 51 + gcc/testsuite/gcc.target/i386/opt-vperm-vshuf-2.c | 68 + gcc/testsuite/gcc.target/i386/opt-vperm-vshuf-3.c | 63 + gcc/testsuite/gcc.target/i386/pr108707.c | 16 + gcc/testsuite/gcc.target/i386/pr109011-b1.c | 53 + gcc/testsuite/gcc.target/i386/pr109011-b2.c | 104 + gcc/testsuite/gcc.target/i386/pr109011-d1.c | 46 + gcc/testsuite/gcc.target/i386/pr109011-d2.c | 118 + gcc/testsuite/gcc.target/i386/pr109011-dq1.c | 46 + gcc/testsuite/gcc.target/i386/pr109011-dq2.c | 104 + gcc/testsuite/gcc.target/i386/pr109011-q1.c | 46 + gcc/testsuite/gcc.target/i386/pr109011-q2.c | 118 + gcc/testsuite/gcc.target/i386/pr109011-w1.c | 47 + gcc/testsuite/gcc.target/i386/pr109011-w2.c | 104 + gcc/testsuite/gcc.target/i386/pr109117-1.c | 4 +- gcc/testsuite/gcc.target/i386/pr78952-3.c | 40 + gcc/testsuite/gcc.target/i386/pr78952-4.c | 48 + gcc/testsuite/gcc.target/i386/pr88531-2a.c | 3 +- gcc/testsuite/gcc.target/i386/pr88531-2b.c | 3 +- gcc/testsuite/gcc.target/i386/pr88531-2c.c | 3 +- gcc/testsuite/gcc.target/i386/pr89618-2.c | 23 + gcc/testsuite/gcc.target/i386/pr93696-1.c | 2 +- gcc/testsuite/gcc.target/i386/pr93696-2.c | 2 +- gcc/testsuite/gcc.target/i386/pr94908.c | 14 + gcc/testsuite/gcc.target/i386/sse2-mmx-mult-vec.c | 27 + gcc/testsuite/gcc.target/i386/sse4_1-insertps-5.c | 19 + gcc/testsuite/gcc.target/i386/vpclmulqdq.c | 3 + gcc/testsuite/gcc.target/i386/vperm-v4sf-2-sse4.c | 4 + gcc/testsuite/gcc.target/loongarch/add-const.c | 45 + gcc/testsuite/gcc.target/loongarch/pr109465-1.c | 9 + gcc/testsuite/gcc.target/loongarch/pr109465-2.c | 9 + gcc/testsuite/gcc.target/loongarch/pr109465-3.c | 12 + .../gcc.target/loongarch/stack-check-cfa-1.c | 2 +- .../gcc.target/loongarch/stack-check-cfa-2.c | 2 +- gcc/testsuite/gcc.target/loongarch/va_arg.c | 24 + gcc/testsuite/gcc.target/mips/mips-ps-type-2.c | 4 +- gcc/testsuite/gcc.target/mips/movcc-3.c | 4 +- gcc/testsuite/gcc.target/powerpc/pr109069-1.c | 25 + gcc/testsuite/gcc.target/powerpc/pr109069-2-run.c | 50 + gcc/testsuite/gcc.target/powerpc/pr109069-2.c | 12 + gcc/testsuite/gcc.target/powerpc/pr109069-2.h | 83 + gcc/testsuite/gcc.target/powerpc/pr109566.c | 18 + .../gcc.target/riscv/amo-table-a-6-amo-add-1.c | 15 + .../gcc.target/riscv/amo-table-a-6-amo-add-2.c | 15 + .../gcc.target/riscv/amo-table-a-6-amo-add-3.c | 15 + .../gcc.target/riscv/amo-table-a-6-amo-add-4.c | 15 + .../gcc.target/riscv/amo-table-a-6-amo-add-5.c | 15 + .../riscv/amo-table-a-6-compare-exchange-1.c | 9 + .../riscv/amo-table-a-6-compare-exchange-2.c | 9 + .../riscv/amo-table-a-6-compare-exchange-3.c | 9 + .../riscv/amo-table-a-6-compare-exchange-4.c | 9 + .../riscv/amo-table-a-6-compare-exchange-5.c | 9 + .../riscv/amo-table-a-6-compare-exchange-6.c | 10 + .../riscv/amo-table-a-6-compare-exchange-7.c | 9 + .../gcc.target/riscv/amo-table-a-6-fence-1.c | 14 + .../gcc.target/riscv/amo-table-a-6-fence-2.c | 15 + .../gcc.target/riscv/amo-table-a-6-fence-3.c | 15 + .../gcc.target/riscv/amo-table-a-6-fence-4.c | 15 + .../gcc.target/riscv/amo-table-a-6-fence-5.c | 15 + .../gcc.target/riscv/amo-table-a-6-load-1.c | 16 + .../gcc.target/riscv/amo-table-a-6-load-2.c | 17 + .../gcc.target/riscv/amo-table-a-6-load-3.c | 18 + .../gcc.target/riscv/amo-table-a-6-store-1.c | 16 + .../gcc.target/riscv/amo-table-a-6-store-2.c | 17 + .../riscv/amo-table-a-6-store-compat-3.c | 18 + .../riscv/amo-table-a-6-subword-amo-add-1.c | 9 + .../riscv/amo-table-a-6-subword-amo-add-2.c | 9 + .../riscv/amo-table-a-6-subword-amo-add-3.c | 9 + .../riscv/amo-table-a-6-subword-amo-add-4.c | 9 + .../riscv/amo-table-a-6-subword-amo-add-5.c | 9 + gcc/testsuite/gcc.target/riscv/arch-19.c | 4 +- gcc/testsuite/gcc.target/riscv/arch-5.c | 2 +- gcc/testsuite/gcc.target/riscv/divmod-1.c | 11 + gcc/testsuite/gcc.target/riscv/divmod-2.c | 16 + gcc/testsuite/gcc.target/riscv/inline-atomics-1.c | 18 + gcc/testsuite/gcc.target/riscv/inline-atomics-2.c | 9 + gcc/testsuite/gcc.target/riscv/inline-atomics-3.c | 569 ++ gcc/testsuite/gcc.target/riscv/inline-atomics-4.c | 566 ++ gcc/testsuite/gcc.target/riscv/inline-atomics-5.c | 87 + gcc/testsuite/gcc.target/riscv/inline-atomics-6.c | 87 + gcc/testsuite/gcc.target/riscv/inline-atomics-7.c | 69 + gcc/testsuite/gcc.target/riscv/inline-atomics-8.c | 69 + gcc/testsuite/gcc.target/riscv/pr106602-rv32i.c | 14 + .../riscv/{pr106602.c => pr106602-rv64i.c} | 2 +- .../gcc.target/riscv/pr106602-rv64i_zba.c | 15 + gcc/testsuite/gcc.target/riscv/pr89835.c | 9 + .../gcc.target/riscv/read-thread-pointer.c | 1 + gcc/testsuite/gcc.target/riscv/rv32e_stack.c | 14 + gcc/testsuite/gcc.target/riscv/rvv/base/abi-10.c | 204 + gcc/testsuite/gcc.target/riscv/rvv/base/abi-11.c | 204 + gcc/testsuite/gcc.target/riscv/rvv/base/abi-12.c | 204 + gcc/testsuite/gcc.target/riscv/rvv/base/abi-13.c | 204 + gcc/testsuite/gcc.target/riscv/rvv/base/abi-14.c | 204 + gcc/testsuite/gcc.target/riscv/rvv/base/abi-15.c | 204 + gcc/testsuite/gcc.target/riscv/rvv/base/abi-16.c | 204 + gcc/testsuite/gcc.target/riscv/rvv/base/abi-8.c | 205 + gcc/testsuite/gcc.target/riscv/rvv/base/abi-9.c | 204 + .../riscv/rvv/base/binop_vv_constraint-4.c | 2 +- .../riscv/rvv/base/binop_vx_constraint-150.c | 2 +- .../riscv/rvv/base/integer_compare_insn_shortcut.c | 291 + .../gcc.target/riscv/rvv/base/mask_insn_shortcut.c | 3 +- .../riscv/rvv/base/narrow_constraint-12.c | 303 + .../riscv/rvv/base/narrow_constraint-13.c | 133 + .../riscv/rvv/base/narrow_constraint-14.c | 133 + .../riscv/rvv/base/narrow_constraint-15.c | 127 + .../riscv/rvv/base/narrow_constraint-16.c | 127 + .../riscv/rvv/base/narrow_constraint-17.c | 231 + .../riscv/rvv/base/narrow_constraint-18.c | 231 + .../riscv/rvv/base/narrow_constraint-19.c | 231 + .../riscv/rvv/base/narrow_constraint-20.c | 231 + .../riscv/rvv/base/narrow_constraint-21.c | 231 + .../riscv/rvv/base/narrow_constraint-22.c | 231 + .../riscv/rvv/base/narrow_constraint-23.c | 231 + .../riscv/rvv/base/narrow_constraint-24.c | 231 + .../riscv/rvv/base/narrow_constraint-25.c | 231 + .../riscv/rvv/base/narrow_constraint-26.c | 231 + .../riscv/rvv/base/narrow_constraint-27.c | 231 + .../riscv/rvv/base/narrow_constraint-28.c | 231 + .../riscv/rvv/base/narrow_constraint-29.c | 231 + .../riscv/rvv/base/narrow_constraint-30.c | 231 + .../riscv/rvv/base/narrow_constraint-31.c | 231 + .../gcc.target/riscv/rvv/base/pr108185-4.c | 4 +- .../gcc.target/riscv/rvv/base/pr108185-5.c | 2 +- .../gcc.target/riscv/rvv/base/pr108185-6.c | 2 +- gcc/testsuite/gcc.target/riscv/rvv/base/pr109535.c | 11 + .../gcc.target/riscv/rvv/base/reg_order-1.c | 20 + gcc/testsuite/gcc.target/riscv/rvv/base/spill-1.c | 2 +- gcc/testsuite/gcc.target/riscv/rvv/base/spill-11.c | 2 +- gcc/testsuite/gcc.target/riscv/rvv/base/spill-2.c | 2 +- gcc/testsuite/gcc.target/riscv/rvv/base/spill-3.c | 2 +- gcc/testsuite/gcc.target/riscv/rvv/base/spill-4.c | 32 +- gcc/testsuite/gcc.target/riscv/rvv/base/spill-5.c | 2 +- gcc/testsuite/gcc.target/riscv/rvv/base/spill-6.c | 16 +- gcc/testsuite/gcc.target/riscv/rvv/base/spill-9.c | 2 +- gcc/testsuite/gcc.target/riscv/rvv/base/tuple-1.c | 108 + gcc/testsuite/gcc.target/riscv/rvv/base/tuple-10.c | 51 + gcc/testsuite/gcc.target/riscv/rvv/base/tuple-11.c | 23 + gcc/testsuite/gcc.target/riscv/rvv/base/tuple-12.c | 108 + gcc/testsuite/gcc.target/riscv/rvv/base/tuple-13.c | 107 + gcc/testsuite/gcc.target/riscv/rvv/base/tuple-14.c | 51 + gcc/testsuite/gcc.target/riscv/rvv/base/tuple-15.c | 23 + gcc/testsuite/gcc.target/riscv/rvv/base/tuple-16.c | 107 + gcc/testsuite/gcc.target/riscv/rvv/base/tuple-17.c | 51 + gcc/testsuite/gcc.target/riscv/rvv/base/tuple-18.c | 23 + gcc/testsuite/gcc.target/riscv/rvv/base/tuple-19.c | 59 + gcc/testsuite/gcc.target/riscv/rvv/base/tuple-2.c | 108 + gcc/testsuite/gcc.target/riscv/rvv/base/tuple-20.c | 58 + gcc/testsuite/gcc.target/riscv/rvv/base/tuple-21.c | 30 + gcc/testsuite/gcc.target/riscv/rvv/base/tuple-22.c | 16 + gcc/testsuite/gcc.target/riscv/rvv/base/tuple-23.c | 58 + gcc/testsuite/gcc.target/riscv/rvv/base/tuple-24.c | 30 + gcc/testsuite/gcc.target/riscv/rvv/base/tuple-25.c | 16 + gcc/testsuite/gcc.target/riscv/rvv/base/tuple-26.c | 34 + gcc/testsuite/gcc.target/riscv/rvv/base/tuple-27.c | 29 + gcc/testsuite/gcc.target/riscv/rvv/base/tuple-3.c | 108 + gcc/testsuite/gcc.target/riscv/rvv/base/tuple-4.c | 107 + gcc/testsuite/gcc.target/riscv/rvv/base/tuple-5.c | 51 + gcc/testsuite/gcc.target/riscv/rvv/base/tuple-6.c | 23 + gcc/testsuite/gcc.target/riscv/rvv/base/tuple-7.c | 108 + gcc/testsuite/gcc.target/riscv/rvv/base/tuple-8.c | 108 + gcc/testsuite/gcc.target/riscv/rvv/base/tuple-9.c | 107 + gcc/testsuite/gcc.target/riscv/rvv/base/user-10.c | 206 + gcc/testsuite/gcc.target/riscv/rvv/base/user-11.c | 206 + gcc/testsuite/gcc.target/riscv/rvv/base/user-12.c | 206 + gcc/testsuite/gcc.target/riscv/rvv/base/user-13.c | 206 + gcc/testsuite/gcc.target/riscv/rvv/base/user-14.c | 206 + gcc/testsuite/gcc.target/riscv/rvv/base/user-15.c | 206 + gcc/testsuite/gcc.target/riscv/rvv/base/user-7.c | 204 + gcc/testsuite/gcc.target/riscv/rvv/base/user-8.c | 206 + gcc/testsuite/gcc.target/riscv/rvv/base/user-9.c | 206 + .../gcc.target/riscv/rvv/base/vlmul_ext-1.c | 14 + .../rvv/base/zero_base_load_store_optimization.c | 134 + gcc/testsuite/gcc.target/riscv/rvv/rvv.exp | 4 +- .../gcc.target/riscv/rvv/vsetvl/avl_single-102.c | 16 + .../gcc.target/riscv/rvv/vsetvl/ffload-1.c | 21 + .../gcc.target/riscv/rvv/vsetvl/ffload-2.c | 28 + .../gcc.target/riscv/rvv/vsetvl/ffload-3.c | 28 + .../gcc.target/riscv/rvv/vsetvl/ffload-5.c | 29 + .../gcc.target/riscv/rvv/vsetvl/ffload-6.c | 29 + .../gcc.target/riscv/rvv/vsetvl/ffload-7.c | 32 + .../gcc.target/riscv/rvv/vsetvl/imm_bb_prop-1.c | 2 +- .../gcc.target/riscv/rvv/vsetvl/imm_conflict-3.c | 4 +- .../gcc.target/riscv/rvv/vsetvl/pr108270.c | 19 + .../gcc.target/riscv/rvv/vsetvl/pr109547.c | 14 + .../gcc.target/riscv/rvv/vsetvl/vsetvl-17.c | 2 +- .../gcc.target/riscv/simplify_ior_optimization.c | 50 + .../gcc.target/riscv/stack_save_restore.c | 40 + gcc/testsuite/gcc.target/riscv/xtheadfmv-fmv.c | 2 +- gcc/testsuite/gcc.target/riscv/zbb-min-max-02.c | 4 +- gcc/testsuite/gcc.target/riscv/zbb-min-max-03.c | 13 + gcc/testsuite/gcc.target/riscv/zbb-rol-ror-04.c | 52 + gcc/testsuite/gcc.target/riscv/zbb-rol-ror-05.c | 24 + gcc/testsuite/gcc.target/riscv/zbb-rol-ror-06.c | 36 + gcc/testsuite/gcc.target/riscv/zbb-rol-ror-07.c | 64 + gcc/testsuite/gcc.target/riscv/zbc32.c | 23 + gcc/testsuite/gcc.target/riscv/zbc64.c | 23 + .../gcc.target/riscv/zbs-bclri-nottwobits.c | 14 + gcc/testsuite/gcc.target/rx/movsicc-1.c | 18 + gcc/testsuite/gcc.target/rx/movsicc-2.c | 18 + gcc/testsuite/gcc.target/rx/movsicc-3.c | 18 + gcc/testsuite/gcc.target/rx/movsicc-4.c | 18 + gcc/testsuite/gcc.target/rx/movsicc-5.c | 18 + gcc/testsuite/gcc.target/rx/movsicc-6.c | 18 + gcc/testsuite/gcc.target/rx/movsicc-7.c | 17 + gcc/testsuite/gcc.target/rx/movsicc-8.c | 17 + gcc/testsuite/gcc.target/rx/movsicc.c | 94 - gcc/testsuite/gcc.target/sparc/pr105573.c | 15 + gcc/testsuite/gcc.target/xstormy16/bswap16.c | 9 + gcc/testsuite/gcc.target/xstormy16/bswap32.c | 9 + gcc/testsuite/gcc.target/xstormy16/extendhisi2.c | 7 + gcc/testsuite/gcc.target/xstormy16/mulhi.c | 8 + gcc/testsuite/gcc.target/xstormy16/neghi2.c | 8 + gcc/testsuite/gcc.target/xstormy16/rotatehi-1.c | 10 + gcc/testsuite/gcc.target/xstormy16/shiftsi.c | 12 + gcc/testsuite/gcc.target/xstormy16/swpb.c | 9 + gcc/testsuite/gcc.target/xstormy16/swpn-1.c | 10 + gcc/testsuite/gcc.target/xstormy16/swpn-2.c | 14 + gcc/testsuite/gcc.target/xstormy16/swpn-3.c | 28 + gcc/testsuite/gcc.target/xstormy16/swpn-4.c | 25 + gcc/testsuite/gcc.target/xstormy16/swpw-1.c | 8 + gcc/testsuite/gcc.target/xstormy16/swpw-2.c | 14 + gcc/testsuite/gcc.target/xstormy16/zextendhisi2.c | 7 + .../gfortran.dg/allocatable_function_1.f90 | 2 +- .../gfortran.dg/allocatable_function_11.f90 | 36 + .../gfortran.dg/goacc/attach-descriptor.f90 | 12 +- gcc/testsuite/gfortran.dg/goacc/pr109622-5.f90 | 44 + gcc/testsuite/gfortran.dg/goacc/pr109622-6.f90 | 8 + gcc/testsuite/gfortran.dg/gomp/loop-2.f90 | 10 +- gcc/testsuite/gfortran.dg/gomp/reduction5.f90 | 2 +- gcc/testsuite/gfortran.dg/gomp/reduction6.f90 | 4 +- gcc/testsuite/gfortran.dg/gomp/scan-1.f90 | 9 +- gcc/testsuite/gfortran.dg/gomp/scan-8.f90 | 96 + gcc/testsuite/gfortran.dg/gomp/taskloop-2.f90 | 12 +- gcc/testsuite/gfortran.dg/ieee/ieee_6.f90 | 2 +- gcc/testsuite/gfortran.dg/reshape_8.f90 | 2 +- gcc/testsuite/gm2/pim/fail/largeconst.mod | 2 +- gcc/testsuite/gm2/pim/fail/largeconst2.mod | 7 + gcc/testsuite/gm2/pim/run/pass/ForChar.mod | 33 + gcc/testsuite/gm2/pim/run/pass/constlitbase.mod | 44 + gcc/testsuite/lib/gcov.exp | 2 +- gcc/testsuite/lib/gm2.exp | 4 + gcc/testsuite/lib/scanasm.exp | 2 +- gcc/testsuite/lib/target-supports.exp | 16 +- gcc/toplev.cc | 3 +- gcc/trans-mem.cc | 2 +- gcc/tree-affine.cc | 3 +- gcc/tree-cfg.cc | 207 +- gcc/tree-cfg.h | 3 +- gcc/tree-cfgcleanup.cc | 15 +- gcc/tree-core.h | 16 +- gcc/tree-data-ref.cc | 19 +- gcc/tree-dfa.cc | 3 +- gcc/tree-eh.cc | 19 +- gcc/tree-if-conv.cc | 11 +- gcc/tree-inline.cc | 2 +- gcc/tree-into-ssa.cc | 3 +- gcc/tree-loop-distribution.cc | 4 +- gcc/tree-parloops.cc | 12 +- gcc/tree-scalar-evolution.cc | 14 +- gcc/tree-ssa-alias.cc | 20 +- gcc/tree-ssa-dce.cc | 35 +- gcc/tree-ssa-dom.cc | 2 +- gcc/tree-ssa-forwprop.cc | 21 + gcc/tree-ssa-ifcombine.cc | 18 +- gcc/tree-ssa-loop-ch.cc | 162 +- gcc/tree-ssa-loop-ivcanon.cc | 108 +- gcc/tree-ssa-loop-ivopts.cc | 7 +- gcc/tree-ssa-loop-manip.cc | 17 +- gcc/tree-ssa-loop-niter.cc | 101 +- gcc/tree-ssa-loop-split.cc | 31 +- gcc/tree-ssa-loop-unswitch.cc | 37 +- gcc/tree-ssa-math-opts.cc | 39 +- gcc/tree-ssa-phiopt.cc | 1290 +-- gcc/tree-ssa-pre.cc | 21 +- gcc/tree-ssa-reassoc.cc | 28 +- gcc/tree-ssa-sccvn.cc | 31 +- gcc/tree-ssa-strlen.cc | 110 +- gcc/tree-ssa-structalias.cc | 146 +- gcc/tree-ssa-threadbackward.cc | 8 +- gcc/tree-ssa-threadedge.cc | 4 +- gcc/tree-ssa-threadupdate.cc | 25 - gcc/tree-ssa.cc | 49 +- gcc/tree-ssanames.cc | 35 +- gcc/tree-ssanames.h | 2 +- gcc/tree-stdarg.cc | 4 +- gcc/tree-streamer-in.cc | 14 +- gcc/tree-streamer-out.cc | 14 +- gcc/tree-switch-conversion.cc | 12 +- gcc/tree-tailcall.cc | 11 +- gcc/tree-vect-data-refs.cc | 6 +- gcc/tree-vect-generic.cc | 37 +- gcc/tree-vect-loop-manip.cc | 2 +- gcc/tree-vect-loop.cc | 7 +- gcc/tree-vect-patterns.cc | 464 +- gcc/tree-vect-slp.cc | 2 +- gcc/tree-vect-stmts.cc | 275 +- gcc/tree-vectorizer.cc | 11 +- gcc/tree-vrp.cc | 150 +- gcc/tree-vrp.h | 8 - gcc/tree.cc | 165 +- gcc/tree.def | 4 +- gcc/tree.h | 60 +- gcc/ubsan.cc | 9 +- gcc/value-pointer-equiv.cc | 5 +- gcc/value-query.cc | 45 +- gcc/value-query.h | 6 - gcc/value-range-pretty-print.cc | 15 +- gcc/value-range-storage.cc | 467 +- gcc/value-range-storage.h | 226 +- gcc/value-range.cc | 2419 ++---- gcc/value-range.h | 449 +- gcc/value-relation.cc | 6 + gcc/value-relation.h | 1 + gcc/vr-values.cc | 925 +-- gcc/vr-values.h | 17 +- gcc/wide-int.h | 12 +- gnattools/ChangeLog | 6 + gnattools/configure | 56 +- gnattools/configure.ac | 56 +- include/ChangeLog | 14 + include/ctf.h | 127 +- include/xtensa-dynconfig.h | 59 +- libcpp/ChangeLog | 13 + libgcc/ChangeLog | 20 + libgcc/config/cris/t-cris | 3 + libgcc/config/pru/t-pru | 3 + libgcc/config/riscv/atomic.c | 6 +- libgomp/ChangeLog | 27 + libgomp/testsuite/libgomp.c-c++-common/scan-1.c | 68 + libgomp/testsuite/libgomp.c/scan-23.c | 121 + libgomp/testsuite/libgomp.fortran/scan-2.f90 | 59 + .../testsuite/libgomp.oacc-fortran/pr109622-2.f90 | 35 + .../testsuite/libgomp.oacc-fortran/pr109622-3.f90 | 35 + .../testsuite/libgomp.oacc-fortran/pr109622-4.f90 | 47 + .../testsuite/libgomp.oacc-fortran/pr109622.f90 | 35 + libsanitizer/ChangeLog | 19 + libsanitizer/LOCAL_PATCHES | 2 +- libsanitizer/MERGE | 2 +- libsanitizer/asan/asan_allocator.cpp | 50 +- libsanitizer/asan/asan_allocator.h | 8 +- libsanitizer/asan/asan_errors.cpp | 20 + libsanitizer/asan/asan_errors.h | 67 +- libsanitizer/asan/asan_interceptors.cpp | 59 +- libsanitizer/asan/asan_internal.h | 2 +- libsanitizer/asan/asan_linux.cpp | 164 +- libsanitizer/asan/asan_mac.cpp | 6 - libsanitizer/asan/asan_malloc_win.cpp | 8 +- libsanitizer/asan/asan_memory_profile.cpp | 19 +- libsanitizer/asan/asan_poisoning.cpp | 334 +- libsanitizer/asan/asan_report.cpp | 12 + libsanitizer/asan/asan_report.h | 4 + libsanitizer/asan/asan_thread.cpp | 86 +- libsanitizer/asan/asan_win.cpp | 6 - libsanitizer/builtins/assembly.h | 2 +- libsanitizer/configure.tgt | 2 +- libsanitizer/hwasan/Makefile.am | 2 +- libsanitizer/hwasan/Makefile.in | 6 +- libsanitizer/hwasan/hwasan.cpp | 66 +- libsanitizer/hwasan/hwasan.h | 22 +- .../hwasan/hwasan_allocation_functions.cpp | 26 +- libsanitizer/hwasan/hwasan_allocator.cpp | 298 +- libsanitizer/hwasan/hwasan_allocator.h | 61 +- libsanitizer/hwasan/hwasan_checks.h | 101 +- libsanitizer/hwasan/hwasan_flags.inc | 3 + libsanitizer/hwasan/hwasan_fuchsia.cpp | 8 + libsanitizer/hwasan/hwasan_interceptors.cpp | 40 +- libsanitizer/hwasan/hwasan_linux.cpp | 11 + libsanitizer/hwasan/hwasan_new_delete.cpp | 24 + libsanitizer/hwasan/hwasan_poisoning.cpp | 8 + libsanitizer/hwasan/hwasan_registers.h | 56 + libsanitizer/hwasan/hwasan_report.cpp | 21 +- libsanitizer/hwasan/hwasan_setjmp_riscv64.S | 2 +- libsanitizer/hwasan/hwasan_thread.cpp | 58 + libsanitizer/hwasan/hwasan_thread.h | 14 +- libsanitizer/hwasan/hwasan_thread_list.h | 43 +- .../include/sanitizer/allocator_interface.h | 4 + .../include/sanitizer/common_interface_defs.h | 73 + libsanitizer/include/sanitizer/dfsan_interface.h | 20 + libsanitizer/include/sanitizer/hwasan_interface.h | 2 +- libsanitizer/include/sanitizer/tsan_interface.h | 6 + .../interception/interception_type_test.cpp | 4 +- libsanitizer/interception/interception_win.cpp | 2 +- libsanitizer/lsan/lsan.cpp | 2 +- libsanitizer/lsan/lsan_allocator.cpp | 29 +- libsanitizer/lsan/lsan_allocator.h | 10 +- libsanitizer/lsan/lsan_common.cpp | 61 +- libsanitizer/lsan/lsan_common.h | 181 +- libsanitizer/lsan/lsan_common_fuchsia.cpp | 13 +- libsanitizer/lsan/lsan_common_mac.cpp | 20 +- libsanitizer/lsan/lsan_fuchsia.cpp | 7 +- libsanitizer/lsan/lsan_interceptors.cpp | 2 +- libsanitizer/lsan/lsan_linux.cpp | 9 +- libsanitizer/lsan/lsan_mac.cpp | 19 +- libsanitizer/lsan/lsan_posix.cpp | 6 +- libsanitizer/lsan/lsan_thread.cpp | 47 +- libsanitizer/lsan/lsan_thread.h | 12 +- .../sanitizer_common/sanitizer_allocator.cpp | 6 +- .../sanitizer_allocator_combined.h | 2 +- .../sanitizer_allocator_interface.h | 2 + .../sanitizer_allocator_internal.h | 1 - .../sanitizer_allocator_secondary.h | 2 +- libsanitizer/sanitizer_common/sanitizer_common.cpp | 20 + libsanitizer/sanitizer_common/sanitizer_common.h | 3 + .../sanitizer_common_interceptors.inc | 205 +- .../sanitizer_common_interface.inc | 5 + .../sanitizer_common/sanitizer_common_syscalls.inc | 44 +- .../sanitizer_coverage_libcdep_new.cpp | 9 +- .../sanitizer_common/sanitizer_errno_codes.h | 1 + libsanitizer/sanitizer_common/sanitizer_file.h | 1 + .../sanitizer_common/sanitizer_flag_parser.cpp | 4 +- .../sanitizer_common/sanitizer_flag_parser.h | 2 +- .../sanitizer_interceptors_ioctl_netbsd.inc | 2 - .../sanitizer_interface_internal.h | 14 +- .../sanitizer_common/sanitizer_internal_defs.h | 9 - libsanitizer/sanitizer_common/sanitizer_linux.cpp | 43 +- libsanitizer/sanitizer_common/sanitizer_linux.h | 9 +- .../sanitizer_common/sanitizer_linux_libcdep.cpp | 20 +- libsanitizer/sanitizer_common/sanitizer_mac.cpp | 148 +- libsanitizer/sanitizer_common/sanitizer_mallinfo.h | 38 + libsanitizer/sanitizer_common/sanitizer_platform.h | 11 +- .../sanitizer_platform_interceptors.h | 22 +- .../sanitizer_platform_limits_netbsd.cpp | 2 - .../sanitizer_platform_limits_netbsd.h | 2 - .../sanitizer_platform_limits_posix.cpp | 55 +- .../sanitizer_platform_limits_posix.h | 52 +- libsanitizer/sanitizer_common/sanitizer_posix.cpp | 19 +- libsanitizer/sanitizer_common/sanitizer_procmaps.h | 24 +- .../sanitizer_common/sanitizer_procmaps_bsd.cpp | 16 + .../sanitizer_common/sanitizer_procmaps_common.cpp | 2 + .../sanitizer_common/sanitizer_procmaps_mac.cpp | 16 +- .../sanitizer_common/sanitizer_stacktrace.h | 4 +- .../sanitizer_stoptheworld_linux_libcdep.cpp | 12 +- .../sanitizer_common/sanitizer_suppressions.cpp | 1 + .../sanitizer_symbolizer_internal.h | 2 +- .../sanitizer_symbolizer_libbacktrace.cpp | 4 +- .../sanitizer_common/sanitizer_symbolizer_mac.cpp | 20 +- .../sanitizer_symbolizer_posix_libcdep.cpp | 38 +- .../sanitizer_symbolizer_report.cpp | 3 +- .../sanitizer_common/sanitizer_symbolizer_win.cpp | 6 +- .../sanitizer_common/sanitizer_thread_registry.cpp | 2 +- .../sanitizer_common/sanitizer_tls_get_addr.cpp | 29 +- .../sanitizer_common/sanitizer_tls_get_addr.h | 26 +- libsanitizer/sanitizer_common/sanitizer_win.cpp | 13 +- libsanitizer/tsan/tsan_external.cpp | 31 +- libsanitizer/tsan/tsan_flags.cpp | 10 +- libsanitizer/tsan/tsan_interceptors_mac.cpp | 1 + libsanitizer/tsan/tsan_interceptors_posix.cpp | 176 +- libsanitizer/tsan/tsan_interface.h | 5 + libsanitizer/tsan/tsan_mman.cpp | 19 + libsanitizer/tsan/tsan_platform.h | 170 +- libsanitizer/tsan/tsan_platform_linux.cpp | 25 +- libsanitizer/tsan/tsan_platform_posix.cpp | 2 +- libsanitizer/tsan/tsan_rtl.cpp | 3 + libsanitizer/tsan/tsan_rtl.h | 11 +- libsanitizer/tsan/tsan_rtl_aarch64.S | 37 +- libsanitizer/tsan/tsan_rtl_loongarch64.S | 196 + libsanitizer/tsan/tsan_rtl_report.cpp | 10 +- libsanitizer/tsan/tsan_spinlock_defs_mac.h | 45 + libsanitizer/tsan/tsan_suppressions.cpp | 5 +- libsanitizer/ubsan/ubsan_diag.cpp | 7 +- libsanitizer/ubsan/ubsan_type_hash_itanium.cpp | 23 +- libstdc++-v3/ChangeLog | 296 + libstdc++-v3/acinclude.m4 | 2 +- .../post/aarch64-linux-gnu/baseline_symbols.txt | 2 + .../abi/post/i486-linux-gnu/baseline_symbols.txt | 2 + .../abi/post/m68k-linux-gnu/baseline_symbols.txt | 2 + .../post/powerpc64-linux-gnu/baseline_symbols.txt | 277 +- .../powerpc64le-linux-gnu/baseline_symbols.txt | 6654 ++++++++++++++++ .../post/riscv64-linux-gnu/baseline_symbols.txt | 2 + .../abi/post/s390x-linux-gnu/baseline_symbols.txt | 2 + .../post/x86_64-linux-gnu/32/baseline_symbols.txt | 2 + .../abi/post/x86_64-linux-gnu/baseline_symbols.txt | 2 + libstdc++-v3/config/abi/pre/gnu.ver | 4 + libstdc++-v3/configure | 2 +- libstdc++-v3/configure.host | 3 + libstdc++-v3/doc/doxygen/user.cfg.in | 45 +- libstdc++-v3/doc/html/manual/abi.html | 6 +- libstdc++-v3/doc/html/manual/ext_demangling.html | 8 +- libstdc++-v3/doc/xml/manual/abi.xml | 7 + libstdc++-v3/doc/xml/manual/extensions.xml | 8 +- libstdc++-v3/include/bits/basic_string.h | 4 +- libstdc++-v3/include/bits/cow_string.h | 2 + libstdc++-v3/include/bits/forward_list.h | 2 + libstdc++-v3/include/bits/fs_dir.h | 35 +- libstdc++-v3/include/bits/fs_path.h | 18 +- libstdc++-v3/include/bits/gslice_array.h | 2 + libstdc++-v3/include/bits/indirect_array.h | 2 + libstdc++-v3/include/bits/mask_array.h | 2 + libstdc++-v3/include/bits/max_size_type.h | 3 +- libstdc++-v3/include/bits/memory_resource.h | 12 + libstdc++-v3/include/bits/mofunc_impl.h | 3 +- libstdc++-v3/include/bits/move.h | 11 +- libstdc++-v3/include/bits/quoted_string.h | 12 +- libstdc++-v3/include/bits/random.h | 127 +- libstdc++-v3/include/bits/ranges_algo.h | 9 +- libstdc++-v3/include/bits/ranges_cmp.h | 4 + libstdc++-v3/include/bits/regex.tcc | 4 - libstdc++-v3/include/bits/slice_array.h | 2 + libstdc++-v3/include/bits/stl_bvector.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 | 3 +- libstdc++-v3/include/bits/stl_set.h | 2 + libstdc++-v3/include/bits/stl_vector.h | 2 + libstdc++-v3/include/bits/uniform_int_dist.h | 11 + libstdc++-v3/include/bits/unordered_map.h | 4 + libstdc++-v3/include/bits/unordered_set.h | 4 + libstdc++-v3/include/bits/uses_allocator.h | 5 + libstdc++-v3/include/bits/utility.h | 6 + libstdc++-v3/include/experimental/memory_resource | 2 - libstdc++-v3/include/std/bit | 4 +- libstdc++-v3/include/std/expected | 4 +- libstdc++-v3/include/std/filesystem | 2 + libstdc++-v3/include/std/format | 4 +- libstdc++-v3/include/std/iomanip | 1 + libstdc++-v3/include/std/iostream | 2 + libstdc++-v3/include/std/memory_resource | 63 + libstdc++-v3/include/std/numbers | 2 +- libstdc++-v3/include/std/ranges | 10 +- libstdc++-v3/include/std/valarray | 2 + libstdc++-v3/include/std/version | 8 +- libstdc++-v3/libsupc++/cxxabi.h | 4 +- libstdc++-v3/src/c++11/random.cc | 18 +- libstdc++-v3/src/c++17/floating_from_chars.cc | 7 + libstdc++-v3/src/c++17/floating_to_chars.cc | 17 + libstdc++-v3/src/c++98/ios_init.cc | 7 + libstdc++-v3/testsuite/20_util/from_chars/4.cc | 3 +- .../testsuite/20_util/to_chars/long_double.cc | 4 + .../20_util/tuple/element_access/get_neg.cc | 1 + .../testsuite/25_algorithms/fold_left/1.cc | 4 +- .../testsuite/std/ranges/adaptors/as_const/1.cc | 37 +- .../testsuite/std/ranges/iota/max_size_type.cc | 12 +- .../testsuite/std/ranges/range_adaptor_closure.cc | 46 + libstdc++-v3/testsuite/std/ranges/version_c++23.cc | 18 +- libstdc++-v3/testsuite/util/testsuite_abi.cc | 3 +- libstdc++-v3/testsuite/util/testsuite_random.h | 3 +- maintainer-scripts/ChangeLog | 11 + maintainer-scripts/crontab | 9 +- maintainer-scripts/update_web_docs_git | 17 +- 1248 files changed, 104401 insertions(+), 66955 deletions(-)