summaryrefslogtreecommitdiffstats
path: root/llvm/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
commit47d679151b4bd709e9818313117524f35c2ceefd (patch)
tree34c6e2c1e7e26d1dcaddcd292e625787b229b3e6 /llvm/tools
parent3092b822552965efa5c13103d1ed5bce8774682b (diff)
downloadbcm5719-llvm-47d679151b4bd709e9818313117524f35c2ceefd.tar.gz
bcm5719-llvm-47d679151b4bd709e9818313117524f35c2ceefd.zip
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. llvm-svn: 77111
Diffstat (limited to 'llvm/tools')
-rw-r--r--llvm/tools/llc/llc.cpp5
-rw-r--r--llvm/tools/llvm-mc/llvm-mc.cpp5
-rw-r--r--llvm/tools/lto/LTOCodeGenerator.cpp6
-rw-r--r--llvm/tools/lto/LTOModule.cpp7
4 files changed, 16 insertions, 7 deletions
diff --git a/llvm/tools/llc/llc.cpp b/llvm/tools/llc/llc.cpp
index 6d662680bfb..9f7f0a43f15 100644
--- a/llvm/tools/llc/llc.cpp
+++ b/llvm/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/llvm/tools/llvm-mc/llvm-mc.cpp b/llvm/tools/llvm-mc/llvm-mc.cpp
index ffc9b559f07..5212ab1936e 100644
--- a/llvm/tools/llvm-mc/llvm-mc.cpp
+++ b/llvm/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/llvm/tools/lto/LTOCodeGenerator.cpp b/llvm/tools/lto/LTOCodeGenerator.cpp
index 93689e3528c..a264e73904f 100644
--- a/llvm/tools/lto/LTOCodeGenerator.cpp
+++ b/llvm/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/llvm/tools/lto/LTOModule.cpp b/llvm/tools/lto/LTOModule.cpp
index a72938a43b0..83dda0cdc6f 100644
--- a/llvm/tools/lto/LTOModule.cpp
+++ b/llvm/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;
OpenPOWER on IntegriCloud