llvm/lib/IR
Chandler Carruth 6b1894aeae [PM] Fold all three analysis managers into a single AnalysisManager
template.

This consolidates three copies of nearly the same core logic. It adds
"complexity" to the ModuleAnalysisManager in that it makes it possible
to share a ModuleAnalysisManager across multiple modules... But it does
so by deleting *all of the code*, so I'm OK with that. This will
naturally make fixing bugs in this code much simpler, etc.

The only down side here is that we have to use 'typename' and 'this->'
in various places, and the implementation is lifted into the header.
I'll take that for the code size reduction.

The convenient names are still typedef-ed and used throughout so that
users can largely ignore this aspect of the implementation.

The follow-up change to this will do the exact same refactoring for the
PassManagers. =D

It turns out that the interesting different code is almost entirely in
the adaptors. At the end, that should be essentially all that is left.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225757 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-13 02:51:47 +00:00
..
AsmWriter.cpp IR: Split out writeMDTuple(), NFC 2015-01-12 23:45:31 +00:00
AsmWriter.h
AttributeImpl.h
Attributes.cpp
AutoUpgrade.cpp IR: Split Metadata from Value 2014-12-09 18:38:53 +00:00
BasicBlock.cpp The leak detector is dead, long live asan and valgrind. 2014-12-22 13:00:36 +00:00
CMakeLists.txt The leak detector is dead, long live asan and valgrind. 2014-12-22 13:00:36 +00:00
Comdat.cpp
ConstantFold.cpp ConstantFold: Shifting undef by zero results in undef 2014-12-18 23:54:43 +00:00
ConstantFold.h
ConstantRange.cpp
Constants.cpp Reapply "LLVMContext: Store APInt/APFloat directly into the ConstantInt/FP DenseMaps." 2014-12-06 13:12:56 +00:00
ConstantsContext.h
Core.cpp IR: Split Metadata from Value 2014-12-09 18:38:53 +00:00
DataLayout.cpp DataLayout: Provide nicer diagnostics for malformed strings 2014-12-10 02:36:41 +00:00
DebugInfo.cpp Remove isSubroutineType test for isCompositeType, getTag() is enough. 2014-12-19 22:15:09 +00:00
DebugLoc.cpp IR: Split Metadata from Value 2014-12-09 18:38:53 +00:00
DiagnosticInfo.cpp IR: Split Metadata from Value 2014-12-09 18:38:53 +00:00
DiagnosticPrinter.cpp
DIBuilder.cpp IR: Split GenericMDNode into MDTuple and UniquableMDNode 2015-01-12 20:09:34 +00:00
Dominators.cpp
Function.cpp Masked Load/Store - Changed the order of parameters in intrinsics. 2014-12-25 07:49:20 +00:00
GCOV.cpp GCOV: Make sure that function idents in the .gcda and .gcno match 2014-11-06 06:55:02 +00:00
Globals.cpp The leak detector is dead, long live asan and valgrind. 2014-12-22 13:00:36 +00:00
GVMaterializer.cpp
InlineAsm.cpp
Instruction.cpp The leak detector is dead, long live asan and valgrind. 2014-12-22 13:00:36 +00:00
Instructions.cpp IR: Split Metadata from Value 2014-12-09 18:38:53 +00:00
IntrinsicInst.cpp IR: Split Metadata from Value 2014-12-09 18:38:53 +00:00
IRBuilder.cpp Some code improvements in Masked Load/Store. 2014-12-30 14:28:14 +00:00
IRPrintingPasses.cpp [PM] Switch the new pass manager to use a reference-based API for IR 2015-01-05 02:47:05 +00:00
LeaksContext.h IR: Store MDNodes in a separate LeakDetector container 2014-12-11 21:39:39 +00:00
LegacyPassManager.cpp Document that PassManager::add() may delete the pass right away. 2014-12-12 01:27:01 +00:00
LLVMBuild.txt
LLVMContext.cpp Fix LLVMContext to match what MDKind names that the LL parser permits. Fixes PR21799! 2014-12-11 02:10:28 +00:00
LLVMContextImpl.cpp IR: Prepare for a new UniquableMDNode subclass, NFC 2015-01-12 20:56:33 +00:00
LLVMContextImpl.h IR: Split GenericMDNode into MDTuple and UniquableMDNode 2015-01-12 20:09:34 +00:00
Makefile
Mangler.cpp Silencing an "enumeral and non-enumeral type in conditional expression" warning; NFC. 2014-10-28 13:12:13 +00:00
MDBuilder.cpp IR: Split Metadata from Value 2014-12-09 18:38:53 +00:00
Metadata.cpp IR: Remove an invalid assertion when replacing resolved operands 2015-01-13 00:46:34 +00:00
MetadataTracking.cpp IR: Split GenericMDNode into MDTuple and UniquableMDNode 2015-01-12 20:09:34 +00:00
Module.cpp The leak detector is dead, long live asan and valgrind. 2014-12-22 13:00:36 +00:00
module.modulemap
Pass.cpp
PassManager.cpp [PM] Fold all three analysis managers into a single AnalysisManager 2015-01-13 02:51:47 +00:00
PassRegistry.cpp [PM] Remove an unused and rather expensive mapping from an analysis 2014-10-06 00:30:59 +00:00
Statepoint.cpp Fix a typo: use of cast where dyn_cast was intended 2014-12-04 17:27:58 +00:00
SymbolTableListTraitsImpl.h
Type.cpp Turn some DenseMaps that are only used for set operations into DenseSets. 2014-12-06 19:22:54 +00:00
TypeFinder.cpp IR: Split Metadata from Value 2014-12-09 18:38:53 +00:00
Use.cpp
UseListOrder.cpp
User.cpp IR: Cleanup comments for Value, User, and MDNode 2014-10-15 20:28:31 +00:00
Value.cpp Cleaup ValueHandle to no longer keep a PointerIntPair for the Value*. 2015-01-09 00:48:47 +00:00
ValueSymbolTable.cpp IR: Split Metadata from Value 2014-12-09 18:38:53 +00:00
ValueTypes.cpp
Verifier.cpp Rename llvm.recoverframeallocation to llvm.framerecover 2015-01-13 01:51:34 +00:00