------- Comment #14 from rguenther at suse dot de 2009-07-29 10:57 ------- Subject: Re: Function object abstraction penalty with inline functions.
On Wed, 29 Jul 2009, jamborm at gcc dot gnu dot org wrote: > ------- Comment #13 from jamborm at gcc dot gnu dot org 2009-07-29 10:16 > ------- > (In reply to comment #12) > > ... at least scheduling FRE is still on the list of possible things > > todo (can you check if that fixes 3713 as well?) > > > > No, it doesn't (unlike the testcase above, for which FRE is enough). > We have to remove the if-statement in (foo is a function): > > p$__pfn_25 = foo; > D.1739_3 = (int) p$__pfn_25; > D.1740_4 = D.1739_3 & 1; > if (D.1740_4 != 0) > goto <bb 3>; > else > goto <bb 4>; > > Not even FRE combined with a subsequent fwprop (in their current form) > can make this happen :-/ FRE has to be teached the & 1 simplification via looking through the int cast. Richard. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40874