LLVM  8.0.1
Public Types | Public Member Functions | Static Public Member Functions | List of all members
llvm::object::IRObjectFile Class Reference

#include "llvm/Object/IRObjectFile.h"

Inheritance diagram for llvm::object::IRObjectFile:
Inheritance graph
[legend]
Collaboration diagram for llvm::object::IRObjectFile:
Collaboration graph
[legend]

Public Types

using module_iterator = pointee_iterator< std::vector< std::unique_ptr< Module > >::const_iterator, const Module >
 
- Public Types inherited from llvm::object::SymbolicFile
using basic_symbol_iterator_range = iterator_range< basic_symbol_iterator >
 

Public Member Functions

 ~IRObjectFile () override
 
void moveSymbolNext (DataRefImpl &Symb) const override
 
std::error_code printSymbolName (raw_ostream &OS, DataRefImpl Symb) const override
 
uint32_t getSymbolFlags (DataRefImpl Symb) const override
 
basic_symbol_iterator symbol_begin () const override
 
basic_symbol_iterator symbol_end () const override
 
StringRef getTargetTriple () const
 
module_iterator module_begin () const
 
module_iterator module_end () const
 
iterator_range< module_iteratormodules () const
 
- Public Member Functions inherited from llvm::object::SymbolicFile
 SymbolicFile (unsigned int Type, MemoryBufferRef Source)
 
 ~SymbolicFile () override
 
basic_symbol_iterator_range symbols () const
 
- Public Member Functions inherited from llvm::object::Binary
 Binary ()=delete
 
 Binary (const Binary &other)=delete
 
virtual ~Binary ()
 
StringRef getData () const
 
StringRef getFileName () const
 
MemoryBufferRef getMemoryBufferRef () const
 
unsigned int getType () const
 
bool isObject () const
 
bool isSymbolic () const
 
bool isArchive () const
 
bool isMachOUniversalBinary () const
 
bool isELF () const
 
bool isMachO () const
 
bool isCOFF () const
 
bool isWasm () const
 
bool isCOFFImportFile () const
 
bool isIR () const
 
bool isLittleEndian () const
 
bool isWinRes () const
 
Triple::ObjectFormatType getTripleObjectFormat () const
 

Static Public Member Functions

static bool classof (const Binary *v)
 
static Expected< MemoryBufferReffindBitcodeInObject (const ObjectFile &Obj)
 Finds and returns bitcode embedded in the given object file, or an error code if not found. More...
 
static Expected< MemoryBufferReffindBitcodeInMemBuffer (MemoryBufferRef Object)
 Finds and returns bitcode in the given memory buffer (which may be either a bitcode file or a native object file with embedded bitcode), or an error code if not found. More...
 
static Expected< std::unique_ptr< IRObjectFile > > create (MemoryBufferRef Object, LLVMContext &Context)
 
- Static Public Member Functions inherited from llvm::object::SymbolicFile
static Expected< std::unique_ptr< SymbolicFile > > createSymbolicFile (MemoryBufferRef Object, llvm::file_magic Type, LLVMContext *Context)
 
static Expected< std::unique_ptr< SymbolicFile > > createSymbolicFile (MemoryBufferRef Object)
 
static Expected< OwningBinary< SymbolicFile > > createSymbolicFile (StringRef ObjectPath)
 
static bool classof (const Binary *v)
 
- Static Public Member Functions inherited from llvm::object::Binary
static std::error_code checkOffset (MemoryBufferRef M, uintptr_t Addr, const uint64_t Size)
 

Additional Inherited Members

- Protected Types inherited from llvm::object::Binary
enum  {
  ID_Archive, ID_MachOUniversalBinary, ID_COFFImportFile, ID_IR,
  ID_WinRes, ID_StartObjects, ID_COFF, ID_ELF32L,
  ID_ELF32B, ID_ELF64L, ID_ELF64B, ID_MachO32L,
  ID_MachO32B, ID_MachO64L, ID_MachO64B, ID_Wasm,
  ID_EndObjects
}
 
- Protected Member Functions inherited from llvm::object::Binary
 Binary (unsigned int Type, MemoryBufferRef Source)
 
