llvm-project/llvm/lib/IR
Evgeniy Stepanov 51c962f72e Add !associated metadata.
This is an ELF-specific thing that adds SHF_LINK_ORDER to the global's section
pointing to the metadata argument's section. The effect of that is a reverse dependency
between sections for the linker GC.

!associated does not change the behavior of global-dce. The global
may also need to be added to llvm.compiler.used.

Since SHF_LINK_ORDER is per-section, !associated effectively enables
fdata-sections for the affected globals, the same as comdats do.

Differential Revision: https://reviews.llvm.org/D29104

llvm-svn: 298157
2017-03-17 22:17:24 +00:00
..
AsmWriter.cpp [DebugInfo] Emit address space with DW_AT_address_class attribute for pointer and reference types 2017-03-08 23:55:44 +00:00
AttributeImpl.h [ADT, IR] Fix some Clang-tidy modernize-use-equals-delete and Include What You Use warnings; other minor fixes (NFC). 2016-12-07 22:06:02 +00:00
AttributeSetNode.h [ADT, IR] Fix some Clang-tidy modernize-use-equals-delete and Include What You Use warnings; other minor fixes (NFC). 2016-12-07 22:06:02 +00:00
Attributes.cpp Use const-ref in range-loop for to avoid copying pairs of std::string 2017-02-22 06:34:04 +00:00
AttributesCompatFunc.td
AutoUpgrade.cpp Keep attributes, calling convention, etc, when remangling intrinsic 2017-03-01 01:49:13 +00:00
BasicBlock.cpp [IR] Use const_cast to reuse the const version of two BasicBlock methods that are duplicated for both const and non-const. NFC 2017-01-22 06:53:04 +00:00
CMakeLists.txt [CMake] NFC. Updating CMake dependency specifications 2016-11-17 04:36:50 +00:00
Comdat.cpp [IR] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-02-17 00:00:09 +00:00
ConstantFold.cpp [ConstantFold] vector div/rem with any zero element in divisor is undef 2017-03-09 20:42:30 +00:00
ConstantFold.h IR: Introduce inrange attribute on getelementptr indices. 2016-11-10 22:34:55 +00:00
ConstantRange.cpp Cleanup dump() functions. 2017-01-28 02:02:38 +00:00
Constants.cpp Replace APFloatBase static fltSemantics data members with getter functions 2016-12-14 11:57:17 +00:00
ConstantsContext.h [ADT, IR] Fix some Clang-tidy modernize-use-equals-delete and Include What You Use warnings; other minor fixes (NFC). 2016-12-07 22:06:02 +00:00
Core.cpp Store Arguments in a flat array instead of an iplist 2017-03-17 17:16:39 +00:00
DIBuilder.cpp Revert "Debug Info: Add basic support for external types references." 2017-03-13 22:56:14 +00:00
DataLayout.cpp IR: Change the gep_type_iterator API to avoid always exposing the "current" type. 2016-12-02 02:24:42 +00:00
DebugInfo.cpp Change debug-info-for-profiling from a TargetOption to a function attribute. 2017-02-01 22:45:09 +00:00
DebugInfoMetadata.cpp [DebugInfo] Emit address space with DW_AT_address_class attribute for pointer and reference types 2017-03-08 23:55:44 +00:00
DebugLoc.cpp Cleanup dump() functions. 2017-01-28 02:02:38 +00:00
DiagnosticInfo.cpp [Stack Protection] Add diagnostic information for why stack protection was applied to a function 2017-02-28 16:02:37 +00:00
DiagnosticPrinter.cpp
Dominators.cpp Revert "Do not verify dominator tree if it has no roots" 2017-01-25 17:15:48 +00:00
Function.cpp Store Arguments in a flat array instead of an iplist 2017-03-17 17:16:39 +00:00
GCOV.cpp Cleanup dump() functions. 2017-01-28 02:02:38 +00:00
GVMaterializer.cpp
Globals.cpp [IR] Inline some Function accessors 2017-03-16 16:57:31 +00:00
IRBuilder.cpp AMDGPU: Basic folds for fmed3 intrinsic 2017-02-27 23:08:49 +00:00
IRPrintingPasses.cpp Implement getPassName() for IR printing passes. 2017-03-10 07:09:20 +00:00
InlineAsm.cpp [IR] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-02-17 00:00:09 +00:00
Instruction.cpp [IR] Add a Instruction::dropPoisonGeneratingFlags helper 2017-02-23 22:50:52 +00:00
Instructions.cpp fix comment formatting; NFC 2016-11-16 18:09:44 +00:00
IntrinsicInst.cpp Add intrinsics for constrained floating point operations 2017-01-26 23:27:59 +00:00
LLVMBuild.txt
LLVMContext.cpp Add !associated metadata. 2017-03-17 22:17:24 +00:00
LLVMContextImpl.cpp Use unique_ptr in LLVMContextImpl's constant maps. 2016-10-10 16:26:13 +00:00
LLVMContextImpl.h [DebugInfo] Emit address space with DW_AT_address_class attribute for pointer and reference types 2017-03-08 23:55:44 +00:00
LegacyPassManager.cpp Reverted: Track validity of pass results 2017-01-15 10:23:18 +00:00
MDBuilder.cpp Add function importing info from samplepgo profile to the module summary. 2017-02-28 18:09:44 +00:00
Mangler.cpp Remove the default constructor and count variable from the Mangler since 2016-09-29 02:03:50 +00:00
Metadata.cpp [IR] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-02-17 00:00:09 +00:00
MetadataImpl.h
Module.cpp Bitcode: Change the materializer interface to return llvm::Error. 2016-11-09 17:49:19 +00:00
ModuleSummaryIndex.cpp ThinLTO: handles modules with empty summaries 2016-10-08 04:44:18 +00:00
Operator.cpp IR: Change the gep_type_iterator API to avoid always exposing the "current" type. 2016-12-02 02:24:42 +00:00
OptBisect.cpp Remove opt-bisect support for "cases" in favor of debug counters 2017-03-11 01:41:03 +00:00
Pass.cpp Cleanup dump() functions. 2017-01-28 02:02:38 +00:00
PassManager.cpp [PM] Introduce an analysis set used to preserve all analyses over 2017-01-15 06:32:49 +00:00
PassRegistry.cpp Use the range variant of find instead of unpacking begin/end 2016-08-11 22:21:41 +00:00
ProfileSummary.cpp Reapply r271728 after adding move cobstructor for ProfileSummaryInfo 2016-06-03 22:54:26 +00:00
Statepoint.cpp Introduce an GCRelocateInst class [NFC] 2016-04-12 18:05:10 +00:00
SymbolTableListTraitsImpl.h ADT: Remove external uses of ilist_iterator, NFC 2016-09-03 01:22:56 +00:00
Type.cpp IR: Move NumElements field from {Array,Vector}Type to SequentialType. 2016-12-02 03:20:58 +00:00
TypeFinder.cpp [IR] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-02-17 00:00:09 +00:00
Use.cpp
User.cpp Retire llvm::alignOf in favor of C++11 alignof. 2016-10-20 15:02:18 +00:00
Value.cpp [IR] Don't call assertModuleIsMaterialized in release builds 2017-01-13 06:26:18 +00:00
ValueSymbolTable.cpp [IR] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-02-17 00:00:09 +00:00
ValueTypes.cpp getVectorElementType().getSizeInBits() -> getScalarSizeInBits() ; NFCI 2016-09-14 16:37:15 +00:00
Verifier.cpp [DebugInfo] Emit address space with DW_AT_address_class attribute for pointer and reference types 2017-03-08 23:55:44 +00:00