diff options
author | Chandler Carruth <chandlerc@gmail.com> | 2013-01-05 11:43:11 +0000 |
---|---|---|
committer | Chandler Carruth <chandlerc@gmail.com> | 2013-01-05 11:43:11 +0000 |
commit | 539edf4ee0878df47eaa9f58b65d690fca7ba939 (patch) | |
tree | 01b05d04de7c902c8fc6bb2450d3dd004abac530 /llvm/lib/Target | |
parent | 21b3c586ab97a7ae43028c0e98c53d363363801b (diff) | |
download | bcm5719-llvm-539edf4ee0878df47eaa9f58b65d690fca7ba939.tar.gz bcm5719-llvm-539edf4ee0878df47eaa9f58b65d690fca7ba939.zip |
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
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r-- | llvm/lib/Target/Target.cpp | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/llvm/lib/Target/Target.cpp b/llvm/lib/Target/Target.cpp index 3a8a9c9b332..9a78ebc3fac 100644 --- a/llvm/lib/Target/Target.cpp +++ b/llvm/lib/Target/Target.cpp @@ -26,7 +26,6 @@ using namespace llvm; void llvm::initializeTarget(PassRegistry &Registry) { initializeDataLayoutPass(Registry); initializeTargetLibraryInfoPass(Registry); - initializeTargetTransformInfoPass(Registry); } void LLVMInitializeTarget(LLVMPassRegistryRef R) { |