public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
* [Bug tree-optimization/14847] [tree-ssa] combine "if (a & 1) goto there" and "if (a & 4) goto there" [not found] <bug-14847-4@http.gcc.gnu.org/bugzilla/> @ 2014-10-31 4:02 ` pinskia at gcc dot gnu.org 0 siblings, 0 replies; 7+ messages in thread From: pinskia at gcc dot gnu.org @ 2014-10-31 4:02 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=14847 Bug 14847 depends on bug 15459, which changed state. Bug 15459 Summary: [meta-bug] there should be a tree combiner like the rtl one https://gcc.gnu.org/bugzilla/show_bug.cgi?id=15459 What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution|--- |FIXED ^ permalink raw reply [flat|nested] 7+ messages in thread
[parent not found: <bug-14847-5009@http.gcc.gnu.org/bugzilla/>]
* [Bug tree-optimization/14847] [tree-ssa] combine "if (a & 1) goto there" and "if (a & 4) goto there" [not found] <bug-14847-5009@http.gcc.gnu.org/bugzilla/> @ 2008-04-29 10:02 ` rguenth at gcc dot gnu dot org 2008-04-30 15:07 ` rguenth at gcc dot gnu dot org 2008-04-30 15:07 ` rguenth at gcc dot gnu dot org 2 siblings, 0 replies; 7+ messages in thread From: rguenth at gcc dot gnu dot org @ 2008-04-29 10:02 UTC (permalink / raw) To: gcc-bugs ------- Comment #4 from rguenth at gcc dot gnu dot org 2008-04-29 10:01 ------- The ifcombine pass would do this since 4.3.0 if there were not an extra conversion for a bittest of bit zero: <bb 2>: a.0_2 = (int) a_1(D); D.1556_3 = a.0_2 & 1; if (D.1556_3 != 0) goto <bb 4> (heaven); else goto <bb 3>; <bb 3>: D.1558_5 = a_1(D) & 4; if (D.1558_5 != 0) goto <bb 4> (heaven); else goto <bb 5>; this is probably due to fold. I will have a look. For void foo (unsigned int a) { if (a & 2) goto heaven; if (a & 4) goto heaven; return; heaven: bar (); } this is optimized to optimizing bits or bits test to a_1(D) & T != 0 with temporary T = 4 | 2 Merging blocks 2 and 3 foo (unsigned int a) { unsigned int D.1583; unsigned int D.1556; unsigned int D.1555; <bb 2>: D.1555_2 = a_1(D) & 2; D.1556_3 = a_1(D) & 4; D.1583_5 = a_1(D) & 6; if (D.1583_5 != 0) goto <bb 3> (heaven); else goto <bb 4>; Invalid sum of incoming frequencies 6100, should be 7231 heaven:; bar (); <bb 4>: Invalid sum of incoming frequencies 11131, should be 10000 return; } -- 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-02-05 21:36:17 |2008-04-29 10:01:23 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14847 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug tree-optimization/14847] [tree-ssa] combine "if (a & 1) goto there" and "if (a & 4) goto there" [not found] <bug-14847-5009@http.gcc.gnu.org/bugzilla/> 2008-04-29 10:02 ` rguenth at gcc dot gnu dot org @ 2008-04-30 15:07 ` rguenth at gcc dot gnu dot org 2008-04-30 15:07 ` rguenth at gcc dot gnu dot org 2 siblings, 0 replies; 7+ messages in thread From: rguenth at gcc dot gnu dot org @ 2008-04-30 15:07 UTC (permalink / raw) To: gcc-bugs ------- Comment #5 from rguenth at gcc dot gnu dot org 2008-04-30 15:06 ------- Fixed. -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Known to work| |4.4.0 Resolution| |FIXED Target Milestone|--- |4.4.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14847 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug tree-optimization/14847] [tree-ssa] combine "if (a & 1) goto there" and "if (a & 4) goto there" [not found] <bug-14847-5009@http.gcc.gnu.org/bugzilla/> 2008-04-29 10:02 ` rguenth at gcc dot gnu dot org 2008-04-30 15:07 ` rguenth at gcc dot gnu dot org @ 2008-04-30 15:07 ` rguenth at gcc dot gnu dot org 2 siblings, 0 replies; 7+ messages in thread From: rguenth at gcc dot gnu dot org @ 2008-04-30 15:07 UTC (permalink / raw) To: gcc-bugs ------- Comment #6 from rguenth at gcc dot gnu dot org 2008-04-30 15:07 ------- Subject: Bug 14847 Author: rguenth Date: Wed Apr 30 15:06:16 2008 New Revision: 134825 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=134825 Log: 2008-04-30 Richard Guenther <rguenther@suse.de> PR tree-optimization/14847 * tree-ssa-ifcombine.c (get_name_for_bit_test): New helper function. (recognize_bits_test): Use it. (recognize_single_bit_test): Likewise. * gcc.dg/tree-ssa/ssa-ifcombine-6.c: New testcase. Added: trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-ifcombine-6.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-ssa-ifcombine.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14847 ^ permalink raw reply [flat|nested] 7+ messages in thread
[parent not found: <20040404164820.14847.kazu@gcc.gnu.org>]
* [Bug tree-optimization/14847] [tree-ssa] combine "if (a & 1) goto there" and "if (a & 4) goto there" [not found] <20040404164820.14847.kazu@gcc.gnu.org> @ 2005-09-30 22:09 ` steven at gcc dot gnu dot org 0 siblings, 0 replies; 7+ messages in thread From: steven at gcc dot gnu dot org @ 2005-09-30 22:09 UTC (permalink / raw) To: gcc-bugs ------- Additional Comments From steven at gcc dot gnu dot org 2005-09-30 22:09 ------- In fact, combine also doesn't catch this for me on AMD64. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14847 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug optimization/14847] New: [tree-ssa @ 2004-04-04 16:48 kazu at cs dot umass dot edu 2004-05-24 19:57 ` [Bug tree-optimization/14847] [tree-ssa] combine "if (a & 1) goto there" and "if (a & 4) goto there" pinskia at gcc dot gnu dot org 2005-04-21 0:40 ` kazu at cs dot umass dot edu 0 siblings, 2 replies; 7+ messages in thread From: kazu at cs dot umass dot edu @ 2004-04-04 16:48 UTC (permalink / raw) To: gcc-bugs -- Summary: [tree-ssa Product: gcc Version: tree-ssa Status: UNCONFIRMED Severity: enhancement Priority: P2 Component: optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: kazu at cs dot umass dot edu CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14847 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug tree-optimization/14847] [tree-ssa] combine "if (a & 1) goto there" and "if (a & 4) goto there" 2004-04-04 16:48 [Bug optimization/14847] New: [tree-ssa kazu at cs dot umass dot edu @ 2004-05-24 19:57 ` pinskia at gcc dot gnu dot org 2005-04-21 0:40 ` kazu at cs dot umass dot edu 1 sibling, 0 replies; 7+ messages in thread From: pinskia at gcc dot gnu dot org @ 2004-05-24 19:57 UTC (permalink / raw) To: gcc-bugs -- What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|3.5.0 |--- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14847 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug tree-optimization/14847] [tree-ssa] combine "if (a & 1) goto there" and "if (a & 4) goto there" 2004-04-04 16:48 [Bug optimization/14847] New: [tree-ssa kazu at cs dot umass dot edu 2004-05-24 19:57 ` [Bug tree-optimization/14847] [tree-ssa] combine "if (a & 1) goto there" and "if (a & 4) goto there" pinskia at gcc dot gnu dot org @ 2005-04-21 0:40 ` kazu at cs dot umass dot edu 1 sibling, 0 replies; 7+ messages in thread From: kazu at cs dot umass dot edu @ 2005-04-21 0:40 UTC (permalink / raw) To: gcc-bugs -- Bug 14847 depends on bug 14846, which changed state. Bug 14846 Summary: [tree-ssa] don't use a shift in A & CST_POWER_OF_2 == 0 until very late in tree-ssa optimizations http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14846 What |Old Value |New Value ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14847 ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2014-10-31 4:02 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <bug-14847-4@http.gcc.gnu.org/bugzilla/> 2014-10-31 4:02 ` [Bug tree-optimization/14847] [tree-ssa] combine "if (a & 1) goto there" and "if (a & 4) goto there" pinskia at gcc dot gnu.org [not found] <bug-14847-5009@http.gcc.gnu.org/bugzilla/> 2008-04-29 10:02 ` rguenth at gcc dot gnu dot org 2008-04-30 15:07 ` rguenth at gcc dot gnu dot org 2008-04-30 15:07 ` rguenth at gcc dot gnu dot org [not found] <20040404164820.14847.kazu@gcc.gnu.org> 2005-09-30 22:09 ` steven at gcc dot gnu dot org 2004-04-04 16:48 [Bug optimization/14847] New: [tree-ssa kazu at cs dot umass dot edu 2004-05-24 19:57 ` [Bug tree-optimization/14847] [tree-ssa] combine "if (a & 1) goto there" and "if (a & 4) goto there" pinskia at gcc dot gnu dot org 2005-04-21 0:40 ` kazu at cs dot umass dot edu
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).