llvm/lib/IR
Chandler Carruth 7f2eff792a [PM] Split DominatorTree into a concrete analysis result object which
can be used by both the new pass manager and the old.

This removes it from any of the virtual mess of the pass interfaces and
lets it derive cleanly from the DominatorTreeBase<> template. In turn,
tons of boilerplate interface can be nuked and it turns into a very
straightforward extension of the base DominatorTree interface.

The old analysis pass is now a simple wrapper. The names and style of
this split should match the split between CallGraph and
CallGraphWrapperPass. All of the users of DominatorTree have been
updated to match using many of the same tricks as with CallGraph. The
goal is that the common type remains the resulting DominatorTree rather
than the pass. This will make subsequent work toward the new pass
manager significantly easier.

Also in numerous places things became cleaner because I switched from
re-running the pass (!!! mid way through some other passes run!!!) to
directly recomputing the domtree.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199104 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-13 13:07:17 +00:00
..
AsmWriter.cpp [PM] Rename the IR printing pass header to a more generic and correct 2014-01-12 11:10:32 +00:00
AsmWriter.h Revert "Give internal classes hidden visibility." 2013-09-11 18:05:11 +00:00
AttributeImpl.h [weak vtables] Remove a bunch of weak vtables 2013-11-19 00:57:56 +00:00
Attributes.cpp Begin adding docs and IR-level support for the inalloca attribute 2013-12-19 02:14:12 +00:00
AutoUpgrade.cpp Debug Info: rename getDebugInfoVersionFromModule to getDebugMetadataVersionFromModule. 2013-12-03 00:12:14 +00:00
BasicBlock.cpp
CMakeLists.txt [PM] Rename this source file to something a bit more generic before 2014-01-09 02:39:45 +00:00
ConstantFold.cpp Fold vector selects with undef elements in the condition. Fixes PR18319. 2013-12-31 19:30:47 +00:00
ConstantFold.h
Constants.cpp Add getBitCastOrAddrSpaceCast 2013-12-07 02:58:41 +00:00
ConstantsContext.h Revert "Give internal classes hidden visibility." 2013-09-11 18:05:11 +00:00
Core.cpp [PM] Split DominatorTree into a concrete analysis result object which 2014-01-13 13:07:17 +00:00
DataLayout.cpp Use 'w' instead of 'c' to represent the win32 mangling. 2014-01-10 13:42:12 +00:00
DebugInfo.cpp DebugInfo: Remove dead code, DICompositeType::addMember(DIDescriptor D) 2013-12-27 19:11:52 +00:00
DebugLoc.cpp
DiagnosticInfo.cpp Re-sort all of the includes with ./utils/sort_includes.py so that 2014-01-07 11:48:04 +00:00
DiagnosticPrinter.cpp [DiagnosticPrinter] Use the appropriate method to print a Twine object in a 2013-12-17 22:35:07 +00:00
DIBuilder.cpp Debug info: Implement (rvalue) reference qualifiers for C++11 non-static 2013-12-18 21:48:19 +00:00
Dominators.cpp [PM] Split DominatorTree into a concrete analysis result object which 2014-01-13 13:07:17 +00:00
Function.cpp Begin adding docs and IR-level support for the inalloca attribute 2013-12-19 02:14:12 +00:00
GCOV.cpp Re-sort all of the includes with ./utils/sort_includes.py so that 2014-01-07 11:48:04 +00:00
Globals.cpp Allow addrspacecast in global aliases 2014-01-02 20:55:01 +00:00
GVMaterializer.cpp
InlineAsm.cpp Add static cast to unsigned char whenever a character classification function is called with a signed char argument, in order to avoid assertions in Windows Debug configuration. 2013-02-12 21:21:59 +00:00
Instruction.cpp Add addrspacecast instruction. 2013-11-15 01:34:59 +00:00
Instructions.cpp Fix typo in assert message: s/load/store 2013-12-21 00:00:49 +00:00
IntrinsicInst.cpp
IRBuilder.cpp
IRPrintingPasses.cpp [PM] Add module and function printing passes for the new pass manager. 2014-01-12 12:15:39 +00:00
LeakDetector.cpp
LeaksContext.h Revert "Give internal classes hidden visibility." 2013-09-11 18:05:11 +00:00
LegacyPassManager.cpp [PM] Simplify the interface exposed for IR printing passes. 2014-01-12 11:30:46 +00:00
LLVMBuild.txt
LLVMContext.cpp Add warning capabilities in LLVM. 2013-12-17 17:47:22 +00:00
LLVMContextImpl.cpp Add warning capabilities in LLVM. 2013-12-17 17:47:22 +00:00
LLVMContextImpl.h Add warning capabilities in LLVM. 2013-12-17 17:47:22 +00:00
Makefile Actually update the CMake and Makefile builds correctly, and update the 2013-01-02 12:09:16 +00:00
Mangler.cpp Remove vestigal bits of MC from the mangler. It no longer uses this, and 2014-01-08 21:59:22 +00:00
Metadata.cpp [weak vtables] Remove a bunch of weak vtables 2013-11-19 00:57:56 +00:00
Module.cpp Re-remove dead code. 2014-01-09 19:22:07 +00:00
Pass.cpp [PM] Simplify the interface exposed for IR printing passes. 2014-01-12 11:30:46 +00:00
PassManager.cpp [PM] Add names to passes under the new pass manager, and a debug output 2014-01-11 11:52:05 +00:00
PassRegistry.cpp Use an RWMutex instead of a Mutex in PassRegistry. 2013-07-03 18:38:08 +00:00
SymbolTableListTraitsImpl.h
Type.cpp Mark some Type and EVT methods as LLVM_READONLY. 2013-12-28 16:17:26 +00:00
TypeFinder.cpp TypeFinder: prefer iterative algorithm to keep stack usage low. 2013-10-16 04:10:06 +00:00
Use.cpp Fix Casting 2013-01-14 21:04:37 +00:00
User.cpp
Value.cpp Make it explicit that nulls are not allowed in names. 2013-11-19 21:12:39 +00:00
ValueSymbolTable.cpp
ValueTypes.cpp Add v4f16 to supported value types. 2013-10-03 03:29:21 +00:00
Verifier.cpp [PM] Split DominatorTree into a concrete analysis result object which 2014-01-13 13:07:17 +00:00