on 2024/8/12 21:05, Vladimir Makarov wrote:
> On 8/11/24 21: 50, Kewen. Lin wrote: diff --git a/gcc/lra-constraints. cc
> b/gcc/lra-constraints. cc index 92b343fa99a. . f355c6c6168 100644 ---
> a/gcc/lra-constraints. cc +++ b/gcc/lra-constraints. cc @@ -4742,7 +4742,9 @@
> curr_insn_transform (bool check_only_p)
>
>
>
> On 8/11/24 21:50, Kewen.Lin wrote:
>> diff --git a/gcc/lra-constraints.cc b/gcc/lra-constraints.cc
>> index 92b343fa99a..f355c6c6168 100644
>> --- a/gcc/lra-constraints.cc
>> +++ b/gcc/lra-constraints.cc
>> @@ -4742,7 +4742,9 @@ curr_insn_transform (bool check_only_p)
>> }
>> *loc = new_reg;
>> if (type != OP_IN
>> - && find_reg_note (curr_insn, REG_UNUSED, old) == NULL_RTX)
>> + && find_reg_note (curr_insn, REG_UNUSED, old) == NULL_RTX
>> + /* OLD can be an equivalent constant here. */
>> + && nonimmediate_operand (old, GET_MODE (old)))
>> {
>> start_sequence ();
>> lra_emit_move (type == OP_INOUT ? copy_rtx (old) : old,
>> new_reg);
>>
>> Does it look good to you? Or did I miss something here?
>>
> The comment looks ok to me.
>
> Also I am agree with Richard Sandiford's remark that CONSTANT_P instead of
> nonimmediate_operand would be a better condition. It is more safe. With
> CONSTANT_P change, the patch can be already pushed into the trunk.
Thanks Vladimir! Pushed with CONSTANT_P change as r15-2899-g49d5e21d41aed8.
BR,
Kewen