[PATCH] Fix regno_in_use_p for RTL checking bootstrap (PR rtl-optimization/72821)
Vladimir N Makarov
vmakarov@redhat.com
Mon Aug 8 13:42:00 GMT 2016
On 08/06/2016 03:11 PM, Jakub Jelinek wrote:
> On Wed, Aug 03, 2016 at 02:59:30PM -0400, Vladimir N Makarov wrote:
>> --- lra-spills.c (revision 239000)
>> +++ lra-spills.c (working copy)
>> @@ -686,16 +686,40 @@ return_regno_p (unsigned int regno)
>> return false;
>> }
>>
>> -/* Return true if REGNO is one of subsequent USE after INSN. */
>> +/* Return true if REGNO is in one of subsequent USE after INSN in the
>> + same BB. */
>> static bool
>> regno_in_use_p (rtx_insn *insn, unsigned int regno)
>> {
>> + static lra_insn_recog_data_t id;
>> + static struct lra_static_insn_data *static_id;
>> + struct lra_insn_reg *reg;
>> + int i, arg_regno;
>> + basic_block bb = BLOCK_FOR_INSN (insn);
>> +
>> while ((insn = next_nondebug_insn (insn)) != NULL_RTX
>> - && INSN_P (insn) && GET_CODE (PATTERN (insn)) == USE)
>> + && bb == BLOCK_FOR_INSN (insn))
> This broke rtl checking bootstrap, because BLOCK_FOR_INSN can't be used on
> BARRIERs.
>
> Fixed thusly, bootstrapped/regtested on x86_64-linux and i686-linux, ok for
> trunk?
>
>
Sure, Jakub. Thank you fixing it.
More information about the Gcc-patches
mailing list