public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "jakub at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/107608] [13 Regression] Failure on fold-overflow-1.c and pr95115.c Date: Tue, 10 Jan 2023 14:39:54 +0000 [thread overview] Message-ID: <bug-107608-4-ETHCaNqCuh@http.gcc.gnu.org/bugzilla/> (raw) In-Reply-To: <bug-107608-4@http.gcc.gnu.org/bugzilla/> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107608 Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jsm28 at gcc dot gnu.org --- Comment #23 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Sure, VRP and DOM etc. have been replacing operations with singleton results for quite a while, but most of integer arithmetics don't cause exceptions which one can test or handle through signals. As has been said above, we have -fdelete-dead-exceptions option and we might want to consider similar option for the floating point traps. Without VRP and similar optimizations, both have some chances to work fine, say if I have: void foo (int *p, int *q) { int r = *p + *q; } and -fdelete-dead-exceptions -fnon-call-exceptions, the *p and *q reads could cause an exception, but as user said -fdelete-dead-exceptions and nothing uses the result, it is fine not to dereference those. A different question is: int bar (int *p, int *q) { int pv = *p; int qv = *q; if (pv != 0) __builtin_unreachable (); if (qv != 0) __builtin_unreachable (); int r = pv + qv; return r; } Here we actually are using what has been read from the memory, so it is much more fuzzy if we can still claim the exceptions are dead. And I think the frange vs. exceptions is exactly the same thing, though much more often happening in real-world code. So we'd need to figure out what the definition for "contribute to the execution of the program" actually is... With frange singleton folding, we could optimize tons of operations which each could raise some exceptions, just because we could prove what the final result would be. Does that count as a use of those values or not?
next prev parent reply other threads:[~2023-01-10 14:39 UTC|newest] Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-11-10 9:47 [Bug tree-optimization/107608] New: [13 Regression] Failure on fold-overflow-1.c jakub at gcc dot gnu.org 2022-11-10 9:49 ` [Bug tree-optimization/107608] " jakub at gcc dot gnu.org 2022-11-10 13:47 ` rguenth at gcc dot gnu.org 2022-11-10 18:13 ` pinskia at gcc dot gnu.org 2022-11-11 7:18 ` pinskia at gcc dot gnu.org 2022-11-13 6:30 ` [Bug tree-optimization/107608] [13 Regression] Failure on fold-overflow-1.c and pr95115.c xry111 at gcc dot gnu.org 2022-11-28 10:06 ` rguenth at gcc dot gnu.org 2022-12-05 13:22 ` aldyh at gcc dot gnu.org 2022-12-05 15:14 ` rguenth at gcc dot gnu.org 2022-12-05 16:30 ` aldyh at gcc dot gnu.org 2022-12-16 13:20 ` jakub at gcc dot gnu.org 2022-12-16 13:32 ` rguenth at gcc dot gnu.org 2023-01-09 15:18 ` aldyh at gcc dot gnu.org 2023-01-10 8:56 ` rguenth at gcc dot gnu.org 2023-01-10 8:58 ` rguenth at gcc dot gnu.org 2023-01-10 10:20 ` aldyh at gcc dot gnu.org 2023-01-10 10:25 ` aldyh at gcc dot gnu.org 2023-01-10 11:00 ` rguenth at gcc dot gnu.org 2023-01-10 11:09 ` jakub at gcc dot gnu.org 2023-01-10 12:08 ` rguenther at suse dot de 2023-01-10 14:14 ` jakub at gcc dot gnu.org 2023-01-10 14:25 ` amacleod at redhat dot com 2023-01-10 14:33 ` aldyh at gcc dot gnu.org 2023-01-10 14:39 ` jakub at gcc dot gnu.org [this message] 2023-01-10 14:40 ` aldyh at gcc dot gnu.org 2023-01-10 14:42 ` jakub at gcc dot gnu.org 2023-01-12 11:42 ` aldyh at gcc dot gnu.org 2023-01-12 12:03 ` jakub at gcc dot gnu.org 2023-01-12 12:26 ` xry111 at gcc dot gnu.org 2023-01-13 13:19 ` aldyh at gcc dot gnu.org 2023-01-13 13:25 ` aldyh at gcc dot gnu.org 2023-01-15 15:43 ` cvs-commit at gcc dot gnu.org 2023-01-16 21:38 ` romain.geissler at amadeus dot com 2023-01-16 21:46 ` jakub at gcc dot gnu.org 2023-01-16 21:55 ` romain.geissler at amadeus dot com 2023-01-16 21:58 ` fw at gcc dot gnu.org 2023-01-18 12:26 ` aldyh at gcc dot gnu.org 2023-01-18 12:54 ` jakub at gcc dot gnu.org 2023-01-18 12:56 ` aldyh at gcc dot gnu.org 2023-01-18 13:00 ` rguenth at gcc dot gnu.org 2023-01-18 13:03 ` rguenth at gcc dot gnu.org 2023-01-18 13:05 ` rguenth at gcc dot gnu.org 2023-01-19 1:15 ` xry111 at gcc dot gnu.org 2023-01-19 7:17 ` rguenther at suse dot de 2023-01-26 14:29 ` xry111 at gcc dot gnu.org 2023-01-27 7:35 ` rguenth at gcc dot gnu.org 2023-01-27 7:59 ` xry111 at gcc dot gnu.org 2023-01-27 9:53 ` rguenther at suse dot de 2023-01-27 10:02 ` xry111 at gcc dot gnu.org 2023-01-27 10:13 ` jakub at gcc dot gnu.org 2023-01-27 11:30 ` rguenther at suse dot de
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=bug-107608-4-ETHCaNqCuh@http.gcc.gnu.org/bugzilla/ \ --to=gcc-bugzilla@gcc.gnu.org \ --cc=gcc-bugs@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).