forked from OSchip/llvm-project
Kill off unused TargetMachineRegistry methods and ivars.
llvm-svn: 75774
This commit is contained in:
parent
5eb9700578
commit
88f8559261
|
@ -30,17 +30,10 @@ namespace llvm {
|
||||||
const Target &TheTarget;
|
const Target &TheTarget;
|
||||||
const char *Name;
|
const char *Name;
|
||||||
const char *ShortDesc;
|
const char *ShortDesc;
|
||||||
TargetMachine *(*CtorFn)(const Module &, const std::string &);
|
|
||||||
unsigned (*ModuleMatchQualityFn)(const Module &M);
|
|
||||||
unsigned (*JITMatchQualityFn)();
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
TargetMachineRegistryEntry(const Target &T, const char *N, const char *SD,
|
TargetMachineRegistryEntry(const Target &T, const char *N, const char *SD)
|
||||||
TargetMachine *(*CF)(const Module &, const std::string &),
|
: TheTarget(T), Name(N), ShortDesc(SD) {}
|
||||||
unsigned (*MMF)(const Module &M),
|
|
||||||
unsigned (*JMF)())
|
|
||||||
: TheTarget(T), Name(N), ShortDesc(SD), CtorFn(CF),
|
|
||||||
ModuleMatchQualityFn(MMF), JITMatchQualityFn(JMF) {}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
|
@ -53,24 +46,15 @@ namespace llvm {
|
||||||
};
|
};
|
||||||
|
|
||||||
struct TargetMachineRegistry : public Registry<TargetMachine> {
|
struct TargetMachineRegistry : public Registry<TargetMachine> {
|
||||||
/// getClosestStaticTargetForModule - Given an LLVM module, pick the best
|
|
||||||
/// target that is compatible with the module. If no close target can be
|
|
||||||
/// found, this returns null and sets the Error string to a reason.
|
|
||||||
static const entry *getClosestStaticTargetForModule(const Module &M,
|
|
||||||
std::string &Error);
|
|
||||||
|
|
||||||
/// getClosestTargetForJIT - Pick the best target that is compatible with
|
|
||||||
/// the current host. If no close target can be found, this returns null
|
|
||||||
/// and sets the Error string to a reason.
|
|
||||||
static const entry *getClosestTargetForJIT(std::string &Error);
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
//===--------------------------------------------------------------------===//
|
//===--------------------------------------------------------------------===//
|
||||||
/// RegisterTarget - This class is used to make targets automatically register
|
/// RegisterTarget - This class is used to make targets automatically register
|
||||||
/// themselves with the tool they are linked. Targets should define an
|
/// themselves with the tools they are linked with. Targets should define an
|
||||||
/// instance of this and implement the static methods described in the
|
/// single global Target instance and register it using the TargetRegistry
|
||||||
/// TargetMachine comments.
|
/// interfaces. Targets must also include a static instance of this class.
|
||||||
|
///
|
||||||
/// The type 'TargetMachineImpl' should provide a constructor with two
|
/// The type 'TargetMachineImpl' should provide a constructor with two
|
||||||
/// parameters:
|
/// parameters:
|
||||||
/// - const Module& M: the module that is being compiled:
|
/// - const Module& M: the module that is being compiled:
|
||||||
|
@ -80,9 +64,7 @@ namespace llvm {
|
||||||
template<class TargetMachineImpl>
|
template<class TargetMachineImpl>
|
||||||
struct RegisterTarget {
|
struct RegisterTarget {
|
||||||
RegisterTarget(Target &T, const char *Name, const char *ShortDesc)
|
RegisterTarget(Target &T, const char *Name, const char *ShortDesc)
|
||||||
: Entry(T, Name, ShortDesc, &Allocator,
|
: Entry(T, Name, ShortDesc),
|
||||||
&TargetMachineImpl::getModuleMatchQuality,
|
|
||||||
&TargetMachineImpl::getJITMatchQuality),
|
|
||||||
Node(Entry) {
|
Node(Entry) {
|
||||||
TargetRegistry::RegisterTargetMachine(T, &Allocator);
|
TargetRegistry::RegisterTargetMachine(T, &Allocator);
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,8 +49,6 @@ namespace llvm {
|
||||||
bool);
|
bool);
|
||||||
|
|
||||||
friend struct TargetRegistry;
|
friend struct TargetRegistry;
|
||||||
// FIXME: Temporary hack, please remove.
|
|
||||||
friend struct TargetMachineRegistry;
|
|
||||||
|
|
||||||
/// Next - The next registered target in the linked list, maintained by the
|
/// Next - The next registered target in the linked list, maintained by the
|
||||||
/// TargetRegistry.
|
/// TargetRegistry.
|
||||||
|
|
|
@ -1,51 +0,0 @@
|
||||||
//===-- TargetMachineRegistry.cpp - Target Auto Registration Impl ---------===//
|
|
||||||
//
|
|
||||||
// The LLVM Compiler Infrastructure
|
|
||||||
//
|
|
||||||
// This file is distributed under the University of Illinois Open Source
|
|
||||||
// License. See LICENSE.TXT for details.
|
|
||||||
//
|
|
||||||
//===----------------------------------------------------------------------===//
|
|
||||||
//
|
|
||||||
// This file exposes the RegisterTarget class, which TargetMachine
|
|
||||||
// implementations should use to register themselves with the system. This file
|
|
||||||
// also exposes the TargetMachineRegistry class, which allows tools to inspect
|
|
||||||
// all of registered targets.
|
|
||||||
//
|
|
||||||
//===----------------------------------------------------------------------===//
|
|
||||||
|
|
||||||
#include "llvm/Target/TargetMachineRegistry.h"
|
|
||||||
#include <algorithm>
|
|
||||||
using namespace llvm;
|
|
||||||
|
|
||||||
/// getClosestStaticTargetForModule - Given an LLVM module, pick the best target
|
|
||||||
/// that is compatible with the module. If no close target can be found, this
|
|
||||||
/// returns null and sets the Error string to a reason.
|
|
||||||
const TargetMachineRegistry::entry *
|
|
||||||
TargetMachineRegistry::getClosestStaticTargetForModule(const Module &M,
|
|
||||||
std::string &Error) {
|
|
||||||
const Target *T = TargetRegistry::getClosestStaticTargetForModule(M, Error);
|
|
||||||
if (!T)
|
|
||||||
return 0;
|
|
||||||
// FIXME: Temporary hack, please remove.
|
|
||||||
return new TargetMachineRegistry::entry(*T, T->Name, T->ShortDesc,
|
|
||||||
T->TargetMachineCtorFn,
|
|
||||||
T->ModuleMatchQualityFn,
|
|
||||||
T->JITMatchQualityFn);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// getClosestTargetForJIT - Pick the best target that is compatible with
|
|
||||||
/// the current host. If no close target can be found, this returns null
|
|
||||||
/// and sets the Error string to a reason.
|
|
||||||
const TargetMachineRegistry::entry *
|
|
||||||
TargetMachineRegistry::getClosestTargetForJIT(std::string &Error) {
|
|
||||||
const Target *T = TargetRegistry::getClosestTargetForJIT(Error);
|
|
||||||
if (!T)
|
|
||||||
return 0;
|
|
||||||
// FIXME: Temporary hack, please remove.
|
|
||||||
return new TargetMachineRegistry::entry(*T, T->Name, T->ShortDesc,
|
|
||||||
T->TargetMachineCtorFn,
|
|
||||||
T->ModuleMatchQualityFn,
|
|
||||||
T->JITMatchQualityFn);
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in New Issue