llvm-6502/lib/IR
Chandler Carruth 7bdf6b00e0 Convert the TargetTransformInfo from an immutable pass with dynamic
interfaces which could be extracted from it, and must be provided on
construction, to a chained analysis group.

The end goal here is that TTI works much like AA -- there is a baseline
"no-op" and target independent pass which is in the group, and each
target can expose a target-specific pass in the group. These passes will
naturally chain allowing each target-specific pass to delegate to the
generic pass as needed.

In particular, this will allow a much simpler interface for passes that
would like to use TTI -- they can have a hard dependency on TTI and it
will just be satisfied by the stub implementation when that is all that
is available.

This patch is a WIP however. In particular, the "stub" pass is actually
the one and only pass, and everything there is implemented by delegating
to the target-provided interfaces. As a consequence the tools still have
to explicitly construct the pass. Switching targets to provide custom
passes and sinking the stub behavior into the NoTTI pass is the next
step.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171621 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-05 11:43:11 +00:00
..
AsmWriter.cpp
AttributeImpl.h Add a method to create an AttributeSet from an AttrBuilder. 2013-01-05 01:36:54 +00:00
Attributes.cpp Switch the empty and tombstone key enumerators to not have explicit 2013-01-05 08:47:26 +00:00
AutoUpgrade.cpp
BasicBlock.cpp
CMakeLists.txt
ConstantFold.cpp
ConstantFold.h
Constants.cpp
ConstantsContext.h
Core.cpp Convert the TargetTransformInfo from an immutable pass with dynamic 2013-01-05 11:43:11 +00:00
DataLayout.cpp
DebugInfo.cpp
DebugLoc.cpp
DIBuilder.cpp
Dominators.cpp
Function.cpp Actually update the CMake and Makefile builds correctly, and update the 2013-01-02 12:09:16 +00:00
GCOV.cpp
Globals.cpp
GVMaterializer.cpp
InlineAsm.cpp
Instruction.cpp
Instructions.cpp
IntrinsicInst.cpp
IRBuilder.cpp
LeakDetector.cpp
LeaksContext.h
LLVMBuild.txt
LLVMContext.cpp
LLVMContextImpl.cpp
LLVMContextImpl.h
Makefile Actually update the CMake and Makefile builds correctly, and update the 2013-01-02 12:09:16 +00:00
Metadata.cpp
Module.cpp
Pass.cpp
PassManager.cpp
PassRegistry.cpp
PrintModulePass.cpp
SymbolTableListTraitsImpl.h
TargetTransformInfo.cpp Convert the TargetTransformInfo from an immutable pass with dynamic 2013-01-05 11:43:11 +00:00
Type.cpp
TypeFinder.cpp
Use.cpp
User.cpp
Value.cpp
ValueSymbolTable.cpp
ValueTypes.cpp
Verifier.cpp Remove unused #include 2013-01-04 19:08:43 +00:00