diff --git a/include/llvm/LinkTimeOptimizer.h b/include/llvm/LinkTimeOptimizer.h index 8c38fe5ecfb..d20d21e4c02 100644 --- a/include/llvm/LinkTimeOptimizer.h +++ b/include/llvm/LinkTimeOptimizer.h @@ -56,8 +56,8 @@ namespace llvm { void mayBeNotUsed(); LLVMSymbol (enum LTOLinkageTypes lt, GlobalValue *g, const std::string &n, - const std::string &m) : linkage(lt), gv(g), name(n), - mangledName(m) {} + const std::string &m) : linkage(lt), gv(g), name(n), + mangledName(m) {} const char *getName() { return name.c_str(); } const char *getMangledName() { return mangledName.c_str(); } @@ -82,13 +82,14 @@ namespace llvm { public: typedef hash_map, - string_compare> NameToSymbolMap; + string_compare> NameToSymbolMap; enum LTOStatus readLLVMObjectFile(const std::string &InputFilename, - NameToSymbolMap &symbols, - std::set &references); + NameToSymbolMap &symbols, + std::set &references); enum LTOStatus optimizeModules(const std::string &OutputFilename, - std::vector &exportList); + std::vector &exportList, + std::string &targetTriple); private: std::vector modules; diff --git a/tools/lto/lto.cpp b/tools/lto/lto.cpp index a7379539167..df9634e5a2a 100644 --- a/tools/lto/lto.cpp +++ b/tools/lto/lto.cpp @@ -266,7 +266,8 @@ static enum LTOStatus lto_optimize(Module *M, std::ostream &Out, /// Return appropriate LTOStatus. enum LTOStatus LinkTimeOptimizer::optimizeModules(const std::string &OutputFilename, - std::vector &exportList) + std::vector &exportList, + std::string &targetTriple) { if (modules.empty()) return LTO_NO_WORK; @@ -316,6 +317,8 @@ LinkTimeOptimizer::optimizeModules(const std::string &OutputFilename, return status; } + targetTriple = bigOne->getTargetTriple(); + // Run GCC to assemble and link the program into native code. // // Note: