Re: RFA: Avoiding unprofitable speculation

2011-09-27 Thread Richard Guenther
On Tue, Sep 27, 2011 at 12:30 AM, Jeff Law l...@redhat.com wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 08/18/11 15:59, Richard Henderson wrote: On 08/17/2011 12:21 AM, Richard Guenther wrote: The patch itself looks sensible, though I am surprised ifcvt doesn't run in cfglayout

Re: RFA: Avoiding unprofitable speculation

2011-09-26 Thread Jeff Law
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 08/18/11 15:59, Richard Henderson wrote: On 08/17/2011 12:21 AM, Richard Guenther wrote: The patch itself looks sensible, though I am surprised ifcvt doesn't run in cfglayout mode (so you have to use reg notes to find probabilities ...) It

Re: RFA: Avoiding unprofitable speculation

2011-08-19 Thread Jeff Law
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 08/18/11 15:59, Richard Henderson wrote: On 08/17/2011 12:21 AM, Richard Guenther wrote: The patch itself looks sensible, though I am surprised ifcvt doesn't run in cfglayout mode (so you have to use reg notes to find probabilities ...) It

Re: RFA: Avoiding unprofitable speculation

2011-08-17 Thread Richard Guenther
On Tue, Aug 16, 2011 at 11:14 PM, Jeff Law l...@redhat.com wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 ifcvt.c is sometimes over-aggressive in speculating instructions from a not-predicted path. Given:        if (test) goto E; // x not live        x = big();        goto L;    

Re: RFA: Avoiding unprofitable speculation

2011-08-17 Thread Jeff Law
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 08/17/11 01:21, Richard Guenther wrote: We don't have a way to distinguish branch-taken vs. branch-not-take costs, right? Not that I'm aware of. However, BRANCH_COST does allow the backend to change the cost of a branch based on its

RFA: Avoiding unprofitable speculation

2011-08-16 Thread Jeff Law
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 ifcvt.c is sometimes over-aggressive in speculating instructions from a not-predicted path. Given: if (test) goto E; // x not live x = big(); goto L; E: x = b; goto M; ifcvt wants to turn it into: