[all-commits] [llvm/llvm-project] 03d07e: [LoongArch] Handle register spill in BranchRelaxat...

Xiaodong Liu via All-commits all-commits at lists.llvm.org
Mon Nov 14 17:56:18 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 03d07e181d97248a1cdfe34affe826dd3ad4b46a
      https://github.com/llvm/llvm-project/commit/03d07e181d97248a1cdfe34affe826dd3ad4b46a
  Author: Xiaodong Liu <liuxiaodong at loongson.cn>
  Date:   2022-11-15 (Tue, 15 Nov 2022)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchFrameLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
    M llvm/lib/Target/LoongArch/LoongArchMachineFunctionInfo.h
    A llvm/test/CodeGen/LoongArch/branch-relaxation-spill-32.ll
    A llvm/test/CodeGen/LoongArch/branch-relaxation-spill-64.ll
    M llvm/test/CodeGen/LoongArch/branch-relaxation.ll

  Log Message:
  -----------
  [LoongArch] Handle register spill in BranchRelaxation pass

When the range of the unconditional branch is overflow, the indirect
branch way is used. The case when there is no scavenged register for
indirect branch needs to spill register to stack.

Reviewed By: SixWeining, wangleiat

Differential Revision: https://reviews.llvm.org/D137821




More information about the All-commits mailing list