Repost: RFA [4.1]: improvement to if-conversion and cross-jumping (PR20070)
Bernd Schmidt
bernds_cb1@t-online.de
Thu Dec 1 00:15:00 GMT 2005
Joern RENNECKE wrote:
> Bernd Schmidt wrote:
>
>>
>> Nevermind the fact that this has a duplicate call of validate_change.
>> What is this code trying to do? I would have naively thought that if
>> we have R5 and R0 live at the end, then previous uses of either
>> register must match exactly.
>>
>> Can you post an RTL example of what you're trying to accomplish with
>> the code related to input_reg? What can be done with it that can't be
>> done by examining the local_regs still live at the start of a block?
>
>
> input_reg is for a register that is *not* local to the block, but
> remains unaltered. In principle, we could also match constants here,
> but I haven't had sufficient motivation (as in: appears to be relevant
> to performance according to the benchmarks I've looked at) so far. We
> should only encounter it as an rvalue.
> When we are processing REG_NOTES, e..g REG_EQUAL, it is quite possible
> that we see a note later in the insn stream than the actual last use in
> insn patterns, i.e. scanning backwards
> we'll see these notes first. In order to recognize them, we have to use
> information from a previous pass.
I'll ask again, please post an example or two of the way this is
intended to work.
Bernd
More information about the Gcc-patches
mailing list