Page MenuHomePhabricator

[BasicAA] Make BasicAA a cfg pass.
ClosedPublic

Authored by asbirlea on Feb 10 2020, 12:32 PM.

Details

Summary

Part of the changes in D44564 made BasicAA not CFG only due to it using
PhiAnalysisValues which may have values invalidated.
Subsequent patches (rL340613) appear to have addressed this limitation.

BasicAA should not be invalidated by non-CFG-altering passes.
A concrete example is MemCpyOpt which preserves CFG, but we are testing
it invalidates BasicAA.

llvm-dev RFC: https://groups.google.com/forum/#!topic/llvm-dev/eSPXuWnNfzM

Diff Detail

Event Timeline

asbirlea created this revision.Feb 10 2020, 12:32 PM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 10 2020, 12:32 PM
Herald added a subscriber: hiraditya. · View Herald Transcript
asbirlea updated this revision to Diff 243666.Feb 10 2020, 1:38 PM

Update tests.

asbirlea updated this revision to Diff 243694.Feb 10 2020, 3:56 PM

Add motivation from llvm-dev discussion.

asbirlea edited the summary of this revision. (Show Details)Feb 10 2020, 3:58 PM
This revision is now accepted and ready to land.Feb 11 2020, 12:56 AM
This revision was automatically updated to reflect the committed changes.

My apologies @asbirlea : I must resign from review on this patch as my current employer hasn't authorized me to contribute to LLVM.