mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 18:54:02 +01:00
fcb0b24958
In a `-DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_LINK_LLVM_DYLIB=on -DCLANG_LINK_CLANG_DYLIB=on` build, libLLVM-13git.so is 2% smaller and libclang-cpp.so is 1% smaller (on top of -Wl,-Bsymbolic-functions). There may be some small performance improvement as well because GCC -fPIC suppresses interprocedural optimizations for non-inline definitions by default. Note: we cannot add -fno-semantic-interposition for Clang<13. Clang<13's implementation additionally optimizes global variables, which is incompatible with unfortunate ELF -fno-pic default: direct access relocations for external data. If the executable has a -fno-pic object file referencing a global variable declared in a public header, the direct access relocation will cause a copy relocation. The executable and libLLVM.so/libclang-cpp.so will disagree on the address. Reviewed By: phosek Differential Revision: https://reviews.llvm.org/D102453 |
||
---|---|---|
.. | ||
AddLLVM.cmake | ||
AddLLVMDefinitions.cmake | ||
AddOCaml.cmake | ||
AddSphinxTarget.cmake | ||
CheckAtomic.cmake | ||
CheckCompilerVersion.cmake | ||
ChooseMSVCCRT.cmake | ||
CMakeLists.txt | ||
CrossCompile.cmake | ||
DetermineGCCCompatible.cmake | ||
FindGRPC.cmake | ||
FindLibpfm.cmake | ||
FindOCaml.cmake | ||
FindSphinx.cmake | ||
FindZ3.cmake | ||
GenerateVersionFromVCS.cmake | ||
GetErrcMessages.cmake | ||
GetHostTriple.cmake | ||
GetLibraryName.cmake | ||
HandleLLVMOptions.cmake | ||
HandleLLVMStdlib.cmake | ||
LLVM-Build.cmake | ||
LLVM-Config.cmake | ||
LLVMCheckLinkerFlag.cmake | ||
LLVMConfig.cmake.in | ||
LLVMConfigVersion.cmake.in | ||
LLVMDistributionSupport.cmake | ||
LLVMExternalProjectUtils.cmake | ||
LLVMInstallSymlink.cmake | ||
LLVMProcessSources.cmake | ||
TableGen.cmake | ||
TensorFlowCompile.cmake | ||
UseLibtool.cmake | ||
VersionFromVCS.cmake |