struct GlobalValueSummary::GVFlags
Declaration
struct GlobalValueSummary::GVFlags { /* full declaration omitted */ };
Description
Group flags (Linkage, NotEligibleToImport, etc.) as a bitfield.
Declared at: llvm/include/llvm/IR/ModuleSummaryIndex.h:286
Member Variables
- public unsigned int Linkage
- One use is to flag values that have local linkage types and need to have module identifier appended before placing into the combined index, to disambiguate from other values with the same name. In the future this will be used to update and optimize linkage types based on global summary-based analysis.
- public unsigned int NotEligibleToImport
- Indicate if the global value cannot be imported (e.g. it cannot be renamed or references something that can't be renamed).
- public unsigned int Live
- In combined summary, indicate that the global value is live.
- public unsigned int DSOLocal
- Indicates that the linker resolved the symbol to a definition from within the same linkage unit.
- public unsigned int CanAutoHide
- In the per-module summary, indicates that the global value is linkonce_odr and global unnamed addr (so eligible for auto-hiding via hidden visibility). In the combined summary, indicates that the prevailing linkonce_odr copy can be auto-hidden via hidden visibility when it is upgraded to weak_odr in the backend. This is legal when all copies are eligible for auto-hiding (i.e. all copies were linkonce_odr global unnamed addr. If any copy is not (e.g. it was originally weak_odr, we cannot auto-hide the prevailing copy as it means the symbol was externally visible.
Method Overview
- public GVFlags(GlobalValue::LinkageTypes Linkage, bool NotEligibleToImport, bool Live, bool IsLocal, bool CanAutoHide)
Methods
ΒΆGVFlags(GlobalValue::LinkageTypes Linkage,
bool NotEligibleToImport,
bool Live,
bool IsLocal,
bool CanAutoHide)
GVFlags(GlobalValue::LinkageTypes Linkage,
bool NotEligibleToImport,
bool Live,
bool IsLocal,
bool CanAutoHide)
Description
Convenience Constructors
Declared at: llvm/include/llvm/IR/ModuleSummaryIndex.h:323
Parameters
- GlobalValue::LinkageTypes Linkage
- bool NotEligibleToImport
- bool Live
- bool IsLocal
- bool CanAutoHide