On 12/04/2011 01:27 PM, Richard Sandiford wrote:
> OK, here it is. As well as switching to the backward scan and incremental
> liveness updates, I added a test for another case that I stumbled over:
>
> /* Reject targets of abnormal edges. This is needed for correctness
> on ports like A
Richard Sandiford writes:
> Richard Sandiford writes:
>> Bernd Schmidt writes:
The reason I'm suddenly "reviewing" the code now is that it
doesn't prevent shrink-wrapping, because nothing adds register 2
to the liveness info of the affected blocks. The temporary prologue
val
On Wed, Oct 5, 2011 at 1:48 PM, Bernd Schmidt wrote:
> This adds a little mini-pass to shrink-wrapping, to eliminate a common
> case that often makes shrink-wrapping unavailable. If a move insn copies
> an argument registers to a call-saved register, the prologue must be
> emitted before this insn
Bernd Schmidt writes:
> On 11/29/11 20:02, Richard Sandiford wrote:
>> Bernd Schmidt writes:
The reason I'm suddenly "reviewing" the code now is that it
doesn't prevent shrink-wrapping, because nothing adds register 2
to the liveness info of the affected blocks. The temporary prol
On 11/29/11 20:02, Richard Sandiford wrote:
> Bernd Schmidt writes:
>>> The reason I'm suddenly "reviewing" the code now is that it
>>> doesn't prevent shrink-wrapping, because nothing adds register 2
>>> to the liveness info of the affected blocks. The temporary prologue
>>> value of register 2
Richard Sandiford writes:
> Bernd Schmidt writes:
>>> The reason I'm suddenly "reviewing" the code now is that it
>>> doesn't prevent shrink-wrapping, because nothing adds register 2
>>> to the liveness info of the affected blocks. The temporary prologue
>>> value of register 2 is then moved int
Bernd Schmidt writes:
>> The reason I'm suddenly "reviewing" the code now is that it
>> doesn't prevent shrink-wrapping, because nothing adds register 2
>> to the liveness info of the affected blocks. The temporary prologue
>> value of register 2 is then moved into register 15.
>
> Hmm. Are we ju
On 11/26/11 12:50, Richard Sandiford wrote:
> Could we use DF_REF_USES/DEFS here instead?
I suppose we could, but I can't really get excited about it...
> Also:
>
> +/* Look for sets of call-saved registers in the first block of the
> + function, and move them down into successor blocks if the
Bernd Schmidt writes:
> + CLEAR_HARD_REG_SET (set_regs);
> + note_stores (PATTERN (scan), record_hard_reg_sets,
> +&set_regs);
> + if (CALL_P (scan))
> + IOR_HARD_REG_SET (set_regs, call_used_reg_set);
> +
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
On 10/05/11 14:48, Bernd Schmidt wrote:
> This adds a little mini-pass to shrink-wrapping, to eliminate a
> common case that often makes shrink-wrapping unavailable. If a move
> insn copies an argument registers to a call-saved register, the
> prologue
On 10/05/11 23:23, Steven Bosscher wrote:
> On Wed, Oct 5, 2011 at 10:48 PM, Bernd Schmidt
> wrote:
>> Bootstrapped and tested on i686-linux. Ok?
>
>> +/* Return true if BB has any active insns. */
>> +static bool
>> +bb_active_p (basic_block bb)
>> +{
>> + rtx label;
>> +
>> + /* Test whethe
On Wed, Oct 5, 2011 at 10:48 PM, Bernd Schmidt wrote:
> Bootstrapped and tested on i686-linux. Ok?
> +/* Return true if BB has any active insns. */
> +static bool
> +bb_active_p (basic_block bb)
> +{
> + rtx label;
> +
> + /* Test whether there are active instructions in the last block. */
>
This adds a little mini-pass to shrink-wrapping, to eliminate a common
case that often makes shrink-wrapping unavailable. If a move insn copies
an argument registers to a call-saved register, the prologue must be
emitted before this insn. We should therefore try to delay such moves
for as long as p
13 matches
Mail list logo