Re: [patch] Fix PR middle-end/55321

2012-11-29 Thread Richard Henderson
On 2012-11-29 06:29, Eric Botcazou wrote: > PR middle-end/55321 > * calls.c (emit_library_call_value_1): Mark as no-nonlocal if no-throw. Ok. r~

Re: [patch] Fix PR middle-end/55321

2012-11-29 Thread Eric Botcazou
> Well, there's a call at the tree level for __sync_synchronize as well. > > So the question is: why does __s_s ICE but memcmp doesn't? I suppose > it's the mere rarity with which HAVE_cmpmemsi is defined, and expansion > of gen_cmpmemsi fails. > > There are plenty of other calls to emit_library_

Re: [patch] Fix PR middle-end/55321

2012-11-16 Thread Richard Henderson
On 11/15/2012 03:08 PM, Eric Botcazou wrote: > For a naked call to memcpy? I don't think so, this is a call so there will > be > an abnormal edge at the Tree level. The problem arises only when the > abnormal > edge is created during RTL expansion. Well, there's a call at the tree level for

Re: [patch] Fix PR middle-end/55321

2012-11-15 Thread Eric Botcazou
> While its true that this call is nononlocal, there are plenty of other > builtins that we expand with just emit_library_call (as opposed to > emit_libcall_block) that also need this sort of treatment. I'm a little skeptical, although __sync_synchronize is probably not the only one indeed. I'll

Re: [patch] Fix PR middle-end/55321

2012-11-15 Thread Ramana Radhakrishnan
On 11/15/12 20:05, Richard Henderson wrote: On 11/15/2012 12:01 PM, Ramana Radhakrishnan wrote: I believe this is by choice because no one has yet written an unwinder for the ARM exception tables for Ada :( . Ada is supposed to be using the same libgcc unwinder as the rest of the compiler. S

Re: [patch] Fix PR middle-end/55321

2012-11-15 Thread Richard Henderson
On 11/15/2012 12:01 PM, Ramana Radhakrishnan wrote: > I believe this is by choice because no one has yet written an unwinder for > the ARM exception tables for Ada :( . Ada is supposed to be using the same libgcc unwinder as the rest of the compiler. So this cannot be it, exactly. Perhaps some

Re: [patch] Fix PR middle-end/55321

2012-11-15 Thread Ramana Radhakrishnan
r~ PS: ARM still uses sjlj exceptions for Ada? I thought with the obsolescence of pre-eabi targets that we'd always use unwind tables now. I believe this is by choice because no one has yet written an unwinder for the ARM exception tables for Ada :( . regards, Ramana

Re: [patch] Fix PR middle-end/55321

2012-11-15 Thread Richard Henderson
On 11/15/2012 11:34 AM, Eric Botcazou wrote: > The problem is that get_loop_latch_edges finds no latch edges for a loop > because the header of the loop doesn't dominate any of its predecessors. > The reason is that a new edge is added during RTL expansion, which changes > the > dominance info.

[patch] Fix PR middle-end/55321

2012-11-15 Thread Eric Botcazou
Hi, this is the build failure of the Ada runtime on the ARM: +===GNAT BUG DETECTED==+ | 4.8.0 2012 (experimental) (armv5tel-unknown-linux-gnueabi) GCC error:| | in merge_latch_edges, at cfgloop.c:678 | | Err