On Tue, Nov 13, 2012 at 6:09 PM, Jakub Jelinek wrote:
>> int copy_start, copy_num;
>> int j;
>>
>> - if (INSN_P (return_copy))
>> + if (INSN_P (return_copy)
>> + && !DEBUG_INSN_P (return_copy))
>
> Please use if (NONDEBUG_INSN_P
On Tue, Nov 13, 2012 at 06:07:20PM +0100, Uros Bizjak wrote:
> @@ -242,7 +242,8 @@ create_pre_exit (int n_entities, int *entity_map,
> int copy_start, copy_num;
> int j;
>
> - if (INSN_P (return_copy))
> + if (INSN_P (return_copy)
> +
On Mon, Nov 12, 2012 at 9:40 AM, Eric Botcazou wrote:
>> It looks to me, that we in fact want:
>>
>> --cut here--
>> Index: mode-switching.c
>> ===
>> --- mode-switching.c(revision 193407)
>> +++ mode-switching.c(working copy)
> It looks to me, that we in fact want:
>
> --cut here--
> Index: mode-switching.c
> ===
> --- mode-switching.c(revision 193407)
> +++ mode-switching.c(working copy)
> @@ -330,7 +330,7 @@
> short_bloc
On Tue, Nov 6, 2012 at 9:12 AM, Eric Botcazou wrote:
>> 2012-11-05 Uros Bizjak
>> Kaz Kojima
>>
>> PR target/41993
>> * mode-switching.c (create_pre_exit): Set return_copy to
>> last_insn when copy_start is a pseudo reg.
It looks to me, that we in fact want:
--cu
On Mon, Nov 5, 2012 at 11:58 PM, Kaz Kojima wrote:
> The attached patch is to solve PR target/41993 which will affect
> targets using MODE_EXIT.
> Without it, we can't find all return registers for __builtin_return
> in mode-switching.c:create_pre_exit. See the trail #4 by Uros in
> the PR for t
Eric Botcazou wrote:
> I was referring to the ret_start/reg_end/nregs business: why is it necessary?
I thought that they are for the return value which requires
multiple hard registers.
Regards,
kaz
> Although I might be getting you wrong, the current code does a scan
> based on those lines but builtin_return, functions with no return
> value and exceptions require special treatments and made things
> complex.
I was referring to the ret_start/reg_end/nregs business: why is it necessary?
--
Eric Botcazou wrote:
> OK, thanks. The number of special cases dealt with in the function is on the
> verge of making it barely understandable though. Why couldn't a backward
> scan
> based only on:
>
> /* If the return register is not likely spilled, - as is
>
> 2012-11-05 Uros Bizjak
> Kaz Kojima
>
> PR target/41993
> * mode-switching.c (create_pre_exit): Set return_copy to
> last_insn when copy_start is a pseudo reg.
OK, thanks. The number of special cases dealt with in the function is on the
verge of making it bare
Hi,
The attached patch is to solve PR target/41993 which will affect
targets using MODE_EXIT.
Without it, we can't find all return registers for __builtin_return
in mode-switching.c:create_pre_exit. See the trail #4 by Uros in
the PR for the details. The patch is tested with bootstrap and
regtes
11 matches
Mail list logo