From a291a68161bd37448404dc10c4815d4420cb2d30 Mon Sep 17 00:00:00 2001 From: Devang Patel Date: Wed, 6 Sep 2006 20:16:28 +0000 Subject: [PATCH] Add getTargetTriple() that linker can use to query target architecture. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30132 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/LinkTimeOptimizer.h | 1 + tools/lto/lto.cpp | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/include/llvm/LinkTimeOptimizer.h b/include/llvm/LinkTimeOptimizer.h index 76a7af66da0..006f1171c80 100644 --- a/include/llvm/LinkTimeOptimizer.h +++ b/include/llvm/LinkTimeOptimizer.h @@ -92,6 +92,7 @@ namespace llvm { enum LTOStatus optimizeModules(const std::string &OutputFilename, std::vector &exportList, std::string &targetTriple); + void getTargetTriple(const std::string &InputFilename, std::string &targetTriple); private: Module *getModule (const std::string &InputFilename); diff --git a/tools/lto/lto.cpp b/tools/lto/lto.cpp index 96b449e28c8..14cfc8efafa 100644 --- a/tools/lto/lto.cpp +++ b/tools/lto/lto.cpp @@ -116,6 +116,17 @@ LinkTimeOptimizer::getModule(const std::string &InputFilename) return m; } +/// InputFilename is a LLVM bytecode file. Reade this bytecode file and +/// set corresponding target triplet string. +void +LinkTimeOptimizer::getTargetTriple(const std::string &InputFilename, + std::string &targetTriple) +{ + Module *m = getModule(InputFilename); + if (m) + targetTriple = m->getTargetTriple(); +} + /// InputFilename is a LLVM bytecode file. Read it using bytecode reader. /// Collect global functions and symbol names in symbols vector. /// Collect external references in references vector.