public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/31657] New: Should combine bit tests in if stmts
@ 2007-04-22 11:34 rguenth at gcc dot gnu dot org
2007-06-12 12:06 ` [Bug tree-optimization/31657] " rguenth at gcc dot gnu dot org
2007-06-12 12:09 ` rguenth at gcc dot gnu dot org
0 siblings, 2 replies; 3+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2007-04-22 11:34 UTC (permalink / raw)
To: gcc-bugs
1)
if (X & (1 << a))
if (X & (1 << b))
should be combined to
tmp = (1 << a) | (1 << b)
if (X & tmp == tmp)
2)
if (X & a)
goto doit;
else
if (X & b)
goto doit
doit:
(i.e. the CFG form of (X & a || X & b))
should be combined to
if (X & (a | b))
goto doit
The first form happens in SPEC2k6 libquantum hottest loop. The patch I
have for this should also be made to address PR15353.
--
Summary: Should combine bit tests in if stmts
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Severity: enhancement
Priority: P3
Component: tree-optimization
AssignedTo: rguenth at gcc dot gnu dot org
ReportedBy: rguenth at gcc dot gnu dot org
OtherBugsDependingO 15353,15357,26163
nThis:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31657
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Bug tree-optimization/31657] Should combine bit tests in if stmts
2007-04-22 11:34 [Bug tree-optimization/31657] New: Should combine bit tests in if stmts rguenth at gcc dot gnu dot org
@ 2007-06-12 12:06 ` rguenth at gcc dot gnu dot org
2007-06-12 12:09 ` rguenth at gcc dot gnu dot org
1 sibling, 0 replies; 3+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2007-06-12 12:06 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from rguenth at gcc dot gnu dot org 2007-06-12 12:06 -------
Subject: Bug 31657
Author: rguenth
Date: Tue Jun 12 12:06:19 2007
New Revision: 125644
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=125644
Log:
2007-06-12 Richard Guenther <rguenther@suse.de>
PR tree-optimization/15353
PR tree-optimization/31657
* passes.c (init_optimization_passes): Add pass_tree_ifcombine.
* timevar.def: Add TV_TREE_IFCOMBINE.
* tree-pass.h (pass_tree_ifcombine): Declare.
* tree-ssa-ifcombine.c: New file.
* tree-ssa-phiopt.c (blocks_in_phiopt_order): Export.
* tree-flow.h (blocks_in_phiopt_order): Declare.
* Makefile.in (OBJS-common): Add tree-ssa-ifcombine.o.
(tree-ssa-ifcombine.o): New dependencies.
* gcc.c-torture/execute/20070424-1.c: New testcase.
* gcc.dg/tree-ssa/ssa-ifcombine-1.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-2.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-3.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-4.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-5.c: Likewise.
Added:
trunk/gcc/testsuite/gcc.c-torture/execute/20070424-1.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-ifcombine-1.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-ifcombine-2.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-ifcombine-3.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-ifcombine-4.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-ifcombine-5.c
trunk/gcc/tree-ssa-ifcombine.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/Makefile.in
trunk/gcc/passes.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/timevar.def
trunk/gcc/tree-flow.h
trunk/gcc/tree-pass.h
trunk/gcc/tree-ssa-phiopt.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31657
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Bug tree-optimization/31657] Should combine bit tests in if stmts
2007-04-22 11:34 [Bug tree-optimization/31657] New: Should combine bit tests in if stmts rguenth at gcc dot gnu dot org
2007-06-12 12:06 ` [Bug tree-optimization/31657] " rguenth at gcc dot gnu dot org
@ 2007-06-12 12:09 ` rguenth at gcc dot gnu dot org
1 sibling, 0 replies; 3+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2007-06-12 12:09 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from rguenth at gcc dot gnu dot org 2007-06-12 12:08 -------
Fixed.
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |FIXED
Target Milestone|--- |4.3.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31657
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2007-06-12 12:09 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-04-22 11:34 [Bug tree-optimization/31657] New: Should combine bit tests in if stmts rguenth at gcc dot gnu dot org
2007-06-12 12:06 ` [Bug tree-optimization/31657] " rguenth at gcc dot gnu dot org
2007-06-12 12:09 ` 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).