Chandler Carruth 65b92679f5 [PM] Introduce an abstraction for all the analyses over a particular IR
unit for use in the PreservedAnalyses set.

This doesn't have any important functional change yet but it cleans
things up and makes the analysis substantially more efficient by
avoiding querying through the type erasure for every analysis.

I also think it makes it much easier to reason about how analyses are
preserved when walking across pass managers and across IR unit
abstractions.

Thanks to Sean and Mehdi both for the comments and suggestions.

Differential Revision: https://reviews.llvm.org/D23691

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@279360 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-20 04:57:28 +00:00
..