This is an archive of the discontinued LLVM Phabricator instance.

[MTE] Instrument use-after-scope for optnone functions.
ClosedPublic

Authored by fmayer on Feb 16 2022, 4:45 PM.

Details

Summary

We always need the Dominator and PostDominatorTree for use-after-scope.

Diff Detail

Event Timeline

fmayer created this revision.Feb 16 2022, 4:45 PM
fmayer requested review of this revision.Feb 16 2022, 4:45 PM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 16 2022, 4:45 PM
fmayer planned changes to this revision.Feb 16 2022, 5:39 PM

Failed Tests (2):

LLVM :: CodeGen/AArch64/O0-pipeline.ll
LLVM :: CodeGen/AArch64/O3-pipeline.ll
fmayer updated this revision to Diff 409729.Feb 17 2022, 11:28 AM

fix test failure.

do one change at a time.

eugenis accepted this revision.Feb 17 2022, 1:48 PM

LGTM

TBH I'm on the fence about whether poison-at-lifetime is an optimization vs "core functionality", but lets go with this change. The important part is not to run the analysis when the function does not have the attribute (that's what the *-pipeline tests check).

This revision is now accepted and ready to land.Feb 17 2022, 1:48 PM

LGTM

TBH I'm on the fence about whether poison-at-lifetime is an optimization vs "core functionality", but lets go with this change. The important part is not to run the analysis when the function does not have the attribute (that's what the *-pipeline tests check).

I think there should be a very high bar for disabling functionality with user-visible effects as "optimizations" because it adds lots of potential for confusion. In fact, from the perspective of the resulting code, the non-UAS code is potentially more optimized than the UAS one.

This revision was landed with ongoing or failed builds.Feb 17 2022, 1:54 PM
This revision was automatically updated to reflect the committed changes.