This is an archive of the discontinued LLVM Phabricator instance.

[PM] Add support for building a default AA pipeline to the PassBuilder.
ClosedPublic

Authored by chandlerc on Dec 23 2016, 12:43 AM.

Details

Summary

Pretty boring and lame as-is but necessary. This is definitely a place
we'll end up with extension hooks longer term. =]

Event Timeline

chandlerc updated this revision to Diff 82399.Dec 23 2016, 12:43 AM
chandlerc retitled this revision from to [PM] Add support for building a default AA pipeline to the PassBuilder..
chandlerc updated this object.
chandlerc added a reviewer: mehdi_amini.
chandlerc added a subscriber: llvm-commits.
davide accepted this revision.Dec 23 2016, 1:47 AM
davide added a reviewer: davide.
davide added a subscriber: davide.

LGTM. Side note, while reviewing it, I noticed there are still residuals of NoAA in-tree.

llvm/InitializePasses.h:void initializeNoAAPass(PassRegistry&);
lib/Passes/PassBuilder.cpp
1115–1119

We need similar logic in lld (we already have a flag, -lto-newpm-aa-pipeline=.

This revision is now accepted and ready to land.Dec 23 2016, 1:47 AM
This revision was automatically updated to reflect the committed changes.
chandlerc added inline comments.Dec 23 2016, 12:49 PM
lib/Passes/PassBuilder.cpp
1115–1119

Cool! Thanks for the review, and if someone doesn't beat me to it I'll but adding use of this to LLD in my queue.

davide added inline comments.Dec 24 2016, 8:45 AM
lib/Passes/PassBuilder.cpp
1115–1119

We call the same function (from lib/LTO), so I don't think any real modification is required, but, yeah, adding a test to lld would be cool (or llvm-lto2), if you get to it.