[all-commits] [llvm/llvm-project] 4f19c6: [ARM] allow long-call codegen for armv6-M eXecute ...

Ties Stuij via All-commits all-commits at lists.llvm.org
Wed Jun 28 02:50:55 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4f19c6a7c74238875d8568e24b0ae39716aa2091
      https://github.com/llvm/llvm-project/commit/4f19c6a7c74238875d8568e24b0ae39716aa2091
  Author: Ties Stuij <ties at stuij.se>
  Date:   2023-06-28 (Wed, 28 Jun 2023)

  Changed paths:
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/test/CodeGen/ARM/large-stack.ll
    A llvm/test/CodeGen/Thumb/thumb-execute-only-long-calls.ll
    M llvm/test/CodeGen/Thumb2/thumb2-execute-only-long-calls.ll

  Log Message:
  -----------
  [ARM] allow long-call codegen for armv6-M eXecute Only (XO)

Recently eXecute Only (XO) codegen was also allowed for armv6-M. Previously this
was only implemented for ~armv7+, effectively if MOVW/MOVT is
available. Regarding long calls, we remove the check for MOVW/MOVT when
generating code for XO, which already was redundant as in the subtarget
initialization we already check if XO is valid for the target. And targets that
generate valid XO code should be able to handle the (wrapper globaladdress)
node.

Reviewed By: efriedma

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




More information about the All-commits mailing list