llvm-project/llvm/lib
Fangrui Song 5b22bcc2b7 [X86][ELF] Prefer to lower MC_GlobalAddress operands to .Lfoo$local
For a MC_GlobalAddress reference to a dso_local external GlobalValue with a definition, emit .Lfoo$local to avoid a relocation.

-fno-pic and -fpie can infer dso_local but -fpic cannot.  In the future,
we can explore the possibility of inferring dso_local with -fpic. As the
description of D73228 says, LLVM's existing IPO optimization behaviors
(like -fno-semantic-interposition) and a previous assembly behavior give
us enough license to be aggressive here.

Reviewed By: rnk

Differential Revision: https://reviews.llvm.org/D73230
2020-01-30 17:52:35 -08:00
..
Analysis [llvm][VectorUtils] Tweak VFShape for scalable vector functions. 2020-01-30 05:53:56 +00:00
AsmParser Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
BinaryFormat DWARFDebugLine.cpp: Format unknown line number standard opcodes 2020-01-15 10:45:50 -05:00
Bitcode Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
Bitstream [Bitstream] Delete skipAbbreviatedField which duplicates readAbbreviatedField 2019-12-25 18:55:02 -08:00
CodeGen [SafeStack][DebugInfo] Insert DW_OP_deref in correct location 2020-01-30 17:09:42 -08:00
DWARFLinker Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
DebugInfo [DebugInfo] Fix DebugLine::Prologue::getLength 2020-01-30 09:35:50 +00:00
Demangle Revert "Add some missing includes to MicrosoftDemangle.cpp (PR44217)" 2019-12-04 11:10:07 -08:00
ExecutionEngine Another round of GCC5 fixes. 2020-01-29 02:09:24 +01:00
Frontend [OpenMP] Use the OpenMPIRBuilder for `omp parallel` 2019-12-30 13:57:13 -06:00
FuzzMutate Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
Fuzzer
IR [ConstantFold][SVE] Fix constant folding for scalable vector unary operations. 2020-01-30 10:45:15 -08:00
IRReader [cmake] Explicitly mark libraries defined in lib/ as "Component Libraries" 2019-11-21 10:48:08 -08:00
LTO [llvm] Replace SmallStr.str().str() with std::string conversion operator. 2020-01-29 21:16:46 -08:00
LineEditor Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
Linker [NFC] Fixes -Wrange-loop-analysis warnings 2020-01-01 20:01:37 +01:00
MC [XCOFF][AIX] Support basic relocation type on AIX 2020-01-30 15:59:09 +00:00
MCA Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
Object [XCOFF][AIX] Support basic relocation type on AIX 2020-01-30 15:59:09 +00:00
ObjectYAML [yaml2obj] - Add a way to set sh_entsize for relocation sections. 2020-01-30 14:51:33 +03:00
Option Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
Passes Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
ProfileData [llvm] Replace SmallStr.str().str() with std::string conversion operator. 2020-01-29 21:16:46 -08:00
Remarks Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
Support [llvm] Replace SmallStr.str().str() with std::string conversion operator. 2020-01-29 21:16:46 -08:00
TableGen A bunch more implicit string conversions that my Clang didn't detect. 2020-01-29 00:30:16 +01:00
Target [X86][ELF] Prefer to lower MC_GlobalAddress operands to .Lfoo$local 2020-01-30 17:52:35 -08:00
Testing
TextAPI Another round of GCC5 fixes. 2020-01-29 02:09:24 +01:00
ToolDrivers [llvm] Replace SmallStr.str().str() with std::string conversion operator. 2020-01-29 21:16:46 -08:00
Transforms [InstCombine] Remove unnecessary worklist add; NFCI 2020-01-30 23:24:59 +01:00
WindowsManifest Revert "Temporarily revert "build: avoid hardcoding the libxml2 library name"" 2019-12-03 09:27:14 -08:00
XRay Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
CMakeLists.txt [Dsymutil][Debuginfo][NFC] Reland: Refactor dsymutil to separate DWARF optimizing part. #2. 2020-01-08 14:15:31 +03:00
LLVMBuild.txt [Dsymutil][Debuginfo][NFC] Reland: Refactor dsymutil to separate DWARF optimizing part. #2. 2020-01-08 14:15:31 +03:00