aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-07-26 02:12:58 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-07-26 02:12:58 +0000
commit48224ee5385b03a49ecf34a7c9e3ab73fe32cdb3 (patch)
tree91b295074626e17cb0342c1de0959a5a6c2349b0 /tools
parentd9509d1ac08258cf4c5139c108747bb57ccd8fbe (diff)
downloadexternal_llvm-48224ee5385b03a49ecf34a7c9e3ab73fe32cdb3.zip
external_llvm-48224ee5385b03a49ecf34a7c9e3ab73fe32cdb3.tar.gz
external_llvm-48224ee5385b03a49ecf34a7c9e3ab73fe32cdb3.tar.bz2
Add TargetRegistry::lookupTarget.
- This is a simplified mechanism which just looks up a target based on the target triple, with a few additional flags. - Remove getClosestStaticTargetForModule, the moral equivalent is now: lookupTarget(Mod->getTargetTriple, true, false, ...); - This no longer does the fuzzy matching with target data (based on endianness and pointer width) that getClosestStaticTargetForModule was doing, but this was deemed unnecessary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77111 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools')
-rw-r--r--tools/llc/llc.cpp5
-rw-r--r--tools/llvm-mc/llvm-mc.cpp5
-rw-r--r--tools/lto/LTOCodeGenerator.cpp6
-rw-r--r--tools/lto/LTOModule.cpp7
4 files changed, 16 insertions, 7 deletions
diff --git a/tools/llc/llc.cpp b/tools/llc/llc.cpp
index 6d66268..9f7f0a4 100644
--- a/tools/llc/llc.cpp
+++ b/tools/llc/llc.cpp
@@ -252,7 +252,10 @@ int main(int argc, char **argv) {
}
} else {
std::string Err;
- TheTarget = TargetRegistry::getClosestStaticTargetForModule(mod, Err);
+ TheTarget = TargetRegistry::lookupTarget(mod.getTargetTriple(),
+ /*FallbackToHost=*/true,
+ /*RequireJIT=*/false,
+ Err);
if (TheTarget == 0) {
errs() << argv[0] << ": error auto-selecting target for module '"
<< Err << "'. Please use the -march option to explicitly "
diff --git a/tools/llvm-mc/llvm-mc.cpp b/tools/llvm-mc/llvm-mc.cpp
index ffc9b55..5212ab1 100644
--- a/tools/llvm-mc/llvm-mc.cpp
+++ b/tools/llvm-mc/llvm-mc.cpp
@@ -147,7 +147,10 @@ static int AssembleInput(const char *ProgName) {
// Get the target specific parser.
std::string Error;
const Target *TheTarget =
- TargetRegistry::getClosestStaticTargetForTriple(Triple, Error);
+ TargetRegistry::lookupTarget(Triple,
+ /*FallbackToHost=*/true,
+ /*RequireJIT=*/false,
+ Error);
if (TheTarget == 0) {
errs() << ProgName << ": error: unable to get target for '" << Triple
<< "', see --version and --triple.\n";
diff --git a/tools/lto/LTOCodeGenerator.cpp b/tools/lto/LTOCodeGenerator.cpp
index 93689e3..a264e73 100644
--- a/tools/lto/LTOCodeGenerator.cpp
+++ b/tools/lto/LTOCodeGenerator.cpp
@@ -330,8 +330,10 @@ bool LTOCodeGenerator::determineTarget(std::string& errMsg)
// create target machine from info for merged modules
Module* mergedModule = _linker.getModule();
const Target *march =
- TargetRegistry::getClosestStaticTargetForModule(*mergedModule,
- errMsg);
+ TargetRegistry::lookupTarget(mergedModule->getTargetTriple(),
+ /*FallbackToHost=*/true,
+ /*RequireJIT=*/false,
+ errMsg);
if ( march == NULL )
return true;
diff --git a/tools/lto/LTOModule.cpp b/tools/lto/LTOModule.cpp
index a72938a..83dda0c 100644
--- a/tools/lto/LTOModule.cpp
+++ b/tools/lto/LTOModule.cpp
@@ -145,9 +145,10 @@ LTOModule* LTOModule::makeLTOModule(MemoryBuffer* buffer,
if ( !m )
return NULL;
// find machine architecture for this module
- const Target* march =
- TargetRegistry::getClosestStaticTargetForModule(*m, errMsg);
-
+ const Target* march = TargetRegistry::lookupTarget(m->getTargetTriple(),
+ /*FallbackToHost=*/true,
+ /*RequireJIT=*/false,
+ errMsg);
if ( march == NULL )
return NULL;