From 7bdf6b00e04c177f22133b5d4be10cb246cb1e76 Mon Sep 17 00:00:00 2001 From: Chandler Carruth Date: Sat, 5 Jan 2013 11:43:11 +0000 Subject: 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 --- tools/llc/llc.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'tools/llc/llc.cpp') diff --git a/tools/llc/llc.cpp b/tools/llc/llc.cpp index f81495cc7e..68876ea22a 100644 --- a/tools/llc/llc.cpp +++ b/tools/llc/llc.cpp @@ -321,8 +321,8 @@ static int compileModule(char **argv, LLVMContext &Context) { PM.add(TLI); if (target.get()) { - PM.add(new TargetTransformInfo(target->getScalarTargetTransformInfo(), - target->getVectorTargetTransformInfo())); + PM.add(createNoTTIPass(target->getScalarTargetTransformInfo(), + target->getVectorTargetTransformInfo())); } // Add the target data from the target machine, if it exists, or the module. -- cgit v1.2.3-18-g5258