[llvm-commits] [llvm] r169770 - in /llvm/trunk: include/llvm-c/lto.h tools/lto/LTOCodeGenerator.cpp tools/lto/LTOCodeGenerator.h tools/lto/lto.cpp tools/lto/lto.exports
Bill Wendling
isanbard at gmail.com
Mon Dec 10 13:33:45 PST 2012
Author: void
Date: Mon Dec 10 15:33:45 2012
New Revision: 169770
URL: http://llvm.org/viewvc/llvm-project?rev=169770&view=rev
Log:
Revert r169656.
The linker will call `lto_codegen_add_must_preserve_symbol' on all globals that
should be kept around. The linker will pretend that a dylib is being created.
<rdar://problem/12528059>
Modified:
llvm/trunk/include/llvm-c/lto.h
llvm/trunk/tools/lto/LTOCodeGenerator.cpp
llvm/trunk/tools/lto/LTOCodeGenerator.h
llvm/trunk/tools/lto/lto.cpp
llvm/trunk/tools/lto/lto.exports
Modified: llvm/trunk/include/llvm-c/lto.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm-c/lto.h?rev=169770&r1=169769&r2=169770&view=diff
==============================================================================
--- llvm/trunk/include/llvm-c/lto.h (original)
+++ llvm/trunk/include/llvm-c/lto.h Mon Dec 10 15:33:45 2012
@@ -251,13 +251,6 @@
int nargs);
/**
- * If set, then codegen will export all symbols (e.g. the internalize
- * pass won't run).
- */
-extern void
-lto_codegen_set_export_dynamic(lto_code_gen_t cg, bool val);
-
-/**
* Adds to a list of all global symbols that must exist in the final
* generated code. If a function is not listed, it might be
* inlined into every usage and optimized away.
Modified: llvm/trunk/tools/lto/LTOCodeGenerator.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/lto/LTOCodeGenerator.cpp?rev=169770&r1=169769&r2=169770&view=diff
==============================================================================
--- llvm/trunk/tools/lto/LTOCodeGenerator.cpp (original)
+++ llvm/trunk/tools/lto/LTOCodeGenerator.cpp Mon Dec 10 15:33:45 2012
@@ -66,7 +66,7 @@
: _context(getGlobalContext()),
_linker("LinkTimeOptimizer", "ld-temp.o", _context), _target(NULL),
_emitDwarfDebugInfo(false), _scopeRestrictionsDone(false),
- _exportDynamic(false), _codeModel(LTO_CODEGEN_PIC_MODEL_DYNAMIC),
+ _codeModel(LTO_CODEGEN_PIC_MODEL_DYNAMIC),
_nativeObjectFile(NULL) {
InitializeAllTargets();
InitializeAllTargetMCs();
@@ -339,8 +339,7 @@
LLVMCompilerUsed->setSection("llvm.metadata");
- if (!_exportDynamic)
- passes.add(createInternalizePass(mustPreserveList));
+ passes.add(createInternalizePass(mustPreserveList));
// apply scope restrictions
passes.run(*mergedModule);
@@ -379,12 +378,7 @@
// keeps only main if it exists and does nothing for libraries. Instead
// we create the pass ourselves with the symbol list provided by the linker.
PassManagerBuilder().populateLTOPassManager(passes,
- /*Internalize=*/
- // FIXME: remove 'false' once
- // Darwin linker can pass this
- // option.
- // <rdar://problem/12839986>
- false /*!_exportDynamic*/,
+ /*Internalize=*/false,
!DisableInline,
DisableGVNLoadPRE);
Modified: llvm/trunk/tools/lto/LTOCodeGenerator.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/lto/LTOCodeGenerator.h?rev=169770&r1=169769&r2=169770&view=diff
==============================================================================
--- llvm/trunk/tools/lto/LTOCodeGenerator.h (original)
+++ llvm/trunk/tools/lto/LTOCodeGenerator.h Mon Dec 10 15:33:45 2012
@@ -44,7 +44,6 @@
bool setCodePICModel(lto_codegen_model, std::string &errMsg);
void setCpu(const char* mCpu) { _mCpu = mCpu; }
- void setExportDynamic(bool V) { _exportDynamic = V; }
void addMustPreserveSymbol(const char* sym) {
_mustPreserveSymbols[sym] = 1;
@@ -71,7 +70,6 @@
llvm::TargetMachine* _target;
bool _emitDwarfDebugInfo;
bool _scopeRestrictionsDone;
- bool _exportDynamic;
lto_codegen_model _codeModel;
StringSet _mustPreserveSymbols;
StringSet _asmUndefinedRefs;
Modified: llvm/trunk/tools/lto/lto.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/lto/lto.cpp?rev=169770&r1=169769&r2=169770&view=diff
==============================================================================
--- llvm/trunk/tools/lto/lto.cpp (original)
+++ llvm/trunk/tools/lto/lto.cpp Mon Dec 10 15:33:45 2012
@@ -174,12 +174,6 @@
// In here only for backwards compatibility. We use MC now.
}
-/// lto_codegen_set_export_dynamic - If set, then codegen will export all
-/// symbols (e.g. the internalize pass won't run).
-void lto_codegen_set_export_dynamic(lto_code_gen_t cg, bool val) {
- cg->setExportDynamic(val);
-}
-
/// lto_codegen_add_must_preserve_symbol - Adds to a list of all global symbols
/// that must exist in the final generated code. If a function is not listed
/// there, it might be inlined into every usage and optimized away.
Modified: llvm/trunk/tools/lto/lto.exports
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/lto/lto.exports?rev=169770&r1=169769&r2=169770&view=diff
==============================================================================
--- llvm/trunk/tools/lto/lto.exports (original)
+++ llvm/trunk/tools/lto/lto.exports Mon Dec 10 15:33:45 2012
@@ -27,7 +27,6 @@
lto_codegen_set_assembler_args
lto_codegen_set_assembler_path
lto_codegen_set_cpu
-lto_codegen_set_export_dynamic
lto_codegen_compile_to_file
LLVMCreateDisasm
LLVMCreateDisasmCPU
More information about the llvm-commits
mailing list