- Static Protected Member Functions inherited from llvm::object::Binary
static unsigned int getELFType (bool isLE, bool is64Bits)
 
static unsigned int getMachOType (bool isLE, bool is64Bits)
 
- Protected Attributes inherited from llvm::object::Binary
MemoryBufferRef Data
 

Detailed Description

Definition at line 32 of file IRObjectFile.h.

Member Typedef Documentation

◆ module_iterator

using llvm::object::IRObjectFile::module_iterator = pointee_iterator<std::vector<std::unique_ptr<Module> >::const_iterator, const Module>

Definition at line 55 of file IRObjectFile.h.

Constructor & Destructor Documentation

◆ ~IRObjectFile()

IRObjectFile::~IRObjectFile ( )
override

Definition at line 36 of file IRObjectFile.cpp.

Member Function Documentation

◆ classof()

static bool llvm::object::IRObjectFile::classof ( const Binary v)
inlinestatic

Definition at line 49 of file IRObjectFile.h.

References llvm::object::Binary::isIR().

◆ create()

Expected< std::unique_ptr< IRObjectFile > > IRObjectFile::create ( MemoryBufferRef  Object,
LLVMContext Context 
)
static

◆ findBitcodeInMemBuffer()

Expected< MemoryBufferRef > IRObjectFile::findBitcodeInMemBuffer ( MemoryBufferRef  Object)
static

Finds and returns bitcode in the given memory buffer (which may be either a bitcode file or a native object file with embedded bitcode), or an error code if not found.

Definition at line 90 of file IRObjectFile.cpp.

References bitcode, llvm::errorCodeToError(), llvm::Expected< T >::get(), llvm::MemoryBufferRef::getBuffer(), llvm::identify_magic(), and llvm::Expected< T >::takeError().

Referenced by modules().

◆ findBitcodeInObject()

Expected< MemoryBufferRef > IRObjectFile::findBitcodeInObject ( const ObjectFile Obj)
static

Finds and returns bitcode embedded in the given object file, or an error code if not found.

Definition at line 76 of file IRObjectFile.cpp.

References llvm::errorCodeToError(), llvm::object::Binary::getFileName(), and llvm::object::ObjectFile::sections().

Referenced by modules(), and llvm::object::SymbolicFile::SymbolicFile().

◆ getSymbolFlags()

uint32_t IRObjectFile::getSymbolFlags ( DataRefImpl  Symb) const
overridevirtual

Implements llvm::object::SymbolicFile.

Definition at line 52 of file IRObjectFile.cpp.

References getSym().

◆ getTargetTriple()

StringRef IRObjectFile::getTargetTriple ( ) const

Definition at line 69 of file IRObjectFile.cpp.

◆ module_begin()

module_iterator llvm::object::IRObjectFile::module_begin ( ) const
inline

Definition at line 57 of file IRObjectFile.h.

Referenced by modules().

◆ module_end()

module_iterator llvm::object::IRObjectFile::module_end ( ) const
inline

Definition at line 58 of file IRObjectFile.h.

Referenced by modules().

◆ modules()

iterator_range<module_iterator> llvm::object::IRObjectFile::modules ( ) const
inline

◆ moveSymbolNext()

void IRObjectFile::moveSymbolNext ( DataRefImpl Symb) const
overridevirtual

◆ printSymbolName()

std::error_code IRObjectFile::printSymbolName ( raw_ostream OS,
DataRefImpl  Symb 
) const
overridevirtual

Implements llvm::object::SymbolicFile.

Definition at line 46 of file IRObjectFile.cpp.

References getSym().

◆ symbol_begin()

basic_symbol_iterator IRObjectFile::symbol_begin ( ) const
overridevirtual

Implements llvm::object::SymbolicFile.

Definition at line 56 of file IRObjectFile.cpp.

References llvm::object::DataRefImpl::p, and llvm::MipsISD::Ret.

◆ symbol_end()

basic_symbol_iterator IRObjectFile::symbol_end ( ) const
overridevirtual

Implements llvm::object::SymbolicFile.

Definition at line 62 of file IRObjectFile.cpp.

References llvm::object::DataRefImpl::p, and llvm::MipsISD::Ret.


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