[all-commits] [llvm/llvm-project] 2cf420: [LoongArch] Emit function call code sequence as `P...

wanglei via All-commits all-commits at lists.llvm.org
Thu Jan 4 19:05:31 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 2cf420d5b846a4733ef0ef7c8ed0ae0bfd1c6772
      https://github.com/llvm/llvm-project/commit/2cf420d5b846a4733ef0ef7c8ed0ae0bfd1c6772
  Author: wanglei <wanglei at loongson.cn>
  Date:   2024-01-05 (Fri, 05 Jan 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
    M llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchMCInstLower.cpp
    M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.h
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFObjectWriter.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchFixupKinds.h
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCCodeEmitter.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.h
    M llvm/test/CodeGen/LoongArch/code-models.ll
    M llvm/test/MC/LoongArch/Basic/Integer/invalid64.s
    A llvm/test/MC/LoongArch/Macros/macros-call.s
    M llvm/test/MC/LoongArch/Relocations/relocations.s

  Log Message:
  -----------
  [LoongArch] Emit function call code sequence as `PCADDU18I+JIRL` in medium code model

According to the description of the psABI v2.20:
https://github.com/loongson/la-abi-specs/releases/tag/v2.20, adjustments
are made to the function call instructions under the medium code model.

At the same time, AsmParser has already supported parsing the call36 and
tail36 macro instructions.


  Commit: 3d6fc35b9071009c5ef37f879a12982c6a54db60
      https://github.com/llvm/llvm-project/commit/3d6fc35b9071009c5ef37f879a12982c6a54db60
  Author: wanglei <wanglei at loongson.cn>
  Date:   2024-01-05 (Fri, 05 Jan 2024)

  Changed paths:
    A llvm/test/CodeGen/LoongArch/psabi-restricted-scheduling.ll

  Log Message:
  -----------
  [LoongArch] Pre-commit test for #76555. NFC


  Commit: c56a5e895a96fec4292e9333d998cfa88770432a
      https://github.com/llvm/llvm-project/commit/c56a5e895a96fec4292e9333d998cfa88770432a
  Author: wanglei <wanglei at loongson.cn>
  Date:   2024-01-05 (Fri, 05 Jan 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/test/CodeGen/LoongArch/code-models.ll
    M llvm/test/CodeGen/LoongArch/expand-call.ll
    M llvm/test/CodeGen/LoongArch/global-address.ll
    M llvm/test/CodeGen/LoongArch/psabi-restricted-scheduling.ll
    M llvm/test/CodeGen/LoongArch/tls-models.ll

  Log Message:
  -----------
  [LoongArch] Reimplement the expansion of PseudoLA*_LARGE instructions (#76555)

According to the description of the psABI v2.30:
https://github.com/loongson/la-abi-specs/releases/tag/v2.30, moved the
expansion of relevant pseudo-instructions from
`LoongArchPreRAExpandPseudo` pass to `LoongArchExpandPseudo` pass, to
ensure that the code sequences of `PseudoLA*_LARGE` instructions and
Medium code model's function call are not scheduled.


Compare: https://github.com/llvm/llvm-project/compare/597086c60959...c56a5e895a96


More information about the All-commits mailing list