LLVM API Documentation

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

Emitter Class Reference

Inheritance diagram for Emitter:

Inheritance graph
[legend]
Collaboration diagram for Emitter:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Emitter (X86TargetMachine &tm, MachineCodeEmitter &mce)
 Emitter (X86TargetMachine &tm, MachineCodeEmitter &mce, const X86InstrInfo &ii, const TargetData &td, bool is64)
bool runOnMachineFunction (MachineFunction &MF)
virtual const char * getPassName () const
void emitInstruction (const MachineInstr &MI, const TargetInstrDesc *Desc)
void getAnalysisUsage (AnalysisUsage &AU) const

Static Public Attributes

char ID = 0

Constructor & Destructor Documentation

Emitter::Emitter X86TargetMachine tm,
MachineCodeEmitter mce
[inline, explicit]
 

Definition at line 48 of file X86CodeEmitter.cpp.

Emitter::Emitter X86TargetMachine tm,
MachineCodeEmitter mce,
const X86InstrInfo ii,
const TargetData td,
bool  is64
[inline]
 

Definition at line 52 of file X86CodeEmitter.cpp.


Member Function Documentation

void Emitter::emitInstruction const MachineInstr MI,
const TargetInstrDesc Desc
 

Definition at line 406 of file X86CodeEmitter.cpp.

References DOUT, llvm::MachineCodeEmitter::emitByte(), llvm::MachineCodeEmitter::emitLabel(), llvm::X86InstrInfo::getBaseOpcodeFor(), llvm::TargetMachine::getCodeModel(), llvm::MachineCodeEmitter::getCurrentPCOffset(), llvm::MachineCodeEmitter::getCurrentPCValue(), llvm::MachineOperand::getGlobal(), llvm::MachineOperand::getImm(), llvm::MachineOperand::getIndex(), llvm::X86TargetMachine::getJITInfo(), llvm::MachineOperand::getMBB(), llvm::TargetInstrDesc::getNumOperands(), llvm::MachineOperand::getOffset(), llvm::TargetInstrDesc::getOperandConstraint(), llvm::TargetMachine::getSubtarget(), llvm::MachineOperand::getSymbolName(), llvm::MachineOperand::isConstantPoolIndex(), llvm::MachineOperand::isExternalSymbol(), llvm::MachineOperand::isGlobalAddress(), llvm::MachineOperand::isImmediate(), llvm::MachineOperand::isJumpTableIndex(), llvm::MachineOperand::isMachineBasicBlock(), llvm::TargetInstrDesc::isVariadic(), llvm::TargetInstrDesc::Opcode, llvm::X86JITInfo::setPICBase(), and llvm::TargetInstrDesc::TSFlags.

Referenced by runOnMachineFunction().

void Emitter::getAnalysisUsage AnalysisUsage AU  )  const [inline, virtual]
 

getAnalysisUsage - This function should be overriden by passes that need analysis information to do their job. If a pass specifies that it uses a particular analysis result to this function, it can then use the getAnalysis<AnalysisType>() function, below.

Reimplemented from llvm::Pass.

Definition at line 67 of file X86CodeEmitter.cpp.

References llvm::AnalysisUsage::addRequired().

virtual const char* Emitter::getPassName  )  const [inline, virtual]
 

getPassName - Return a nice clean name for a pass. This usually implemented in terms of the name that is registered by one of the Registration templates, but can be overloaded directly.

Reimplemented from llvm::Pass.

Definition at line 60 of file X86CodeEmitter.cpp.

bool Emitter::runOnMachineFunction MachineFunction MF  )  [virtual]
 

runOnMachineFunction - This method must be overloaded to perform the desired machine code transformation or analysis.

Implements llvm::MachineFunctionPass.

Definition at line 108 of file X86CodeEmitter.cpp.

References llvm::MachineFunction::begin(), DOUT, emitInstruction(), llvm::MachineFunction::end(), llvm::MachineCodeEmitter::finishFunction(), llvm::TargetInstrInfo::get(), llvm::MachineFunction::getFunction(), llvm::X86TargetMachine::getInstrInfo(), llvm::Value::getName(), llvm::TargetInstrDesc::getOpcode(), llvm::TargetMachine::getRelocationModel(), llvm::TargetMachine::getSubtarget(), llvm::X86TargetMachine::getTargetData(), llvm::MachineCodeEmitter::setModuleInfo(), llvm::MachineCodeEmitter::startFunction(), and llvm::MachineCodeEmitter::StartMachineBasicBlock().


Member Data Documentation

char Emitter::ID = 0 [static]
 

Definition at line 98 of file X86CodeEmitter.cpp.


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


This web site is hosted by the Computer Science Department at the University of Illinois at Urbana-Champaign.