[PATCH] D120867: [IROutliner] Adding support to properly handle musttail, swifttailcc and tailcc

Andrew Litteken via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 2 22:04:53 PST 2022


AndrewLitteken created this revision.
AndrewLitteken added reviewers: paquette, aschwaighofer.
Herald added subscribers: ormris, hiraditya.
Herald added a project: All.
AndrewLitteken requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

musttail functions and those with swifttailcc and tailcc calling conventions have to be handled specially when being outlined.  This adds support of musttail function in the cases of these two calling conventions in particular.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D120867

Files:
  llvm/lib/Analysis/IRSimilarityIdentifier.cpp
  llvm/lib/Transforms/IPO/IROutliner.cpp
  llvm/test/Transforms/IROutliner/included-phi-nodes-begin.ll
  llvm/test/Transforms/IROutliner/included-phi-nodes-end.ll
  llvm/test/Transforms/IROutliner/legal-debug.ll
  llvm/test/Transforms/IROutliner/legal-indirect-calls.ll
  llvm/test/Transforms/IROutliner/mismatched-phi-outputs-ordering.ll
  llvm/test/Transforms/IROutliner/no-outlining-swifttailcc.ll
  llvm/test/Transforms/IROutliner/outline-memset.ll
  llvm/test/Transforms/IROutliner/outline-vaarg-intrinsic.ll
  llvm/test/Transforms/IROutliner/outlining-across-branch.ll
  llvm/test/Transforms/IROutliner/outlining-basic-branches.ll
  llvm/test/Transforms/IROutliner/outlining-bitcasts.ll
  llvm/test/Transforms/IROutliner/outlining-call-and-indirect.ll
  llvm/test/Transforms/IROutliner/outlining-calls.ll
  llvm/test/Transforms/IROutliner/outlining-commutative-operands-opposite-order.ll
  llvm/test/Transforms/IROutliner/outlining-swift-error.ll
  llvm/test/Transforms/IROutliner/outlining-swifttailcc.ll
  llvm/test/Transforms/IROutliner/outlining-tailcc.ll
  llvm/test/Transforms/IROutliner/phi-nodes-non-constant.ll
  llvm/test/Transforms/IROutliner/phi-nodes-simple.ll
  llvm/test/Transforms/IROutliner/region-end-of-module.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D120867.412602.patch
Type: text/x-patch
Size: 31465 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220303/17289ea8/attachment.bin>


More information about the llvm-commits mailing list