This is an archive of the discontinued LLVM Phabricator instance.

[CodeExtractor] Emit lifetime markers around reloads of outputs
ClosedPublic

Authored by vsk on Dec 21 2018, 8:39 PM.

Details

Summary

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.

Suggested by Sergei Kachkov!

Diff Detail

Repository
rL LLVM

Event Timeline

vsk created this revision.Dec 21 2018, 8:39 PM
vsk updated this revision to Diff 179410.Dec 21 2018, 8:43 PM
  • Tighten up the tests a bit.
vsk added a subscriber: gyiu.Jan 7 2019, 2:40 PM

+ @gyiu, as I believe he's worked on the partial inliner.

vsk added a comment.Jan 17 2019, 12:32 PM

Gentle ping (this isn't urgent, but it seems nice to have).

This revision is now accepted and ready to land.Jan 18 2019, 6:27 AM
This revision was automatically updated to reflect the committed changes.