This is an archive of the discontinued LLVM Phabricator instance.

[PM/AA] Port alias analysis evaluator to the new pass manager, and use it to actually test the new pass manager AA wiring.
ClosedPublic

Authored by chandlerc on Feb 18 2016, 2:20 AM.

Details

Summary

This patch was extracted from the (somewhat too large) D12357 and
rebosed on top of the slightly different design of the new pass manager
AA wiring that I just landed. With this we can start testing the AA in
a thorough way with the new pass manager.

Some minor cleanups to the code in the pass was necessitated here, but
otherwise it is a very minimal change.

Let me know if you want me to just do subsequent changes porting AA-related
things with post-commit review. They're fairly noisy in terms of changed lines,
but are getting highly mechanical and the interesting design decisions are
dwindling rapidly.

Diff Detail

Repository
rL LLVM

Event Timeline

chandlerc updated this revision to Diff 48294.Feb 18 2016, 2:20 AM
chandlerc retitled this revision from to [PM/AA] Port alias analysis evaluator to the new pass manager, and use it to actually test the new pass manager AA wiring..
chandlerc updated this object.
chandlerc added reviewers: hfinkel, reames.
chandlerc added a subscriber: llvm-commits.
reames accepted this revision.Feb 18 2016, 9:37 AM
reames edited edge metadata.

LGTM w/minor comment.

include/llvm/Analysis/AliasAnalysisEvaluator.h
13 ↗(On Diff #48294)

A bit more detail would be good here. When first reading, I wasn't sure why I might use such a thing.

Something along the lines of "The result is a set of statistics about the number of results for each alias result type and modref state returned. This can be used to evaluate a change in alias analysis implementation, algorithm, or pass ordering."

This revision is now accepted and ready to land.Feb 18 2016, 9:37 AM

This is just moving an existing (perhaps bad) comment around. Gonna land the refactoring, happy to keep chatting about how to document this better.

I know I've been doing some tidying and spring cleaning as I refactor things some of the time, I just hadn't here because frankly I'm not an expert on this code and so it seemed like it might better come from others more familiar with it.

include/llvm/Analysis/AliasAnalysisEvaluator.h
13 ↗(On Diff #48294)

This is just a move of the original comment. I'd love to have an improvement such as what you suggest, but it probably shouldn't be this patch. Would you be willing to send the improvement? If not, I guess I can. But I don't actually know anything about this pass, so I'm somewhat operating from ignorance here...

This revision was automatically updated to reflect the committed changes.