[PATCH] D86978: [IROutliner] Deduplicating functions that only require inputs.

Andrew Litteken via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 1 13:32:01 PDT 2020


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

Extracted regions can have both inputs and outputs.  In addition, the CodeExtractor removes inputs that are only used in llvm.assumes, and sunken allocas (values are used entirely in the extracted region as denoted by lifetime intrinsics).  We also cannot combine sections that have different constants in the same structural location, and these constants will have to elevated to argument. This patch deduplicates extracted functions that only have inputs and non of the special cases.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D86978

Files:
  llvm/include/llvm/Transforms/IPO/IROutliner.h
  llvm/lib/Transforms/IPO/IROutliner.cpp
  llvm/test/Transforms/IROutliner/extraction.ll
  llvm/test/Transforms/IROutliner/illegal-assumes.ll
  llvm/test/Transforms/IROutliner/illegal-branches.ll
  llvm/test/Transforms/IROutliner/illegal-callbr.ll
  llvm/test/Transforms/IROutliner/illegal-calls.ll
  llvm/test/Transforms/IROutliner/illegal-catchpad.ll
  llvm/test/Transforms/IROutliner/illegal-cleanup.ll
  llvm/test/Transforms/IROutliner/illegal-frozen.ll
  llvm/test/Transforms/IROutliner/illegal-gep.ll
  llvm/test/Transforms/IROutliner/illegal-invoke.ll
  llvm/test/Transforms/IROutliner/illegal-landingpad.ll
  llvm/test/Transforms/IROutliner/illegal-memset.ll
  llvm/test/Transforms/IROutliner/illegal-phi-nodes.ll
  llvm/test/Transforms/IROutliner/legal-debug.ll
  llvm/test/Transforms/IROutliner/outlining-address-taken.ll
  llvm/test/Transforms/IROutliner/outlining-different-constants.ll
  llvm/test/Transforms/IROutliner/outlining-different-structure.ll
  llvm/test/Transforms/IROutliner/outlining-same-constants.ll
  llvm/test/Transforms/IROutliner/outlining-same-globals.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D86978.289274.patch
Type: text/x-patch
Size: 37621 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200901/426bc9c8/attachment.bin>


More information about the llvm-commits mailing list