From d01f303c3260b8552e1b5492fade808a52a1fbc2 Mon Sep 17 00:00:00 2001 From: Peter Collingbourne Date: Fri, 21 Aug 2015 19:09:42 +0000 Subject: [PATCH] llvm-lto: Re-order code. This saves us from needing to asave a pointer, and will be needed for an upcoming ownership change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@245722 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/llvm-lto/llvm-lto.cpp | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/tools/llvm-lto/llvm-lto.cpp b/tools/llvm-lto/llvm-lto.cpp index 9678c8397e0..7f87859f3b2 100644 --- a/tools/llvm-lto/llvm-lto.cpp +++ b/tools/llvm-lto/llvm-lto.cpp @@ -207,7 +207,16 @@ int main(int argc, char **argv) { return 1; } - LTOModule *LTOMod = Module.get(); + unsigned NumSyms = Module->getSymbolCount(); + for (unsigned I = 0; I < NumSyms; ++I) { + StringRef Name = Module->getSymbolName(I); + if (!DSOSymbolsSet.count(Name)) + continue; + lto_symbol_attributes Attrs = Module->getSymbolAttributes(I); + unsigned Scope = Attrs & LTO_SYMBOL_SCOPE_MASK; + if (Scope != LTO_SYMBOL_SCOPE_DEFAULT_CAN_BE_HIDDEN) + KeptDSOSyms.push_back(Name); + } // We use the first input module as the destination module when // SetMergedModule is true. @@ -216,17 +225,6 @@ int main(int argc, char **argv) { CodeGen.setModule(Module.release()); } else if (!CodeGen.addModule(Module.get())) return 1; - - unsigned NumSyms = LTOMod->getSymbolCount(); - for (unsigned I = 0; I < NumSyms; ++I) { - StringRef Name = LTOMod->getSymbolName(I); - if (!DSOSymbolsSet.count(Name)) - continue; - lto_symbol_attributes Attrs = LTOMod->getSymbolAttributes(I); - unsigned Scope = Attrs & LTO_SYMBOL_SCOPE_MASK; - if (Scope != LTO_SYMBOL_SCOPE_DEFAULT_CAN_BE_HIDDEN) - KeptDSOSyms.push_back(Name); - } } // Add all the exported symbols to the table of symbols to preserve. -- 2.34.1