public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
* [Bug middle-end/27302] New: Fold does not fold i < j == j > i to 1 @ 2006-04-25 10:27 rguenth at gcc dot gnu dot org 2006-04-25 18:31 ` [Bug middle-end/27302] Fold does not fold (i < j) == (j > i) " pinskia at gcc dot gnu dot org ` (5 more replies) 0 siblings, 6 replies; 7+ messages in thread From: rguenth at gcc dot gnu dot org @ 2006-04-25 10:27 UTC (permalink / raw) To: gcc-bugs For the testcase int foo(int i, int j) { return (i < j) == (j > i); } fold does not fold the expression to 1, but instead to i < j ^ j > i which should be done as a last resort only. fold_comparison does not handle the original tree either, nor does operand_equal_p see that both operands of the EQ_EXPR are "equal". -- Summary: Fold does not fold i < j == j > i to 1 Product: gcc Version: 4.2.0 Status: UNCONFIRMED Keywords: missed-optimization Severity: enhancement Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: rguenth at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27302 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug middle-end/27302] Fold does not fold (i < j) == (j > i) to 1 2006-04-25 10:27 [Bug middle-end/27302] New: Fold does not fold i < j == j > i to 1 rguenth at gcc dot gnu dot org @ 2006-04-25 18:31 ` pinskia at gcc dot gnu dot org 2006-05-06 13:52 ` rguenth at gcc dot gnu dot org ` (4 subsequent siblings) 5 siblings, 0 replies; 7+ messages in thread From: pinskia at gcc dot gnu dot org @ 2006-04-25 18:31 UTC (permalink / raw) To: gcc-bugs ------- Comment #1 from pinskia at gcc dot gnu dot org 2006-04-25 18:31 ------- Confirmed. -- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2006-04-25 18:31:38 date| | Summary|Fold does not fold i < j == |Fold does not fold (i < j) |j > i to 1 |== (j > i) to 1 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27302 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug middle-end/27302] Fold does not fold (i < j) == (j > i) to 1 2006-04-25 10:27 [Bug middle-end/27302] New: Fold does not fold i < j == j > i to 1 rguenth at gcc dot gnu dot org 2006-04-25 18:31 ` [Bug middle-end/27302] Fold does not fold (i < j) == (j > i) " pinskia at gcc dot gnu dot org @ 2006-05-06 13:52 ` rguenth at gcc dot gnu dot org 2006-05-10 10:22 ` rguenth at gcc dot gnu dot org ` (3 subsequent siblings) 5 siblings, 0 replies; 7+ messages in thread From: rguenth at gcc dot gnu dot org @ 2006-05-06 13:52 UTC (permalink / raw) To: gcc-bugs ------- Comment #2 from rguenth at gcc dot gnu dot org 2006-05-06 13:52 ------- Working on a patch. -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at gcc dot gnu |rguenth at gcc dot gnu dot |dot org |org Status|NEW |ASSIGNED Last reconfirmed|2006-04-25 18:31:38 |2006-05-06 13:52:08 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27302 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug middle-end/27302] Fold does not fold (i < j) == (j > i) to 1 2006-04-25 10:27 [Bug middle-end/27302] New: Fold does not fold i < j == j > i to 1 rguenth at gcc dot gnu dot org 2006-04-25 18:31 ` [Bug middle-end/27302] Fold does not fold (i < j) == (j > i) " pinskia at gcc dot gnu dot org 2006-05-06 13:52 ` rguenth at gcc dot gnu dot org @ 2006-05-10 10:22 ` rguenth at gcc dot gnu dot org 2006-05-10 11:03 ` rguenth at gcc dot gnu dot org ` (2 subsequent siblings) 5 siblings, 0 replies; 7+ messages in thread From: rguenth at gcc dot gnu dot org @ 2006-05-10 10:22 UTC (permalink / raw) To: gcc-bugs ------- Comment #3 from rguenth at gcc dot gnu dot org 2006-05-10 10:22 ------- Subject: Bug 27302 Author: rguenth Date: Wed May 10 10:22:39 2006 New Revision: 113670 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=113670 Log: 2006-05-10 Richard Guenther <rguenther@suse.de> PR tree-optimization/27302 * fold-const.c (operand_equal_p): For two comparisons, try comparison of one comparison code swapped if that yields the same code. * gcc.dg/torture/pr27302.c: New testcase. Added: trunk/gcc/testsuite/gcc.dg/torture/pr27302.c Modified: trunk/gcc/ChangeLog trunk/gcc/fold-const.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27302 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug middle-end/27302] Fold does not fold (i < j) == (j > i) to 1 2006-04-25 10:27 [Bug middle-end/27302] New: Fold does not fold i < j == j > i to 1 rguenth at gcc dot gnu dot org ` (2 preceding siblings ...) 2006-05-10 10:22 ` rguenth at gcc dot gnu dot org @ 2006-05-10 11:03 ` rguenth at gcc dot gnu dot org 2006-05-15 19:38 ` patchapp at dberlin dot org 2007-02-06 12:39 ` rguenth at gcc dot gnu dot org 5 siblings, 0 replies; 7+ messages in thread From: rguenth at gcc dot gnu dot org @ 2006-05-10 11:03 UTC (permalink / raw) To: gcc-bugs ------- Comment #4 from rguenth at gcc dot gnu dot org 2006-05-10 11:03 ------- Fixed. -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution| |FIXED Target Milestone|--- |4.2.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27302 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug middle-end/27302] Fold does not fold (i < j) == (j > i) to 1 2006-04-25 10:27 [Bug middle-end/27302] New: Fold does not fold i < j == j > i to 1 rguenth at gcc dot gnu dot org ` (3 preceding siblings ...) 2006-05-10 11:03 ` rguenth at gcc dot gnu dot org @ 2006-05-15 19:38 ` patchapp at dberlin dot org 2007-02-06 12:39 ` rguenth at gcc dot gnu dot org 5 siblings, 0 replies; 7+ messages in thread From: patchapp at dberlin dot org @ 2006-05-15 19:38 UTC (permalink / raw) To: gcc-bugs ------- Comment #5 from patchapp at dberlin dot org 2006-05-15 19:37 ------- Subject: Bug number PR27302 A patch for this bug has been added to the patch tracker. The mailing list url for the patch is http://gcc.gnu.org/ml/gcc-patches/2006-05/msg00344.html -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27302 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug middle-end/27302] Fold does not fold (i < j) == (j > i) to 1 2006-04-25 10:27 [Bug middle-end/27302] New: Fold does not fold i < j == j > i to 1 rguenth at gcc dot gnu dot org ` (4 preceding siblings ...) 2006-05-15 19:38 ` patchapp at dberlin dot org @ 2007-02-06 12:39 ` rguenth at gcc dot gnu dot org 5 siblings, 0 replies; 7+ messages in thread From: rguenth at gcc dot gnu dot org @ 2007-02-06 12:39 UTC (permalink / raw) To: gcc-bugs ------- Comment #6 from rguenth at gcc dot gnu dot org 2007-02-06 12:38 ------- Subject: Bug 27302 Author: rguenth Date: Tue Feb 6 12:38:32 2007 New Revision: 121644 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=121644 Log: 2007-02-06 Richard Guenther <rguenther@suse.de> PR middle-end/27302 * gcc.dg/torture/pr27302-2.c: New testcase. Added: trunk/gcc/testsuite/gcc.dg/torture/pr27302-2.c Modified: trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27302 ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2007-02-06 12:39 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2006-04-25 10:27 [Bug middle-end/27302] New: Fold does not fold i < j == j > i to 1 rguenth at gcc dot gnu dot org 2006-04-25 18:31 ` [Bug middle-end/27302] Fold does not fold (i < j) == (j > i) " pinskia at gcc dot gnu dot org 2006-05-06 13:52 ` rguenth at gcc dot gnu dot org 2006-05-10 10:22 ` rguenth at gcc dot gnu dot org 2006-05-10 11:03 ` rguenth at gcc dot gnu dot org 2006-05-15 19:38 ` patchapp at dberlin dot org 2007-02-06 12:39 ` rguenth at gcc dot gnu dot org
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).