CACAO
Public Member Functions | Protected Types | Protected Member Functions | Private Attributes
cacao::jit::compiler2::LoweringVisitorBase Class Referenceabstract
Inheritance diagram for cacao::jit::compiler2::LoweringVisitorBase:
cacao::jit::compiler2::InstructionVisitor cacao::jit::compiler2::x86_64::X86_64LoweringVisitor

Public Member Functions

 LoweringVisitorBase (Backend *backend, MachineBasicBlock *current, MapTy &map, InstructionMapTy &inst_map, MachineInstructionSchedule *schedule)
 
virtual void visit_default (Instruction *I)
 
MachineBasicBlockget_current () const
 
void set_current (MachineBasicBlock *MBB)
 
MachineBasicBlocknew_block () const
 
virtual void visit (BeginInst *I, bool copyOperands)
 
virtual void visit (GOTOInst *I, bool copyOperands)
 
virtual void visit (PHIInst *I, bool copyOperands)
 
virtual void visit (CONSTInst *I, bool copyOperands)
 
virtual void lowerComplex (Instruction *I, int ruleId)=0
 
- Public Member Functions inherited from cacao::jit::compiler2::InstructionVisitor
virtual void visit (LoadInst *I, bool copyOperands)
 
virtual void visit (UnaryInst *I, bool copyOperands)
 
virtual void visit (BinaryInst *I, bool copyOperands)
 
virtual void visit (NOPInst *I, bool copyOperands)
 
virtual void visit (POPInst *I, bool copyOperands)
 
virtual void visit (CHECKNULLInst *I, bool copyOperands)
 
virtual void visit (ARRAYLENGTHInst *I, bool copyOperands)
 
virtual void visit (ARRAYBOUNDSCHECKInst *I, bool copyOperands)
 
virtual void visit (NEGInst *I, bool copyOperands)
 
virtual void visit (CASTInst *I, bool copyOperands)
 
virtual void visit (ADDInst *I, bool copyOperands)
 
virtual void visit (SUBInst *I, bool copyOperands)
 
virtual void visit (MULInst *I, bool copyOperands)
 
virtual void visit (DIVInst *I, bool copyOperands)
 
virtual void visit (REMInst *I, bool copyOperands)
 
virtual void visit (SHLInst *I, bool copyOperands)
 
virtual void visit (USHRInst *I, bool copyOperands)
 
virtual void visit (ANDInst *I, bool copyOperands)
 
virtual void visit (ORInst *I, bool copyOperands)
 
virtual void visit (XORInst *I, bool copyOperands)
 
virtual void visit (CMPInst *I, bool copyOperands)
 
virtual void visit (GETFIELDInst *I, bool copyOperands)
 
virtual void visit (PUTFIELDInst *I, bool copyOperands)
 
virtual void visit (PUTSTATICInst *I, bool copyOperands)
 
virtual void visit (GETSTATICInst *I, bool copyOperands)
 
virtual void visit (INCInst *I, bool copyOperands)
 
virtual void visit (AREFInst *I, bool copyOperands)
 
virtual void visit (ASTOREInst *I, bool copyOperands)
 
virtual void visit (ALOADInst *I, bool copyOperands)
 
virtual void visit (RETInst *I, bool copyOperands)
 
virtual void visit (LOADInst *I, bool copyOperands)
 
virtual void visit (STOREInst *I, bool copyOperands)
 
virtual void visit (NEWInst *I, bool copyOperands)
 
virtual void visit (NEWARRAYInst *I, bool copyOperands)
 
virtual void visit (ANEWARRAYInst *I, bool copyOperands)
 
virtual void visit (MULTIANEWARRAYInst *I, bool copyOperands)
 
virtual void visit (CHECKCASTInst *I, bool copyOperands)
 
virtual void visit (INSTANCEOFInst *I, bool copyOperands)
 
virtual void visit (JSRInst *I, bool copyOperands)
 
virtual void visit (BUILTINInst *I, bool copyOperands)
 
virtual void visit (INVOKEVIRTUALInst *I, bool copyOperands)
 
virtual void visit (INVOKESPECIALInst *I, bool copyOperands)
 
virtual void visit (INVOKESTATICInst *I, bool copyOperands)
 
virtual void visit (INVOKEINTERFACEInst *I, bool copyOperands)
 
virtual void visit (IFInst *I, bool copyOperands)
 
virtual void visit (IF_CMPInst *I, bool copyOperands)
 
virtual void visit (TABLESWITCHInst *I, bool copyOperands)
 
virtual void visit (LOOKUPSWITCHInst *I, bool copyOperands)
 
virtual void visit (RETURNInst *I, bool copyOperands)
 
virtual void visit (THROWInst *I, bool copyOperands)
 
