OLD | NEW |
---|---|
1 //===-LTOCodeGenerator.cpp - LLVM Link Time Optimizer ---------------------===// | 1 //===-LTOCodeGenerator.cpp - LLVM Link Time Optimizer ---------------------===// |
2 // | 2 // |
3 // The LLVM Compiler Infrastructure | 3 // The LLVM Compiler Infrastructure |
4 // | 4 // |
5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
7 // | 7 // |
8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
9 // | 9 // |
10 // This file implements the Link Time Optimization library. This library is | 10 // This file implements the Link Time Optimization library. This library is |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
101 _asmUndefinedRefs[undefs[i]] = 1; | 101 _asmUndefinedRefs[undefs[i]] = 1; |
102 | 102 |
103 return ret; | 103 return ret; |
104 } | 104 } |
105 | 105 |
106 // @LOCALMOD-BEGIN | 106 // @LOCALMOD-BEGIN |
107 /// Add a module that will be merged with the final output module. | 107 /// Add a module that will be merged with the final output module. |
108 /// The merging does not happen until linkGatheredModulesAndDispose(). | 108 /// The merging does not happen until linkGatheredModulesAndDispose(). |
109 bool LTOCodeGenerator::gatherModuleForLinking(LTOModule* mod) { | 109 bool LTOCodeGenerator::gatherModuleForLinking(LTOModule* mod) { |
110 _gatheredModules.push_back(mod); | 110 _gatheredModules.push_back(mod); |
111 return false; | |
Mark Seaborn
2013/05/06 17:04:06
How is this change related to the new pass? Commi
Derek Schuff
2013/05/08 22:33:28
oops, yes this just fixes a warning, split into a
| |
111 } | 112 } |
112 | 113 |
113 /// Merge all modules gathered from gatherModuleForLinking(), and | 114 /// Merge all modules gathered from gatherModuleForLinking(), and |
114 /// destroy the source modules in the process. | 115 /// destroy the source modules in the process. |
115 bool LTOCodeGenerator::linkGatheredModulesAndDispose(std::string& errMsg) { | 116 bool LTOCodeGenerator::linkGatheredModulesAndDispose(std::string& errMsg) { |
116 | 117 |
117 // We gather the asm undefs earlier than addModule() does, | 118 // We gather the asm undefs earlier than addModule() does, |
118 // since we delete the modules during linking, and would not be | 119 // since we delete the modules during linking, and would not be |
119 // able to do this after linking. The undefs vector contain lists | 120 // able to do this after linking. The undefs vector contain lists |
120 // of global variable names which are considered "used", which will be | 121 // of global variable names which are considered "used", which will be |
(...skipping 446 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
567 void LTOCodeGenerator::setCodeGenDebugOptions(const char *options) { | 568 void LTOCodeGenerator::setCodeGenDebugOptions(const char *options) { |
568 for (std::pair<StringRef, StringRef> o = getToken(options); | 569 for (std::pair<StringRef, StringRef> o = getToken(options); |
569 !o.first.empty(); o = getToken(o.second)) { | 570 !o.first.empty(); o = getToken(o.second)) { |
570 // ParseCommandLineOptions() expects argv[0] to be program name. Lazily add | 571 // ParseCommandLineOptions() expects argv[0] to be program name. Lazily add |
571 // that. | 572 // that. |
572 if (_codegenOptions.empty()) | 573 if (_codegenOptions.empty()) |
573 _codegenOptions.push_back(strdup("libLTO")); | 574 _codegenOptions.push_back(strdup("libLTO")); |
574 _codegenOptions.push_back(strdup(o.first.str().c_str())); | 575 _codegenOptions.push_back(strdup(o.first.str().c_str())); |
575 } | 576 } |
576 } | 577 } |
OLD | NEW |