[PATCH] D67855: [X86] Add new calling convention that guarantees tail call optimization

Dwight Guth via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 20 13:08:49 PDT 2019


dwightguth created this revision.
dwightguth added reviewers: eli.friedman, rnk.
Herald added subscribers: llvm-commits, dexonsmith, steven_wu, hiraditya, mehdi_amini.
Herald added a project: LLVM.

When the target option GuaranteedTailCallOpt is specified, calls with the fastcc calling convention will be transformed into tail calls if they are in tail position. This diff adds a new calling convention, tailcc, currently supported only on X86, which behaves the same way as fastcc, except that the GuaranteedTailCallOpt flag does not need to enabled in order to enable tail call optimization.


Repository:
  rL LLVM

https://reviews.llvm.org/D67855

Files:
  llvm/docs/BitCodeFormat.rst
  llvm/docs/CodeGenerator.rst
  llvm/docs/LangRef.rst
  llvm/include/llvm/IR/CallingConv.h
  llvm/lib/AsmParser/LLLexer.cpp
  llvm/lib/AsmParser/LLParser.cpp
  llvm/lib/AsmParser/LLToken.h
  llvm/lib/CodeGen/Analysis.cpp
  llvm/lib/IR/AsmWriter.cpp
  llvm/lib/Target/X86/X86CallingConv.td
  llvm/lib/Target/X86/X86FastISel.cpp
  llvm/lib/Target/X86/X86FrameLowering.cpp
  llvm/lib/Target/X86/X86ISelLowering.cpp
  llvm/lib/Target/X86/X86Subtarget.h
  llvm/test/CodeGen/X86/tailcall-tailcc.ll
  llvm/utils/vim/syntax/llvm.vim

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D67855.221091.patch
Type: text/x-patch
Size: 15706 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190920/44f94db5/attachment.bin>


More information about the llvm-commits mailing list