LLVM  4.0.0
Public Member Functions | Public Attributes | List of all members
llvm::GlobalValueSummary::GVFlags Struct Reference

Group flags (Linkage, NotEligibleToImport, etc.) as a bitfield. More...

#include <ModuleSummaryIndex.h>

Collaboration diagram for llvm::GlobalValueSummary::GVFlags:
[legend]

Public Member Functions

 GVFlags (GlobalValue::LinkageTypes Linkage, bool NotEligibleToImport, bool LiveRoot)
 Convenience Constructors. More...
 

Public Attributes

unsigned Linkage: 4
 The linkage type of the associated global value. More...
 
unsigned NotEligibleToImport: 1
 Indicate if the global value cannot be imported (e.g. More...
 
unsigned LiveRoot: 1
 Indicate that the global value must be considered a live root for index-based liveness analysis. More...
 

Detailed Description

Group flags (Linkage, NotEligibleToImport, etc.) as a bitfield.

Definition at line 110 of file ModuleSummaryIndex.h.

Constructor & Destructor Documentation

llvm::GlobalValueSummary::GVFlags::GVFlags ( GlobalValue::LinkageTypes  Linkage,
bool  NotEligibleToImport,
bool  LiveRoot 
)
inlineexplicit

Convenience Constructors.

Definition at line 130 of file ModuleSummaryIndex.h.

Member Data Documentation

unsigned llvm::GlobalValueSummary::GVFlags::Linkage

The linkage type of the associated global value.

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.

Definition at line 118 of file ModuleSummaryIndex.h.

Referenced by getEncodedGVSummaryFlags(), llvm::GlobalValueSummary::linkage(), and llvm::GlobalValueSummary::setLinkage().

unsigned llvm::GlobalValueSummary::GVFlags::LiveRoot

Indicate that the global value must be considered a live root for index-based liveness analysis.

Used for special LLVM values such as llvm.global_ctors that the linker does not know about.

Definition at line 127 of file ModuleSummaryIndex.h.

Referenced by getEncodedGVSummaryFlags(), llvm::GlobalValueSummary::liveRoot(), and llvm::GlobalValueSummary::setLiveRoot().

unsigned llvm::GlobalValueSummary::GVFlags::NotEligibleToImport

Indicate if the global value cannot be imported (e.g.

it cannot be renamed or references something that can't be renamed).

Definition at line 122 of file ModuleSummaryIndex.h.

Referenced by getEncodedGVSummaryFlags(), llvm::GlobalValueSummary::notEligibleToImport(), and llvm::GlobalValueSummary::setNotEligibleToImport().


The documentation for this struct was generated from the following file: