[all-commits] [llvm/llvm-project] ee9a3e: [CodeGenPrepare] Handle ExtractValueInst in dupRet...

weiguozhi via All-commits all-commits at lists.llvm.org
Wed Mar 4 11:11:30 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: ee9a3eba769787bd87ac47945508751dafa5a46b
      https://github.com/llvm/llvm-project/commit/ee9a3eba769787bd87ac47945508751dafa5a46b
  Author: Guozhi Wei <carrot at google.com>
  Date:   2020-03-04 (Wed, 04 Mar 2020)

  Changed paths:
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
    A llvm/test/CodeGen/X86/tailcall-extract.ll

  Log Message:
  -----------
  [CodeGenPrepare] Handle ExtractValueInst in dupRetToEnableTailCallOpts

    As the test case shows if there is an ExtractValueInst in the Ret block, function dupRetToEnableTailCallOpts can't duplicate it into the block containing call. So later no tail call is generated in CodeGen.

    This patch adds the ExtractValueInst handling code in function dupRetToEnableTailCallOpts and FoldReturnIntoUncondBranch, and later tail call can be generated for this case.

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




More information about the All-commits mailing list