[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