[PATCH v2] PR target/97682 - Fix to reuse t1 register between call address and epilogue.

Jim Wilson jimw@sifive.com
Sat Nov 14 04:06:55 GMT 2020


On Thu, Nov 12, 2020 at 10:56 PM Monk Chiang <monk.chiang@sifive.com> wrote:

>   - When expanding the call pattern, choose t1 register be a jump register.
>     Epilogue also uses a t1 register to adjust Stack point. The call
> pattern
>     and epilogue will initial t1 twice, if both are generated in the same
>     function. The call pattern will emit 'la t1,symbol' and 'jalr
> t1'instructions.
>     Epilogue also emits 'li t1,4096' and 'addi sp,sp,t1' instructions.
>     But li and addi instructions will be placed between la and jalr
> instructions.
>     The la instruction will be removed by some optimizations,
>     because t1 register define twice, the first define instruction look
>     likes duplicate.
>

Thanks.  Committed and pushed.

Jim


More information about the Gcc-patches mailing list