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. =]

Diff Detail

Repository
rL LLVM

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 ↗(On Diff #82399)

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 ↗(On Diff #82399)

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 ↗(On Diff #82399)

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.