Re: [PATCH 1/3] function: Do the CLEANUP_EXPENSIVE after shrink-wrapping, not before

2016-05-17 Thread Eric Botcazou
> I built cross-compilers for 30 targets, and built Linux with that. > 6 of those failed for unrelated reasons. Of the 24 that do build, > five show a few insns difference between having a cleanup_cfg before > shrink-wrapping or not (CLEANUP_EXPENSIVE made no difference there). > These targets are

Re: [PATCH 1/3] function: Do the CLEANUP_EXPENSIVE after shrink-wrapping, not before

2016-05-17 Thread Segher Boessenkool
On Tue, May 17, 2016 at 04:17:58AM -0500, Segher Boessenkool wrote: > On Tue, May 17, 2016 at 11:08:53AM +0200, Eric Botcazou wrote: > > > How would it? The shrink-wrapping algorithms do not much care how you > > > write your control flow. The only things I can think of are drastic > > > things l

Re: [PATCH 1/3] function: Do the CLEANUP_EXPENSIVE after shrink-wrapping, not before

2016-05-17 Thread Segher Boessenkool
On Tue, May 17, 2016 at 11:08:53AM +0200, Eric Botcazou wrote: > > How would it? The shrink-wrapping algorithms do not much care how you > > write your control flow. The only things I can think of are drastic > > things like removing some dead code, or converting a switch to a direct > > jump, bu

Re: [PATCH 1/3] function: Do the CLEANUP_EXPENSIVE after shrink-wrapping, not before

2016-05-17 Thread Eric Botcazou
> How would it? The shrink-wrapping algorithms do not much care how you > write your control flow. The only things I can think of are drastic > things like removing some dead code, or converting a switch to a direct > jump, but those had better be done for the immediately preceding passes > alrea

Re: [PATCH 1/3] function: Do the CLEANUP_EXPENSIVE after shrink-wrapping, not before

2016-05-17 Thread Segher Boessenkool
On Tue, May 17, 2016 at 10:05:57AM +0200, Eric Botcazou wrote: > > We should do CLEANUP_EXPENSIVE after shrink-wrapping, because shrink- > > wrapping creates constructs that CLEANUP_EXPENSIVE can optimise, and > > nothing runs CLEANUP_EXPENSIVE later. We don't need cleanup_cfg before > > shrink-wr

Re: [PATCH 1/3] function: Do the CLEANUP_EXPENSIVE after shrink-wrapping, not before

2016-05-17 Thread Eric Botcazou
> We should do CLEANUP_EXPENSIVE after shrink-wrapping, because shrink- > wrapping creates constructs that CLEANUP_EXPENSIVE can optimise, and > nothing runs CLEANUP_EXPENSIVE later. We don't need cleanup_cfg before > shrink-wrapping, nothing in shrink-wrapping (or the other *logue insertion > cod

[PATCH 1/3] function: Do the CLEANUP_EXPENSIVE after shrink-wrapping, not before

2016-05-16 Thread Segher Boessenkool
We should do CLEANUP_EXPENSIVE after shrink-wrapping, because shrink- wrapping creates constructs that CLEANUP_EXPENSIVE can optimise, and nothing runs CLEANUP_EXPENSIVE later. We don't need cleanup_cfg before shrink-wrapping, nothing in shrink-wrapping (or the other *logue insertion code) cares a