This is an archive of the discontinued LLVM Phabricator instance.

[DebugInfo] Use FrameDestroy to extend stack locations to the end of a function
ClosedPublic

Authored by jmorse on May 23 2019, 7:04 AM.

Details

Summary

This patch depends on D61940, and is a small part split out of it. We use the FrameDestroy flag to detect the end of the stack frame, and extend stack variable locations past that point. This greatly enhances the chance that we can emit a single-value location.

Most of the discussion about this functionality is in the parent patch; the intention of splitting this part out, is so that out-of-tree backends can revert this patch if they have difficulties with FrameDestroy.

Diff Detail

Repository
rL LLVM

Event Timeline

jmorse created this revision.May 23 2019, 7:04 AM
Herald added a project: Restricted Project. · View Herald TranscriptMay 23 2019, 7:04 AM
aprantl added inline comments.May 23 2019, 1:04 PM
lib/CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp
280 ↗(On Diff #200964)

Is this comment still up-to-date?

aprantl accepted this revision.May 23 2019, 1:04 PM
This revision is now accepted and ready to land.May 23 2019, 1:04 PM
dstenb added inline comments.May 24 2019, 2:03 AM
test/DebugInfo/X86/dbg-addr.ll
12–13 ↗(On Diff #200964)

Can we remove/change this comment now that we produce a single location description?

jmorse updated this revision to Diff 201209.May 24 2019, 5:53 AM

Move the change in a comment into this patch; remove an un-necessary test comment.

This revision was automatically updated to reflect the committed changes.