[all-commits] [llvm/llvm-project] 3977b7: [CodeGen] Fix nomerge attribute not working in tai...

Zequan Wu via All-commits all-commits at lists.llvm.org
Wed May 10 11:25:25 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3977b77a6bb780b02559530a96597cdb1c0a5bf6
      https://github.com/llvm/llvm-project/commit/3977b77a6bb780b02559530a96597cdb1c0a5bf6
  Author: Zequan Wu <zequanwu at google.com>
  Date:   2023-05-10 (Wed, 10 May 2023)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/nomerge.ll
    M llvm/test/CodeGen/ARM/nomerge.ll
    M llvm/test/CodeGen/LoongArch/nomerge.ll
    M llvm/test/CodeGen/RISCV/nomerge.ll
    M llvm/test/CodeGen/SystemZ/nomerge.ll
    M llvm/test/CodeGen/X86/nomerge.ll

  Log Message:
  -----------
  [CodeGen] Fix nomerge attribute not working in tail calls.

In D79537, `nomerge` was made to only apply to non-tail calls. This fixes it by also applying it to tail calls.

For ARM, I only made the new MI to inherit the flag under `TCRETURNdi` and `TCRETURNri`, because that's the place tail calls got replaced. Not sure if there's any other place needed.

Fixes #61545.

Reviewed By: rnk

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




More information about the All-commits mailing list