1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 12:12:47 +01:00
llvm-mirror/include/llvm/IR
serge-sans-paille 601c2dd9dd Fine grain control over some symbol visibility
Setting -fvisibility=hidden when compiling Target libs has the advantage of
not being intrusive on the codebase, but it also sets the visibility of all
functions within header-only component like ADT. In the end, we end up with
some symbols with hidden visibility within llvm dylib (through the target libs),
and some with external visibility (through other libs). This paves the way for
subtle bugs like https://reviews.llvm.org/D101972

This patch explicitly set the visibility of some classes to `default` so that
`llvm::Any` related symbols keep a `default` visibility. Indeed a template
function with `default` visibility parametrized by a type with `hidden`
visibility is granted `hidden` visibility, and we don't want this for the
uniqueness of `llvm::Any::TypeId`.

Differential Revision: https://reviews.llvm.org/D108943
2021-09-08 21:06:19 -07:00
..
AbstractCallSite.h
Argument.h [IR][AutoUpgrade] Drop alignment from non-pointer parameters and returns 2021-05-20 09:54:38 -07:00
AssemblyAnnotationWriter.h
Assumptions.h
Attributes.h [Attributes] Clean up handling of UB implying attributes (NFC) 2021-07-25 18:21:13 +02:00
Attributes.td [IR] Add elementtype attribute 2021-07-15 18:04:26 +02:00
AutoUpgrade.h
BasicBlock.h [PowerPC][AIX} FIx AIX bootstrap build. 2021-06-02 09:31:11 -04:00
BuiltinGCs.h [GC][NFC] Move GCStrategy from CodeGen to IR 2021-05-13 12:31:59 +07:00
CallingConv.h IR/AArch64/X86: add "swifttailcc" calling convention. 2021-05-17 10:48:34 +01:00
CFG.h Replace uses of std::iterator with explicit using 2021-04-12 10:47:14 -07:00
CMakeLists.txt
Comdat.h [IR] Rename comdat noduplicates to comdat nodeduplicate 2021-07-20 12:47:10 -07:00
Constant.h [LowerConstantIntrinsics] reuse isManifestLogic from ConstantFolding 2021-05-14 15:35:21 -07:00
ConstantFolder.h
ConstantRange.h [NFC][ConstantRange] Add 'icmp' helper method 2021-04-10 19:38:55 +03:00
Constants.h Simplify away some SmallVector copies. NFCI. 2021-07-26 16:33:38 +02:00
ConstrainedOps.def
DataLayout.h [llvm][NFC] Remove deprecated DataLayout::getPreferredAlignment functions 2021-05-06 07:28:00 +00:00
DebugInfo.h Support stripping indirectly referenced DILocations from !llvm.loop metadata 2021-05-27 13:23:33 -07:00
DebugInfoFlags.def
DebugInfoMetadata.h Partial Reapply "[DebugInfo] Use variadic debug values to salvage BinOps and GEP instrs with non-const operands" 2021-06-24 09:46:38 +01:00
DebugLoc.h [llvm] Fix header guards (NFC) 2021-02-05 21:02:06 -08:00
DerivedTypes.h Simplify away some SmallVector copies. NFCI. 2021-07-26 16:33:38 +02:00
DerivedUser.h
DiagnosticHandler.h
DiagnosticInfo.h [clang] Use i64 for the !srcloc metadata on asm IR nodes. 2021-07-22 10:24:52 +01:00
DiagnosticPrinter.h
DIBuilder.h [CodeView] Saturate values bigger than supported by APInt. 2021-07-26 22:15:26 +02:00
Dominators.h [gvn] Precisely propagate equalities to phi operands 2021-03-08 08:59:00 -08:00
FixedMetadataKinds.def
FixedPointBuilder.h
FPEnv.h [FPEnv][InstSimplify] Constrained FP support for NaN 2021-07-09 11:26:28 -04:00
Function.h Fine grain control over some symbol visibility 2021-09-08 21:06:19 -07:00
GCStrategy.h [GC][NFC] Move GCStrategy from CodeGen to IR 2021-05-13 12:31:59 +07:00
GetElementPtrTypeIterator.h Replace uses of std::iterator with explicit using 2021-04-12 10:47:14 -07:00
GlobalAlias.h
GlobalIFunc.h [docs] Fix doxygen comments wrongly attached to the llvm namespace 2021-04-07 01:20:18 +02:00
GlobalIndirectSymbol.h [IR] Added operator delete to subclasses of User to avoid UB 2021-07-08 11:59:22 +02:00
GlobalObject.h [IR] GlobalObject.h - remove unused <utility> include. NFCI. 2021-04-19 13:25:35 +01:00
GlobalValue.h
GlobalVariable.h
GVMaterializer.h
InlineAsm.h Support unwinding from inline assembly 2021-05-13 19:13:03 +01:00
InstIterator.h
InstrTypes.h [Attributes] Clean up handling of UB implying attributes (NFC) 2021-07-25 18:21:13 +02:00
Instruction.def
Instruction.h Strip undef implying attributes when moving calls 2021-07-27 10:57:05 -04:00
Instructions.h Reapply [IR] Don't accept nullptr as GEP element type 2021-07-09 21:14:41 +02:00
InstVisitor.h [Intrinsics] Make MemCpyInlineInst a MemCpyInst 2021-07-02 10:25:24 -07:00
IntrinsicInst.h [Intrinsics] Make MemCpyInlineInst a MemCpyInst 2021-07-02 10:25:24 -07:00
Intrinsics.h [remangleIntrinsicFunction] Detect and resolve name clash 2021-07-13 11:21:12 +02:00
Intrinsics.td [NFC] Fix typo intrinisic 2021-07-16 21:45:11 +05:30
IntrinsicsAArch64.td [AArch64][SVE] Improve codegen for dupq SVE ACLE intrinsics 2021-06-07 12:21:38 +01:00
IntrinsicsAMDGPU.td [AMDGPU] Expose __builtin_amdgcn_perm for v_perm_b32 2021-05-06 16:17:33 -07:00
IntrinsicsARM.td [ARM] Memory operands for MVE gathers/scatters 2021-05-03 11:24:59 +01:00
IntrinsicsBPF.td
IntrinsicsHexagon.td [Hexagon] Add HVX intrinsics for conditional vector loads/stores 2021-04-22 11:49:29 -05:00
IntrinsicsHexagonDep.td [Hexagon] Add LLVM instruction definitions for Hexagon V68 2021-02-03 13:59:34 -06:00
IntrinsicsMips.td
IntrinsicsNVVM.td [NVPTX, CUDA] Add .and.popc variant of the b1 MMA instruction. 2021-07-15 12:02:09 -07:00
IntrinsicsPowerPC.td [PowerPC] Add PowerPC "__stbcx" builtin and intrinsic for XL compatibility 2021-07-22 10:48:46 -05:00
IntrinsicsRISCV.td [RISCV] [1/2] Add IR intrinsic for Zbe extension 2021-04-25 19:14:34 -07:00
IntrinsicsSystemZ.td [SystemZ] Add support for new cpu architecture - arch14 2021-07-26 16:57:28 +02:00
IntrinsicsVE.td
IntrinsicsVEVL.gen.td
IntrinsicsWebAssembly.td [WebAssembly] Codegen for extmul SIMD instructions 2021-07-27 08:41:30 -07:00
IntrinsicsX86.td [X86] Support __tile_stream_loadd intrinsic for new AMX interface 2021-06-11 17:28:43 +08:00
IntrinsicsXCore.td
IRBuilder.h [IRBuilder] Deprecate CreateGEP() without element type 2021-07-17 22:57:51 +02:00
IRBuilderFolder.h
IRPrintingPasses.h
LegacyPassManager.h [opt] Error if -debug-pass is specified alongside the new PM 2021-03-02 15:59:28 -08:00
LegacyPassManagers.h [IR] Use range-based for loops (NFC) 2021-02-28 10:59:23 -08:00
LegacyPassNameParser.h
LLVMContext.h [clang] Use i64 for the !srcloc metadata on asm IR nodes. 2021-07-22 10:24:52 +01:00
LLVMRemarkStreamer.h
Mangler.h
MatrixBuilder.h [Matrix] Add support for matrix-by-scalar division. 2021-03-11 22:21:23 +00:00
MDBuilder.h
Metadata.def Revert "[DebugInfo] Enforce implicit constraints on distinct MDNodes" 2021-07-02 15:57:07 -07:00
Metadata.h [Metadata] Decorate methods with 'const'. NFC. 2021-07-08 14:11:14 -04:00
Module.h Fine grain control over some symbol visibility 2021-09-08 21:06:19 -07:00
ModuleSlotTracker.h [MIRPrinter] Add machine metadata support. 2021-06-19 12:48:08 -04:00
ModuleSummaryIndex.h [IR] Remove forward declaration of GraphTraits from Type.h 2021-06-15 09:23:45 +01:00
ModuleSummaryIndexYAML.h [ThinLTO] Add Visibility bits to GlobalValueSummary::GVFlags 2021-01-27 10:43:51 -08:00
NoFolder.h
OperandTraits.h
Operator.h [IR] Add GEPOperator::indices() (NFC) 2021-07-09 21:41:20 +02:00
OptBisect.h Revert "Delay initialization of OptBisect" 2021-06-18 13:16:45 -05:00
PassInstrumentation.h [ADT] Move DenseMapInfo for ArrayRef/StringRef into respective headers (NFC) 2021-06-03 18:34:36 +02:00
PassManager.h [NewPM] Fix wrong perfect forwardings 2021-07-19 17:21:32 +01:00
PassManagerImpl.h [NewPM] Move analysis invalidation/clearing logging to instrumentation 2021-05-07 15:25:31 -07:00
PassManagerInternal.h [docs] Fix doxygen comments wrongly attached to the llvm namespace 2021-04-07 01:20:18 +02:00
PassTimingInfo.h
PatternMatch.h [SVE] Add support for folding for select + masked loads 2021-07-26 11:58:41 +01:00
PredIteratorCache.h
PrintPasses.h
ProfileSummary.h
PseudoProbe.h [CSSPGO] Undoing the concept of dangling pseudo probe 2021-06-18 15:14:11 -07:00
ReplaceConstant.h [IR] Add utility to convert constant expression operands (of an instruction) to instructions. 2021-06-08 03:22:32 +05:30
RuntimeLibcalls.def
SafepointIRVerifier.h [llvm] Fix header guards (NFC) 2021-02-05 21:02:06 -08:00
Statepoint.h Move GCRelocateInst and GCResultInst to IntrinsicInst.h [nfc] 2021-04-06 08:33:15 -07:00
StructuralHash.h
SymbolTableListTraits.h
TrackingMDRef.h
Type.h [IR] Add Type::isOpaquePointerTy() helper (NFC) 2021-06-25 20:56:59 +02:00
TypeFinder.h
Use.h
UseListOrder.h
User.h
Value.def
Value.h [IR] Allow Value::replaceUsesWithIf() to process constants 2021-05-25 02:12:01 -07:00
ValueHandle.h
ValueMap.h Replace uses of std::iterator with explicit using 2021-04-12 10:47:14 -07:00
ValueSymbolTable.h Fix non-global-value-max-name-size not considered by LLParser 2021-05-27 04:20:03 +00:00
Verifier.h
VPIntrinsics.def [VP] Implementation of intrinsic and SDNode definitions for VP load, store, gather, scatter. 2021-07-01 13:34:44 +02:00