[PM] NFC refactoring: remove the AnalysisManagerBase class, folding it
authorChandler Carruth <chandlerc@gmail.com>
Fri, 19 Aug 2016 08:31:47 +0000 (08:31 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Fri, 19 Aug 2016 08:31:47 +0000 (08:31 +0000)
commit6d6310dd4a657c7b95fa350c288883bdfe4d2932
tree0246a485f809d739bf5fbab9841143c70eb0bb56
parent11f83b7941ecc764441bf62d672fe279955ee0ca
[PM] NFC refactoring: remove the AnalysisManagerBase class, folding it
into the AnalysisManager class template.

Back when I first added this base class there were separate analysis
managers and some plausible reason why it would be a useful factoring of
common code between them. However, after a lot of refactoring cleaning,
we now have *entirely* shared code. The base class was just an arbitrary
division between code in one class template and a separate class
template. It didn't add anything and forced lots of indirection through
"derived_this" for no real gain.

We can always factor a base CRTP class out with common code if there is
ever some *other* analysis manager that wants to share a subset of
logic. But for now, folding things into the primary template is
a non-trivial simplification with no down sides I see. It shortens the
code considerably, removes an unhelpful abstraction, and will make
subsequent patches *dramatically* less complex which enhance the
analysis manager infrastructure to effectively cope with invalidation.

llvm-svn: 279221
llvm/include/llvm/IR/PassManager.h