[PATCH] D79747: [PowerPC] Implementation of Simple Outliner Module Pass
Kamau Bridgeman via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon May 11 14:35:30 PDT 2020
kamaub created this revision.
kamaub added reviewers: lei, stefanp, nemanjai, kbarton, amyk, bsaleil, NeHuang, saghir.
Herald added subscribers: llvm-commits, shchenz, hiraditya, mgorny.
Herald added a project: LLVM.
The simple outliner module pass looks for functions that have an
early exit condition from their entry to a exit block that has
only one PHINode and a return. It then outlines the rest of the
funtion to a tail call once the exiting and entry block meet the
"Simple Criteria".
A simple entry: no calls or stores and all loads are either used
in the entry or returned in the exit block. Must have a
conditional branch with two successors were the simple exit is
one of them.
A simple exit: must have only one PHI and a ret instruction.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D79747
Files:
llvm/lib/Target/PowerPC/CMakeLists.txt
llvm/lib/Target/PowerPC/PPC.h
llvm/lib/Target/PowerPC/PPCSimpleOutliner.cpp
llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
llvm/test/CodeGen/PowerPC/simple-outliner.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D79747.263280.patch
Type: text/x-patch
Size: 23167 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200511/0ccb76ce/attachment.bin>
More information about the llvm-commits
mailing list