llvm-project/llvm/tools/opt
Chandler Carruth 539edf4ee0 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.

llvm-svn: 171621
2013-01-05 11:43:11 +00:00
..
AnalysisWrappers.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
CMakeLists.txt Reapply the TargerTransformInfo changes, minus the changes to LSR and Lowerinvoke. 2012-10-18 23:22:48 +00:00
GraphPrinters.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
LLVMBuild.txt Reapply the TargerTransformInfo changes, minus the changes to LSR and Lowerinvoke. 2012-10-18 23:22:48 +00:00
Makefile Reapply the TargerTransformInfo changes, minus the changes to LSR and Lowerinvoke. 2012-10-18 23:22:48 +00:00
PrintSCC.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
opt.cpp Convert the TargetTransformInfo from an immutable pass with dynamic 2013-01-05 11:43:11 +00:00