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 | 48224ee5385b03a49ecf34a7c9e3ab73fe32cdb3 (patch) | |
tree | 91b295074626e17cb0342c1de0959a5a6c2349b0 /tools | |
parent | d9509d1ac08258cf4c5139c108747bb57ccd8fbe (diff) | |
download | external_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.cpp | 5 | ||||
-rw-r--r-- | tools/llvm-mc/llvm-mc.cpp | 5 | ||||
-rw-r--r-- | tools/lto/LTOCodeGenerator.cpp | 6 | ||||
-rw-r--r-- | tools/lto/LTOModule.cpp | 7 |
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; |