[all-commits] [llvm/llvm-project] 81d3ac: [IROutliner] Adding outlining for single entry/sin...
Andrew Litteken via All-commits
all-commits at lists.llvm.org
Tue Sep 7 08:52:28 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 81d3ac0cf2cb4b356843c74ccf5641fb5eb362fe
https://github.com/llvm/llvm-project/commit/81d3ac0cf2cb4b356843c74ccf5641fb5eb362fe
Author: Andrew Litteken <andrew_litteken at apple.com>
Date: 2021-09-07 (Tue, 07 Sep 2021)
Changed paths:
M llvm/include/llvm/Analysis/IRSimilarityIdentifier.h
M llvm/include/llvm/Transforms/IPO/IROutliner.h
M llvm/lib/Transforms/IPO/IROutliner.cpp
M llvm/test/Transforms/IROutliner/opt-remarks.ll
A llvm/test/Transforms/IROutliner/outlining-across-branch.ll
A llvm/test/Transforms/IROutliner/outlining-basic-branches.ll
A llvm/test/Transforms/IROutliner/outlining-multiple-exits.ll
M llvm/test/Transforms/IROutliner/region-end-of-module.ll
Log Message:
-----------
[IROutliner] Adding outlining for single entry/single exit multiblock regions
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.
Reviewer: paquette
Differential Revision: https://reviews.llvm.org/D106990
More information about the All-commits
mailing list