This is an archive of the discontinued LLVM Phabricator instance.

[MTE] [HWASan] Support diamond lifetimes.
ClosedPublic

Authored by fmayer on Jun 15 2022, 2:19 PM.

Details

Summary

We were overly conservative and required a ret statement to be dominated
completely be a single lifetime.end marker. This is quite restrictive
and leads to two problems:

  • limits coverage of use-after-scope, as we degenerate to use-after-return;
  • increases stack usage in programs, as we have to remove all lifetime markers if we degenerate to use-after-return, which prevents reuse of stack slots by the stack coloring algorithm.

Diff Detail

Event Timeline

fmayer created this revision.Jun 15 2022, 2:19 PM
Herald added a project: Restricted Project. · View Herald TranscriptJun 15 2022, 2:19 PM
Herald added a subscriber: hiraditya. · View Herald Transcript
fmayer published this revision for review.Jun 15 2022, 3:37 PM
fmayer added a reviewer: eugenis.
Herald added a project: Restricted Project. · View Herald TranscriptJun 15 2022, 3:37 PM
eugenis accepted this revision.Jun 22 2022, 11:12 AM

LGTM, this is great!

This revision is now accepted and ready to land.Jun 22 2022, 11:12 AM
This revision was landed with ongoing or failed builds.Jun 22 2022, 11:16 AM
This revision was automatically updated to reflect the committed changes.