[all-commits] [llvm/llvm-project] 82a0e8: IR/AArch64/X86: add "swifttailcc" calling convention.

Tim Northover via All-commits all-commits at lists.llvm.org
Mon May 17 02:48:56 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 82a0e808bb2cddc1ce508c6ae654f8350b082256
      https://github.com/llvm/llvm-project/commit/82a0e808bb2cddc1ce508c6ae654f8350b082256
  Author: Tim Northover <t.p.northover at gmail.com>
  Date:   2021-05-17 (Mon, 17 May 2021)

  Changed paths:
    M llvm/docs/BitCodeFormat.rst
    M llvm/docs/CodeGenerator.rst
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/AsmParser/LLToken.h
    M llvm/include/llvm/IR/CallingConv.h
    M llvm/lib/AsmParser/LLLexer.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/CodeGen/Analysis.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/Target/AArch64/AArch64CallingConvention.td
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/X86/X86CallingConv.td
    M llvm/lib/Target/X86/X86FastISel.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86RegisterInfo.cpp
    M llvm/lib/Target/X86/X86Subtarget.h
    M llvm/test/Bitcode/compatibility.ll
    M llvm/test/CodeGen/AArch64/swift-async.ll
    A llvm/test/CodeGen/AArch64/swifttail-async.ll
    A llvm/test/CodeGen/AArch64/swifttail-call.ll
    M llvm/test/CodeGen/AArch64/tail-call.ll
    A llvm/test/CodeGen/AArch64/tailcc-tail-call.ll
    A llvm/test/CodeGen/X86/swifttail-async-i386.ll
    A llvm/test/CodeGen/X86/swifttail-async.ll
    A llvm/test/CodeGen/X86/swifttail-return.ll
    A llvm/test/CodeGen/X86/tailcall-swifttailcc.ll
    M llvm/utils/emacs/llvm-mode.el
    M llvm/utils/vim/syntax/llvm.vim

  Log Message:
  -----------
  IR/AArch64/X86: add "swifttailcc" calling convention.

Swift's new concurrency features are going to require guaranteed tail calls so
that they don't consume excessive amounts of stack space. This would normally
mean "tailcc", but there are also Swift-specific ABI desires that don't
naturally go along with "tailcc" so this adds another calling convention that's
the combination of "swiftcc" and "tailcc".

Support is added for AArch64 and X86 for now.




More information about the All-commits mailing list