LLVM  6.0.0svn
Public Types | Public Member Functions | Static Public Member Functions | List of all members
llvm::JITSymbolFlags Class Reference

Flags for symbols in the JIT. More...

#include "llvm/ExecutionEngine/JITSymbol.h"

Public Types

enum  FlagNames : UnderlyingType {
  None = 0, HasError = 1U << 0, Weak = 1U << 1, Common = 1U << 2,
  Absolute = 1U << 3, Exported = 1U << 4
}
 
using UnderlyingType = uint8_t
 
using TargetFlagsType = uint64_t
 

Public Member Functions

 JITSymbolFlags ()=default
 Default-construct a JITSymbolFlags instance. More...
 
 JITSymbolFlags (FlagNames Flags)
 Construct a JITSymbolFlags instance from the given flags. More...
 
 JITSymbolFlags (FlagNames Flags, TargetFlagsType TargetFlags)
 Construct a JITSymbolFlags instance from the given flags and target flags. More...
 
bool hasError () const
 Return true if there was an error retrieving this symbol. More...
 
bool isWeak () const
 Returns true if the Weak flag is set. More...
 
bool isCommon () const
 Returns true if the Common flag is set. More...
 
bool isStrongDefinition () const
 Returns true if the symbol isn't weak or common. More...
 
bool isExported () const
 Returns true if the Exported flag is set. More...
 
 operator UnderlyingType & ()
 Implicitly convert to the underlying flags type. More...
 
 operator const UnderlyingType & () const
 Implicitly convert to the underlying flags type. More...
 
TargetFlagsTypegetTargetFlags ()
 Return a reference to the target-specific flags. More...
 
const TargetFlagsTypegetTargetFlags () const
 Return a reference to the target-specific flags. More...
 

Static Public Member Functions

static JITSymbolFlags fromGlobalValue (const GlobalValue &GV)
 Construct a JITSymbolFlags value based on the flags of the given global value. More...
 
static JITSymbolFlags fromObjectSymbol (const object::BasicSymbolRef &Symbol)
 Construct a JITSymbolFlags value based on the flags of the given libobject symbol. More...
 

Detailed Description

Flags for symbols in the JIT.

Definition at line 40 of file JITSymbol.h.

Member Typedef Documentation

◆ TargetFlagsType

Definition at line 43 of file JITSymbol.h.

◆ UnderlyingType

Definition at line 42 of file JITSymbol.h.

Member Enumeration Documentation

◆ FlagNames

Enumerator
None 
HasError 
Weak 
Common 
Absolute 
Exported 

Definition at line 45 of file JITSymbol.h.

Constructor & Destructor Documentation

◆ JITSymbolFlags() [1/3]

llvm::JITSymbolFlags::JITSymbolFlags ( )
default

Default-construct a JITSymbolFlags instance.

◆ JITSymbolFlags() [2/3]

llvm::JITSymbolFlags::JITSymbolFlags ( FlagNames  Flags)
inline

Construct a JITSymbolFlags instance from the given flags.

Definition at line 58 of file JITSymbol.h.

◆ JITSymbolFlags() [3/3]

llvm::JITSymbolFlags::JITSymbolFlags ( FlagNames  Flags,
TargetFlagsType  TargetFlags 
)
inline

Construct a JITSymbolFlags instance from the given flags and target flags.

Definition at line 62 of file JITSymbol.h.

Member Function Documentation

◆ fromGlobalValue()

JITSymbolFlags llvm::JITSymbolFlags::fromGlobalValue ( const GlobalValue GV)
static

◆ fromObjectSymbol()

JITSymbolFlags llvm::JITSymbolFlags::fromObjectSymbol ( const object::BasicSymbolRef Symbol)
static

◆ getTargetFlags() [1/2]

TargetFlagsType& llvm::JITSymbolFlags::getTargetFlags ( )
inline

Return a reference to the target-specific flags.

Definition at line 97 of file JITSymbol.h.

Referenced by llvm::RuntimeDyldMachOARM::modifyAddressBasedOnFlags(), and llvm::orc::rpc::SerializationTraits< ChannelT, JITSymbolFlags >::serialize().

◆ getTargetFlags() [2/2]

const TargetFlagsType& llvm::JITSymbolFlags::getTargetFlags ( ) const
inline

Return a reference to the target-specific flags.

Definition at line 100 of file JITSymbol.h.

References llvm::None, and llvm::ARMBuildAttrs::Symbol.

◆ hasError()

bool llvm::JITSymbolFlags::hasError ( ) const
inline

Return true if there was an error retrieving this symbol.

Definition at line 66 of file JITSymbol.h.

◆ isCommon()

bool llvm::JITSymbolFlags::isCommon ( ) const
inline

Returns true if the Common flag is set.

Definition at line 76 of file JITSymbol.h.

◆ isExported()

bool llvm::JITSymbolFlags::isExported ( ) const
inline

Returns true if the Exported flag is set.

Definition at line 86 of file JITSymbol.h.

◆ isStrongDefinition()

bool llvm::JITSymbolFlags::isStrongDefinition ( ) const
inline

Returns true if the symbol isn't weak or common.

Definition at line 81 of file JITSymbol.h.

References isWeak().

◆ isWeak()

bool llvm::JITSymbolFlags::isWeak ( ) const
inline

Returns true if the Weak flag is set.

Definition at line 71 of file JITSymbol.h.

Referenced by llvm::RuntimeDyldImpl::loadObjectImpl().

◆ operator const UnderlyingType &()

llvm::JITSymbolFlags::operator const UnderlyingType & ( ) const
inline

Implicitly convert to the underlying flags type.

Definition at line 94 of file JITSymbol.h.

◆ operator UnderlyingType &()

llvm::JITSymbolFlags::operator UnderlyingType & ( )
inline

Implicitly convert to the underlying flags type.

Definition at line 91 of file JITSymbol.h.


The documentation for this class was generated from the following files: