This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/42906] [4.5 Regression] Empty loop not removed



------- Comment #21 from rguenther at suse dot de  2010-03-18 17:30 -------
Subject: Re:  [4.5 Regression] Empty loop not
 removed

On Thu, 18 Mar 2010, changpeng dot fang at amd dot com wrote:

> ------- Comment #20 from changpeng dot fang at amd dot com  2010-03-18 17:24 -------
> (In reply to comment #19)
> > Splitting critical edges for CDDCE will probably also solve this problem.
> > 
> > Richard.
> > 
> 
> Yes, splitting critical edges is an enhancement to CDDCE and can solve this
> problem. There are two approaches to do this (1) add pass_split_crit_edges
> before each pass_cd_dce or (2) encode split_crit_edges into cddce as an
> initialization. What do you think? Thanks.

Ideally we'd handle this with pass properties and the pass manager
(but that requires larger changes).  For now I'd do it like the crited
pass before PRE, thus schedule a new pass before CDDCEs.

I also think that we can consider not fixing this for 4.5 and
do it properly for 4.6.

Richard.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42906


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]