Chromium Code Reviews| 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 |