This is an automated email from the git hooks/post-receive script.
unknown user pushed a change to branch master in repository gcc.
from e90c7bd5205 rtl-ssa: Don't leave NOTE_INSN_DELETED around new 551935d1181 Control flow redundancy hardening
The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference.
Summary of changes: gcc/Makefile.in | 1 + gcc/ada/gcc-interface/trans.cc | 2 + gcc/builtins.def | 3 + gcc/c-family/c-attribs.cc | 22 + gcc/calls.cc | 3 + gcc/common.opt | 35 + gcc/cp/decl.cc | 3 +- gcc/cp/except.cc | 8 +- gcc/doc/extend.texi | 11 + gcc/doc/invoke.texi | 93 ++ gcc/flag-types.h | 10 + gcc/gimple-harden-control-flow.cc | 1488 ++++++++++++++++++++ gcc/gimple.cc | 6 + gcc/gimple.h | 23 + gcc/params.opt | 8 + gcc/passes.def | 1 + .../c-c++-common/harden-cfr-noret-never-O0.c | 12 + .../c-c++-common/torture/harden-cfr-abrt-always.c | 11 + .../c-c++-common/torture/harden-cfr-abrt-never.c | 11 + .../torture/harden-cfr-abrt-no-xthrow.c | 11 + .../c-c++-common/torture/harden-cfr-abrt-nothrow.c | 11 + .../c-c++-common/torture/harden-cfr-abrt.c | 19 + .../c-c++-common/torture/harden-cfr-always.c | 13 + .../c-c++-common/torture/harden-cfr-bret-always.c | 13 + .../c-c++-common/torture/harden-cfr-bret-never.c | 13 + .../torture/harden-cfr-bret-no-xthrow.c | 14 + .../c-c++-common/torture/harden-cfr-bret-noopt.c | 12 + .../c-c++-common/torture/harden-cfr-bret-noret.c | 12 + .../c-c++-common/torture/harden-cfr-bret-nothrow.c | 13 + .../c-c++-common/torture/harden-cfr-bret-retcl.c | 12 + .../c-c++-common/torture/harden-cfr-bret.c | 17 + .../c-c++-common/torture/harden-cfr-never.c | 13 + .../c-c++-common/torture/harden-cfr-no-xthrow.c | 13 + .../c-c++-common/torture/harden-cfr-noret-never.c | 18 + .../torture/harden-cfr-noret-noexcept.c | 16 + .../torture/harden-cfr-noret-nothrow.c | 13 + .../c-c++-common/torture/harden-cfr-noret.c | 38 + .../c-c++-common/torture/harden-cfr-notail.c | 8 + .../c-c++-common/torture/harden-cfr-nothrow.c | 13 + .../c-c++-common/torture/harden-cfr-returning.c | 35 + .../c-c++-common/torture/harden-cfr-skip-leaf.c | 10 + .../c-c++-common/torture/harden-cfr-tail.c | 52 + gcc/testsuite/c-c++-common/torture/harden-cfr.c | 84 ++ gcc/testsuite/g++.dg/harden-cfr-throw-always-O0.C | 13 + .../g++.dg/harden-cfr-throw-returning-O0.C | 12 + .../g++.dg/harden-cfr-throw-returning-enabled-O0.C | 11 + .../torture/harden-cfr-noret-always-no-nothrow.C | 16 + .../torture/harden-cfr-noret-never-no-nothrow.C | 18 + .../g++.dg/torture/harden-cfr-noret-no-nothrow.C | 23 + .../g++.dg/torture/harden-cfr-throw-always.C | 13 + .../g++.dg/torture/harden-cfr-throw-never.C | 12 + .../torture/harden-cfr-throw-no-xthrow-expected.C | 16 + .../g++.dg/torture/harden-cfr-throw-no-xthrow.C | 12 + .../g++.dg/torture/harden-cfr-throw-nocleanup.C | 11 + .../g++.dg/torture/harden-cfr-throw-nothrow.C | 11 + .../g++.dg/torture/harden-cfr-throw-returning.C | 31 + gcc/testsuite/g++.dg/torture/harden-cfr-throw.C | 73 + .../gcc.dg/torture/harden-cfr-noret-no-nothrow.c | 15 + gcc/testsuite/gcc.dg/torture/harden-cfr-tail-ub.c | 40 + gcc/testsuite/gnat.dg/hardcfr.adb | 76 + gcc/tree-core.h | 3 + gcc/tree-pass.h | 2 + gcc/tree.cc | 9 +- libgcc/Makefile.in | 3 + libgcc/hardcfr.c | 300 ++++ 65 files changed, 2938 insertions(+), 6 deletions(-) create mode 100644 gcc/gimple-harden-control-flow.cc create mode 100644 gcc/testsuite/c-c++-common/harden-cfr-noret-never-O0.c create mode 100644 gcc/testsuite/c-c++-common/torture/harden-cfr-abrt-always.c create mode 100644 gcc/testsuite/c-c++-common/torture/harden-cfr-abrt-never.c create mode 100644 gcc/testsuite/c-c++-common/torture/harden-cfr-abrt-no-xthrow.c create mode 100644 gcc/testsuite/c-c++-common/torture/harden-cfr-abrt-nothrow.c create mode 100644 gcc/testsuite/c-c++-common/torture/harden-cfr-abrt.c create mode 100644 gcc/testsuite/c-c++-common/torture/harden-cfr-always.c create mode 100644 gcc/testsuite/c-c++-common/torture/harden-cfr-bret-always.c create mode 100644 gcc/testsuite/c-c++-common/torture/harden-cfr-bret-never.c create mode 100644 gcc/testsuite/c-c++-common/torture/harden-cfr-bret-no-xthrow.c create mode 100644 gcc/testsuite/c-c++-common/torture/harden-cfr-bret-noopt.c create mode 100644 gcc/testsuite/c-c++-common/torture/harden-cfr-bret-noret.c create mode 100644 gcc/testsuite/c-c++-common/torture/harden-cfr-bret-nothrow.c create mode 100644 gcc/testsuite/c-c++-common/torture/harden-cfr-bret-retcl.c create mode 100644 gcc/testsuite/c-c++-common/torture/harden-cfr-bret.c create mode 100644 gcc/testsuite/c-c++-common/torture/harden-cfr-never.c create mode 100644 gcc/testsuite/c-c++-common/torture/harden-cfr-no-xthrow.c create mode 100644 gcc/testsuite/c-c++-common/torture/harden-cfr-noret-never.c create mode 100644 gcc/testsuite/c-c++-common/torture/harden-cfr-noret-noexcept.c create mode 100644 gcc/testsuite/c-c++-common/torture/harden-cfr-noret-nothrow.c create mode 100644 gcc/testsuite/c-c++-common/torture/harden-cfr-noret.c create mode 100644 gcc/testsuite/c-c++-common/torture/harden-cfr-notail.c create mode 100644 gcc/testsuite/c-c++-common/torture/harden-cfr-nothrow.c create mode 100644 gcc/testsuite/c-c++-common/torture/harden-cfr-returning.c create mode 100644 gcc/testsuite/c-c++-common/torture/harden-cfr-skip-leaf.c create mode 100644 gcc/testsuite/c-c++-common/torture/harden-cfr-tail.c create mode 100644 gcc/testsuite/c-c++-common/torture/harden-cfr.c create mode 100644 gcc/testsuite/g++.dg/harden-cfr-throw-always-O0.C create mode 100644 gcc/testsuite/g++.dg/harden-cfr-throw-returning-O0.C create mode 100644 gcc/testsuite/g++.dg/harden-cfr-throw-returning-enabled-O0.C create mode 100644 gcc/testsuite/g++.dg/torture/harden-cfr-noret-always-no-nothrow.C create mode 100644 gcc/testsuite/g++.dg/torture/harden-cfr-noret-never-no-nothrow.C create mode 100644 gcc/testsuite/g++.dg/torture/harden-cfr-noret-no-nothrow.C create mode 100644 gcc/testsuite/g++.dg/torture/harden-cfr-throw-always.C create mode 100644 gcc/testsuite/g++.dg/torture/harden-cfr-throw-never.C create mode 100644 gcc/testsuite/g++.dg/torture/harden-cfr-throw-no-xthrow-expected.C create mode 100644 gcc/testsuite/g++.dg/torture/harden-cfr-throw-no-xthrow.C create mode 100644 gcc/testsuite/g++.dg/torture/harden-cfr-throw-nocleanup.C create mode 100644 gcc/testsuite/g++.dg/torture/harden-cfr-throw-nothrow.C create mode 100644 gcc/testsuite/g++.dg/torture/harden-cfr-throw-returning.C create mode 100644 gcc/testsuite/g++.dg/torture/harden-cfr-throw.C create mode 100644 gcc/testsuite/gcc.dg/torture/harden-cfr-noret-no-nothrow.c create mode 100644 gcc/testsuite/gcc.dg/torture/harden-cfr-tail-ub.c create mode 100644 gcc/testsuite/gnat.dg/hardcfr.adb create mode 100644 libgcc/hardcfr.c