[PATCH] D56045: [CodeExtractor] Emit lifetime markers around reloads of outputs

Vedant Kumar via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Dec 21 20:39:53 PST 2018


vsk created this revision.
vsk added reviewers: davidxl, kachkov98.
Herald added subscribers: hiraditya, eraman.

CodeExtractor permits extracting a region of blocks from a function even
when values defined within the region are used outside of it.

This is typically done by creating an alloca in the original function
and reloading the alloca after a call to the extracted function.

Wrap the reload in lifetime start/end markers to promote stack coloring.

Depends on D55967 <https://reviews.llvm.org/D55967>.

Suggested by Sergei Kachkov!


https://reviews.llvm.org/D56045

Files:
  llvm/lib/Transforms/Utils/CodeExtractor.cpp
  llvm/test/Transforms/CodeExtractor/PartialInlineDebug.ll
  llvm/test/Transforms/CodeExtractor/PartialInlineInvokeProducesOutVal.ll
  llvm/test/Transforms/CodeExtractor/PartialInlineVarArgsDebug.ll
  llvm/test/Transforms/HotColdSplit/duplicate-phi-preds-crash.ll
  llvm/test/Transforms/HotColdSplit/lifetime-markers-on-inputs.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D56045.179409.patch
Type: text/x-patch
Size: 10899 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181222/d5d21da9/attachment.bin>


More information about the llvm-commits mailing list