------- 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