This is an archive of the discontinued LLVM Phabricator instance.

[PM/AA] Start refactoring AliasAnalysis to remove the analysis group and port it to the new pass manager.
ClosedPublic

Authored by chandlerc on Jun 3 2015, 4:48 PM.

Details

Summary

All this does is extract the inner "location" class used by AA into its
own full fledged type. This seems *much* cleaner as MemoryDependence and
soon MemorySSA also use this heavily, and it doesn't make much sense
being inside the AA infrastructure.

This will also make it much easier to break apart the AA infrastructure
into something that stands on its own rather than using the analysis
group design.

Diff Detail

Repository
rL LLVM

Event Timeline

chandlerc updated this revision to Diff 27072.Jun 3 2015, 4:48 PM
chandlerc retitled this revision from to [PM/AA] Start refactoring AliasAnalysis to remove the analysis group and port it to the new pass manager..
chandlerc updated this object.
chandlerc edited the test plan for this revision. (Show Details)
chandlerc added a reviewer: hfinkel.
chandlerc added a subscriber: Unknown Object (MLST).
hfinkel accepted this revision.Jun 3 2015, 5:00 PM
hfinkel edited edge metadata.

LGTM.

include/llvm/Analysis/MemoryLocation.h
38 ↗(On Diff #27072)

I'd rather not mention MemorySSA here, just in case is does not end up having that name, and we forget to update it.

lib/Transforms/Scalar/MemCpyOptimizer.cpp
815 ↗(On Diff #27072)

Indentation looks odd here.

This revision is now accepted and ready to land.Jun 3 2015, 5:00 PM
This revision was automatically updated to reflect the committed changes.