This is an archive of the discontinued LLVM Phabricator instance.

[PM/AA] Remove the last relics of the separate IPA library from LLVM, folding the code into the main Analysis library.
ClosedPublic

Authored by chandlerc on Aug 17 2015, 2:20 AM.

Details

Summary

There already wasn't much of a distinction between Analysis and IPA.
A number of the passes in Analysis are actually IPA passes, and there
doesn't seem to be any advantage to separating them.

Moreover, it makes it hard to have interactions between analyses that
are both local and interprocedural. In trying to make the Alias Analysis
infrastructure work with the new pass manager, it becomes particularly
awkward to navigate this split.

I've tried to find all the places where we referenced this, but I may
have missed some. I have also adjusted the C API to continue to be
equivalently functional after this change.

Diff Detail

Repository
rL LLVM

Event Timeline

chandlerc updated this revision to Diff 32276.Aug 17 2015, 2:20 AM
chandlerc retitled this revision from to [PM/AA] Remove the last relics of the separate IPA library from LLVM, folding the code into the main Analysis library..
chandlerc updated this object.
chandlerc added a subscriber: llvm-commits.
This revision was automatically updated to reflect the committed changes.

Dammit, sorry folks.

I had gotten two LGTMs on IRC but neither of them made it here for this patch. I've submitted it now in r245318. Really sorry about that, please shout if this causes you any trouble.

llvm/trunk/lib/Analysis/IPA/InlineCost.cpp