LLVM API Documentation

llvm::ELFCodeEmitter Class Reference

Inheritance diagram for llvm::ELFCodeEmitter:
[legend]
Collaboration diagram for llvm::ELFCodeEmitter:
[legend]

List of all members.

Public Member Functions

 ELFCodeEmitter (ELFWriter &ew)
void startFunction (MachineFunction &F)
bool finishFunction (MachineFunction &F)
void addRelocation (const MachineRelocation &MR)
virtual void StartMachineBasicBlock (MachineBasicBlock *MBB)
virtual uintptr_t getConstantPoolEntryAddress (unsigned Index) const
 FIXME: These should all be handled with relocations!
virtual uintptr_t getJumpTableEntryAddress (unsigned Index) const
virtual uintptr_t getMachineBasicBlockAddress (MachineBasicBlock *MBB) const
virtual uintptr_t getLabelAddress (uint64_t Label) const
virtual void emitLabel (uint64_t LabelID)
 emitLabel - Emits a label
virtual void setModuleInfo (llvm::MachineModuleInfo *MMI)
void startGVStub (const GlobalValue *F, unsigned StubSize, unsigned Alignment=1)
 JIT SPECIFIC FUNCTIONS - DO NOT IMPLEMENT THESE HERE!
void * finishGVStub (const GlobalValue *F)


Detailed Description

ELFCodeEmitter - This class is used by the ELFWriter to emit the code for functions to the ELF file.

Definition at line 70 of file ELFWriter.cpp.


Constructor & Destructor Documentation

llvm::ELFCodeEmitter::ELFCodeEmitter ( ELFWriter &  ew  )  [inline, explicit]

Definition at line 77 of file ELFWriter.cpp.


Member Function Documentation

void ELFCodeEmitter::startFunction ( MachineFunction &  F  )  [virtual]

bool ELFCodeEmitter::finishFunction ( MachineFunction &  F  )  [virtual]

void llvm::ELFCodeEmitter::addRelocation ( const MachineRelocation &  MR  )  [inline, virtual]

addRelocation - Whenever a relocatable address is needed, it should be noted with this interface.

Implements llvm::MachineCodeEmitter.

Definition at line 82 of file ELFWriter.cpp.

virtual void llvm::ELFCodeEmitter::StartMachineBasicBlock ( MachineBasicBlock *  MBB  )  [inline, virtual]

StartMachineBasicBlock - This should be called by the target when a new basic block is about to be emitted. This way the MCE knows where the start of the block is, and can implement getMachineBasicBlockAddress.

Implements llvm::MachineCodeEmitter.

Definition at line 86 of file ELFWriter.cpp.

virtual uintptr_t llvm::ELFCodeEmitter::getConstantPoolEntryAddress ( unsigned  Index  )  const [inline, virtual]

FIXME: These should all be handled with relocations!

getConstantPoolEntryAddress - Return the address of the 'Index' entry in the constant pool that was last emitted with the emitConstantPool method.

Implements llvm::MachineCodeEmitter.

Definition at line 89 of file ELFWriter.cpp.

virtual uintptr_t llvm::ELFCodeEmitter::getJumpTableEntryAddress ( unsigned  Index  )  const [inline, virtual]

getJumpTableEntryAddress - Return the address of the jump table with index 'Index' in the function that last called initJumpTableInfo.

Implements llvm::MachineCodeEmitter.

Definition at line 93 of file ELFWriter.cpp.

virtual uintptr_t llvm::ELFCodeEmitter::getMachineBasicBlockAddress ( MachineBasicBlock *  MBB  )  const [inline, virtual]

getMachineBasicBlockAddress - Return the address of the specified MachineBasicBlock, only usable after the label for the MBB has been emitted.

Implements llvm::MachineCodeEmitter.

Definition at line 98 of file ELFWriter.cpp.

virtual uintptr_t llvm::ELFCodeEmitter::getLabelAddress ( uint64_t  LabelID  )  const [inline, virtual]

getLabelAddress - Return the address of the specified LabelID, only usable after the LabelID has been emitted.

Implements llvm::MachineCodeEmitter.

Definition at line 103 of file ELFWriter.cpp.

virtual void llvm::ELFCodeEmitter::emitLabel ( uint64_t  LabelID  )  [inline, virtual]

emitLabel - Emits a label

Implements llvm::MachineCodeEmitter.

Definition at line 109 of file ELFWriter.cpp.

virtual void llvm::ELFCodeEmitter::setModuleInfo ( llvm::MachineModuleInfo *  Info  )  [inline, virtual]

Specifies the MachineModuleInfo object. This is used for exception handling purposes.

Implements llvm::MachineCodeEmitter.

Definition at line 115 of file ELFWriter.cpp.

void llvm::ELFCodeEmitter::startGVStub ( const GlobalValue *  F,
unsigned  StubSize,
unsigned  Alignment = 1 
) [inline, virtual]

JIT SPECIFIC FUNCTIONS - DO NOT IMPLEMENT THESE HERE!

Implements llvm::MachineCodeEmitter.

Definition at line 119 of file ELFWriter.cpp.

void* llvm::ELFCodeEmitter::finishGVStub ( const GlobalValue *  F  )  [inline, virtual]

finishGVStub - This callback is invoked to terminate a GV stub.

Implements llvm::MachineCodeEmitter.

Definition at line 124 of file ELFWriter.cpp.


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