Re: [PATCH, Darwin] Fix PR57438 by avoiding empty function bodies and trailing labels.

2016-11-18 Thread Segher Boessenkool
On Fri, Nov 18, 2016 at 05:19:31PM +, Iain Sandoe wrote: > I’d like to do that; is there a way to force a jump table for a limited set > of cases? > (the example was about the smallest I could get where GCC elected to produce > a jump table instead of branches) --param case-values-threshol

Re: [PATCH, Darwin] Fix PR57438 by avoiding empty function bodies and trailing labels.

2016-11-18 Thread Iain Sandoe
Hi Mike, > On 18 Nov 2016, at 17:16, Mike Stump wrote: > > On Nov 18, 2016, at 4:33 AM, Iain Sandoe wrote: >> >> As discussed on IRC, I was under the impression that it is desired to move >> away from #ifdef towards if() and I have been adding those where locally >> things have been touched

Re: [PATCH, Darwin] Fix PR57438 by avoiding empty function bodies and trailing labels.

2016-11-18 Thread Mike Stump
On Nov 18, 2016, at 4:33 AM, Iain Sandoe wrote: > > As discussed on IRC, I was under the impression that it is desired to move > away from #ifdef towards if() and I have been adding those where locally > things have been touched - in this case it was only partially possible. > > However, FAOD

Re: [PATCH, Darwin] Fix PR57438 by avoiding empty function bodies and trailing labels.

2016-11-18 Thread Iain Sandoe
Hi Segher, Thanks for the review, > On 6 Nov 2016, at 22:09, Segher Boessenkool > wrote: > > On Sun, Nov 06, 2016 at 12:13:16PM -0800, Iain Sandoe wrote: >> 2016-11-06 Iain Sandoe >> >> PR target/57438 >> * config/i386/i386.c (ix86_code_end): Note that we emitted code where >>

Re: [PATCH, Darwin] Fix PR57438 by avoiding empty function bodies and trailing labels.

2016-11-07 Thread Mike Stump
On Nov 6, 2016, at 12:13 PM, Iain Sandoe wrote: > > OK for trunk? > OK for open branches? For the darwin parts, Ok. > 2016-11-06 Iain Sandoe > > PR target/57438 > * config/i386/i386.c (ix86_code_end): Note that we emitted code where > the > function might otherwise appear

Re: [PATCH, Darwin] Fix PR57438 by avoiding empty function bodies and trailing labels.

2016-11-06 Thread Segher Boessenkool
Hi Iain, On Sun, Nov 06, 2016 at 12:13:16PM -0800, Iain Sandoe wrote: > 2016-11-06 Iain Sandoe > > PR target/57438 > * config/i386/i386.c (ix86_code_end): Note that we emitted code where > the > function might otherwise appear empty for picbase thunks. > (ix86_output_f

[PATCH, Darwin] Fix PR57438 by avoiding empty function bodies and trailing labels.

2016-11-06 Thread Iain Sandoe
Hi Folks, PR57438 has two manifestations - which arise from the same root cause. A. Empty function bodies causes two problems for Darwin's linker (i) zero-length FDEs and (ii) coincident label addresses that might point to items of differing weakness. B. Trailing local labels can be problemat