[PATCH] D106990: [IROutliner] Outlining branches with single entry and single exit

Andrew Litteken via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 28 12:58:08 PDT 2021


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

Using the similarity found from the IRSimilarity Identifier, we take regions with structural similarity, and deduplicate them into a separate function.  The Code Extractor is able to provide most of this functionality.

For simplicity, we start by only outlining regions with a single entry and single exit branch, this reduces the complexity in handling phi nodes outside the region, and handling many sets of outputs for each of the different exit blocks.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D106990

Files:
  llvm/include/llvm/Analysis/IRSimilarityIdentifier.h
  llvm/include/llvm/Transforms/IPO/IROutliner.h
  llvm/lib/Analysis/IRSimilarityIdentifier.cpp
  llvm/lib/Transforms/IPO/IROutliner.cpp
  llvm/test/Transforms/IROutliner/outlining-across-branch.ll
  llvm/test/Transforms/IROutliner/outlining-basic-branches.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D106990.362503.patch
Type: text/x-patch
Size: 24872 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210728/26328266/attachment.bin>


More information about the llvm-commits mailing list