public inbox for gcc-cvs@sourceware.org help / color / mirror / Atom feed
From: Alexandre Oliva <aoliva@gcc.gnu.org> To: gcc-cvs@gcc.gnu.org Subject: [gcc(refs/users/aoliva/heads/testme)] hardcfr: add optional checkpoints [ada docs] Date: Thu, 8 Jun 2023 04:47:20 +0000 (GMT) [thread overview] Message-ID: <20230608044720.25C8E3857341@sourceware.org> (raw) https://gcc.gnu.org/g:5667c51ab286acf16b9e7bc67232514b614c0c68 commit 5667c51ab286acf16b9e7bc67232514b614c0c68 Author: Alexandre Oliva <oliva@adacore.com> Date: Wed Oct 19 20:36:17 2022 -0300 hardcfr: add optional checkpoints [ada docs] Previously, control flow redundancy only checked the visited bitmap against the control flow graph at return points and before mandatory tail calls, missing various other possibilities of exiting a subprogram, such as by raising or propagating exceptions, and calling noreturn functions. The checks inserted before returns also prevented potential tail-call optimizations. This incremental change introduces options to control checking at each of these previously-missed checkpoints. Unless disabled, a cleanup is introduced to check when an exceptions escapes a subprogram. To avoid disrupting sibcall optimizations, when they are enabled, checks are introduced before calls whose results are immediately returned, whether or not they are ultimately optimized. If enabled, checks are introduced before noreturn calls and exception raises, or only before nothrow noreturn calls. Add examples of code transformations to the GNAT RM. for gcc/ada/ChangeLog * doc/gnat_rm/security_hardening_features.rst: Document optional hardcfr checkpoints. Diff:
next reply other threads:[~2023-06-08 4:47 UTC|newest] Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-06-08 4:47 Alexandre Oliva [this message] -- strict thread matches above, loose matches on Subject: below -- 2023-06-09 6:16 Alexandre Oliva 2023-06-08 10:58 Alexandre Oliva 2023-06-08 10:42 Alexandre Oliva 2023-06-08 9:16 Alexandre Oliva 2022-10-25 2:51 Alexandre Oliva 2022-10-20 4:09 Alexandre Oliva 2022-10-06 10:31 Alexandre Oliva
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20230608044720.25C8E3857341@sourceware.org \ --to=aoliva@gcc.gnu.org \ --cc=gcc-cvs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).