diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-07-26 02:12:58 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-07-26 02:12:58 +0000 |
commit | 47d679151b4bd709e9818313117524f35c2ceefd (patch) | |
tree | 34c6e2c1e7e26d1dcaddcd292e625787b229b3e6 /llvm/tools | |
parent | 3092b822552965efa5c13103d1ed5bce8774682b (diff) | |
download | bcm5719-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.cpp | 5 | ||||
-rw-r--r-- | llvm/tools/llvm-mc/llvm-mc.cpp | 5 | ||||
-rw-r--r-- | llvm/tools/lto/LTOCodeGenerator.cpp | 6 | ||||
-rw-r--r-- | llvm/tools/lto/LTOModule.cpp | 7 |
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; |