virtual void visit (COPYInst *I, bool copyOperands)
 
virtual void visit (MOVEInst *I, bool copyOperands)
 
virtual void visit (GETEXCEPTIONInst *I, bool copyOperands)
 
virtual void visit (ContainerInst *I, bool copyOperands)
 
virtual void visit (EndInst *I, bool copyOperands)
 

Protected Types

typedef alloc::map< BeginInst
*, MachineBasicBlock * >::type 
MapTy
 
typedef alloc::map
< Instruction
*, MachineOperand * >::type 
InstructionMapTy
 

Protected Member Functions

Backendget_Backend () const
 
MachineBasicBlockget (BeginInst *BI) const
 
MachineOperandget_op (Instruction *I) const
 
void set_op (Instruction *I, MachineOperand *op) const
 

Private Attributes

Backendbackend
 
MachineBasicBlockcurrent
 
MapTymap
 
InstructionMapTyinst_map
 
MachineInstructionScheduleschedule
 

Detailed Description

Definition at line 80 of file Backend.hpp.

Member Typedef Documentation

Definition at line 83 of file Backend.hpp.

Definition at line 82 of file Backend.hpp.

Constructor & Destructor Documentation

cacao::jit::compiler2::LoweringVisitorBase::LoweringVisitorBase ( Backend backend,
MachineBasicBlock current,
MapTy map,
InstructionMapTy inst_map,
MachineInstructionSchedule schedule 
)
inline

Definition at line 112 of file Backend.hpp.

Member Function Documentation

MachineBasicBlock* cacao::jit::compiler2::LoweringVisitorBase::get ( BeginInst BI) const
inlineprotected

Definition at line 94 of file Backend.hpp.

Backend* cacao::jit::compiler2::LoweringVisitorBase::get_Backend ( ) const
inlineprotected

Definition at line 91 of file Backend.hpp.

MachineBasicBlock* cacao::jit::compiler2::LoweringVisitorBase::get_current ( ) const
inline

Definition at line 121 of file Backend.hpp.

MachineOperand* cacao::jit::compiler2::LoweringVisitorBase::get_op ( Instruction I) const
inlineprotected

Definition at line 100 of file Backend.hpp.

virtual void cacao::jit::compiler2::LoweringVisitorBase::lowerComplex ( Instruction I,
int  ruleId 
)
pure virtual
MachineBasicBlock * cacao::jit::compiler2::LoweringVisitorBase::new_block ( ) const

Definition at line 70 of file Backend.cpp.

void cacao::jit::compiler2::LoweringVisitorBase::set_current ( MachineBasicBlock MBB)
inline

Definition at line 122 of file Backend.hpp.

void cacao::jit::compiler2::LoweringVisitorBase::set_op ( Instruction I,
MachineOperand op 
) const
inlineprotected

Definition at line 106 of file Backend.hpp.

void cacao::jit::compiler2::LoweringVisitorBase::visit ( BeginInst I,
bool  copyOperands 
)
virtual

Reimplemented from cacao::jit::compiler2::InstructionVisitor.

Definition at line 39 of file Backend.cpp.

void cacao::jit::compiler2::LoweringVisitorBase::visit ( GOTOInst I,
bool  copyOperands 
)
virtual

Reimplemented from cacao::jit::compiler2::InstructionVisitor.

Definition at line 46 of file Backend.cpp.

void cacao::jit::compiler2::LoweringVisitorBase::visit ( PHIInst I,
bool  copyOperands 
)
virtual

Reimplemented from cacao::jit::compiler2::InstructionVisitor.

Definition at line 53 of file Backend.cpp.

void cacao::jit::compiler2::LoweringVisitorBase::visit ( CONSTInst I,
bool  copyOperands 
)
virtual

Reimplemented from cacao::jit::compiler2::InstructionVisitor.

Definition at line 61 of file Backend.cpp.

virtual void cacao::jit::compiler2::LoweringVisitorBase::visit_default ( Instruction I)
inlinevirtual

Implements cacao::jit::compiler2::InstructionVisitor.

Definition at line 117 of file Backend.hpp.

Field Documentation

Backend* cacao::jit::compiler2::LoweringVisitorBase::backend
private

Definition at line 85 of file Backend.hpp.

MachineBasicBlock* cacao::jit::compiler2::LoweringVisitorBase::current
private

Definition at line 86 of file Backend.hpp.

InstructionMapTy& cacao::jit::compiler2::LoweringVisitorBase::inst_map
private

Definition at line 88 of file Backend.hpp.

MapTy& cacao::jit::compiler2::LoweringVisitorBase::map
private

Definition at line 87 of file Backend.hpp.

MachineInstructionSchedule* cacao::jit::compiler2::LoweringVisitorBase::schedule
private

Definition at line 89 of file Backend.hpp.


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