mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 19:23:23 +01:00
357980289a
This reverts commit r189886. I found a corner case where this optimization is not valid: Say we have a "linkonce_odr unnamed_addr" in two translation units: * In TU 1 this optimization kicks in and makes it hidden. * In TU 2 it gets const merged with a constant that is *not* unnamed_addr, resulting in a non unnamed_addr constant with default visibility. * The static linker rules for combining visibility them produce a hidden symbol, which is incorrect from the point of view of the non unnamed_addr constant. The one place we can do this is when we know that the symbol is not used from another TU in the same shared object, i.e., during LTO. I will move it there. llvm-svn: 189954 |
||
---|---|---|
.. | ||
Argument.h | ||
Attributes.h | ||
BasicBlock.h | ||
CallingConv.h | ||
CMakeLists.txt | ||
Constant.h | ||
Constants.h | ||
DataLayout.h | ||
DerivedTypes.h | ||
Function.h | ||
GlobalAlias.h | ||
GlobalValue.h | ||
GlobalVariable.h | ||
InlineAsm.h | ||
InstrTypes.h | ||
Instruction.def | ||
Instruction.h | ||
Instructions.h | ||
IntrinsicInst.h | ||
Intrinsics.h | ||
Intrinsics.td | ||
IntrinsicsAArch64.td | ||
IntrinsicsARM.td | ||
IntrinsicsHexagon.td | ||
IntrinsicsMips.td | ||
IntrinsicsNVVM.td | ||
IntrinsicsPowerPC.td | ||
IntrinsicsR600.td | ||
IntrinsicsX86.td | ||
IntrinsicsXCore.td | ||
IRBuilder.h | ||
LLVMContext.h | ||
MDBuilder.h | ||
Metadata.h | ||
Module.h | ||
OperandTraits.h | ||
Operator.h | ||
SymbolTableListTraits.h | ||
Type.h | ||
TypeBuilder.h | ||
TypeFinder.h | ||
Use.h | ||
User.h | ||
Value.h | ||
ValueSymbolTable.h |