LLVM 23.0.0git
llvm::offloading::Symbol Struct Reference

A minimum symbol interface that provides the necessary information to extract archive members and resolve LTO symbols. More...

#include "llvm/Frontend/Offloading/ArchiveLinker.h"

Public Types

enum  Flags { None = 0 , Undefined = 1 << 0 , Weak = 1 << 1 }

Public Member Functions

 Symbol ()
 Symbol (Symbol::Flags F)
 Symbol (MemoryBufferRef File, const irsymtab::Reader::SymbolRef Sym)
bool isWeak () const
bool isUndefined () const

Static Public Member Functions

static Expected< SymbolcreateFromObject (MemoryBufferRef File, const object::SymbolRef &Sym)
 Create a Symbol from an object file symbol reference.

Public Attributes

MemoryBufferRef File
uint32_t SymFlags
bool UsedInRegularObj

Detailed Description

A minimum symbol interface that provides the necessary information to extract archive members and resolve LTO symbols.

Definition at line 42 of file ArchiveLinker.h.

Member Enumeration Documentation

◆ Flags

Enumerator
None 
Undefined 
Weak 

Definition at line 43 of file ArchiveLinker.h.

Constructor & Destructor Documentation

◆ Symbol() [1/3]

llvm::offloading::Symbol::Symbol ( )
inline

Definition at line 49 of file ArchiveLinker.h.

References File, None, SymFlags, and UsedInRegularObj.

Referenced by createFromObject().

◆ Symbol() [2/3]

llvm::offloading::Symbol::Symbol ( Symbol::Flags F)
inline

Definition at line 50 of file ArchiveLinker.h.

References F, File, SymFlags, and UsedInRegularObj.

◆ Symbol() [3/3]

llvm::offloading::Symbol::Symbol ( MemoryBufferRef File,
const irsymtab::Reader::SymbolRef Sym )
inline

Member Function Documentation

◆ createFromObject()

Expected< Symbol > llvm::offloading::Symbol::createFromObject ( MemoryBufferRef File,
const object::SymbolRef & Sym )
static

Create a Symbol from an object file symbol reference.

Returns an error if symbol flags cannot be retrieved.

Definition at line 33 of file ArchiveLinker.cpp.

References File, llvm::object::BasicSymbolRef::getFlags(), llvm::object::BasicSymbolRef::SF_Undefined, llvm::object::BasicSymbolRef::SF_Weak, Symbol(), Undefined, and Weak.

Referenced by llvm::offloading::getSymbolsFromObject().

◆ isUndefined()

bool llvm::offloading::Symbol::isUndefined ( ) const
inline

◆ isWeak()

bool llvm::offloading::Symbol::isWeak ( ) const
inline

Member Data Documentation

◆ File

MemoryBufferRef llvm::offloading::Symbol::File

Definition at line 68 of file ArchiveLinker.h.

Referenced by createFromObject(), Symbol(), Symbol(), and Symbol().

◆ SymFlags

◆ UsedInRegularObj

bool llvm::offloading::Symbol::UsedInRegularObj

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