Main Page Modules Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages
LIR Class Reference#include <LIR.h>
List of all members.
|
Static Public Member Functions |
LirInst * | NOP () |
LirInst * | ConvertType (typeNode *sourceType, Register source, declNode *pDeclSource, typeNode *destType, Register &dest, declNode *pDeclDest) |
LirInst * | Load (typeNode *typeToLoad, Register &dest_register, declNode *pDeclDest, Register base_reg, declNode *pDeclBase, constant offset, declNode *pDeclOffset) |
LirInst * | LoadImmediate (typeNode *typeToLoad, Register &dest_register, declNode *pDeclDest, constant con) |
LirInst * | LoadStatic (typeNode *typeToLoad, Register &dest, declNode *pDeclDest, string staticLabel, declNode *declStatic, constant offset, declNode *pDeclOffset) |
LirInst * | Store (typeNode *typeToStore, Register source_register, declNode *pDeclSrc, Register base_reg, declNode *pDeclBase, constant offset, declNode *pDeclOffset) |
LirInst * | StoreStatic (typeNode *typeToStore, Register source_register, declNode *pDeclSrc, string staticLabel, declNode *staticDecl, constant offset, declNode *pDeclOffset) |
LirInst * | GetEffectiveAddress (Register &dest_register, declNode *pDeclDest, Register base_reg, declNode *pDeclBase, constant offset, declNode *pDeclOffset) |
LirInst * | GetGlobalAddress (Register &dest_register, declNode *pDeclDest, string staticLabel, declNode *staticDecl, constant offset, declNode *pDeclOffset) |
LirInst * | Move (Register dest, declNode *pDeclDest, Register source, declNode *pDeclSrc) |
LirInst * | Add (typeNode *destType, Register &dest_reg, declNode *pDeclDest, Register opnd1, declNode *pDeclOp1, reg_or_const opnd2, declNode *pDeclOp2) |
LirInst * | Sub (typeNode *destType, Register &dest_reg, declNode *pDeclDest, Register opnd1, declNode *pDeclOp1, reg_or_const opnd2, declNode *pDeclOp2) |
LirInst * | Mul (typeNode *destType, Register &dest_reg, declNode *pDeclDest, Register opnd1, declNode *pDeclOp1, reg_or_const opnd2, declNode *pDeclOp2) |
LirInst * | Div (typeNode *destType, Register &dest_reg, declNode *pDeclDest, Register opnd1, declNode *pDeclOp1, reg_or_const opnd2, declNode *pDeclOp2) |
LirInst * | Mod (typeNode *destType, Register &dest_reg, declNode *pDeclDest, Register opnd1, declNode *pDeclOp1, reg_or_const opnd2, declNode *pDeclOp2) |
LirInst * | Neg (typeNode *destType, Register &dest_reg, declNode *pDeclDest, Register opnd1, declNode *pDeclOp1) |
LirInst * | BitwiseOR (typeNode *destType, Register &dest_reg, declNode *pDeclDest, Register opnd1, declNode *pDeclOp1, reg_or_const opnd2, declNode *pDeclOp2) |
LirInst * | BitwiseAND (typeNode *destType, Register &dest_reg, declNode *pDeclDest, Register opnd1, declNode *pDeclOp1, reg_or_const opnd2, declNode *pDeclOp2) |
LirInst * | BitwiseXOR (typeNode *destType, Register &dest_reg, declNode *pDeclDest, Register opnd1, declNode *pDeclOp1, reg_or_const opnd2, declNode *pDeclOp2) |
LirInst * | BitwiseNOT (typeNode *destType, Register &dest_reg, declNode *pDeclDest, Register opnd1, declNode *pDeclOp1) |
LirInst * | BitwiseShiftLeft (typeNode *destType, Register &dest_reg, declNode *pDeclDest, Register opnd1, declNode *pDeclOp1, reg_or_const bitCnt, declNode *pDeclBitCnt) |
LirInst * | BitwiseShiftRight (typeNode *destType, Register &dest_reg, declNode *pDeclDest, Register opnd1, declNode *pDeclOp1, reg_or_const bitCnt, declNode *pDeclBitCnt) |
LirInst * | BitwiseRotateRight (typeNode *destType, Register &dest_reg, declNode *pDeclDest, Register opnd1, declNode *pDeclOp1, reg_or_const bitCnt, declNode *pDeclBitCnt) |
LirInst * | BitwiseRotateLeft (typeNode *destType, Register &dest_reg, declNode *pDeclDest, Register opnd1, declNode *pDeclOp1, reg_or_const bitCnt, declNode *pDeclBitCnt) |
LirInst * | Compare (Register opnd1, declNode *pDeclOp1, reg_or_const opnd2, declNode *pDeclOp2) |
LirInst * | Branch (Compare_type cmp_type, string label) |
LirInst * | Jmp (string label) |
LirInst * | Call (threeAddrNode *the_call, int stack_arg_bytes) |
LirInst * | CallPre (void) |
LirInst * | Return (procNode *current_proc) |
LirInst * | Label (string label) |
LirInst * | StaticDataString (constant str) |
LirInst * | StaticDataLong (constant value) |
LirInst * | StaticDataInt (constant value) |
LirInst * | StaticDataShort (constant value) |
LirInst * | StaticDataChar (constant value) |
LirInst * | StaticDataSingle (constant value) |
LirInst * | StaticDataDouble (constant value) |
LirInst * | StaticDataZero (int size) |
LirInst * | StaticDataUninit (string name, int size) |
LirInst * | DeclareLocal (declNode *the_decl) |
LirInst * | DeclareGlobal (declNode *the_decl) |
LirInst * | BeginProc (procNode *the_proc) |
LirInst * | EndProc (procNode *the_proc) |
LirInst * | BeginUnit (unitNode *the_unit) |
LirInst * | EndUnit (unitNode *the_unit) |
Static Private Member Functions |
LirInst * | make_simple (mnemonic inst, typeNode *destType, Register &dest_reg, declNode *pDeclDest, Register opnd1, declNode *pDeclOp1, reg_or_const opnd2, declNode *pDeclOp2) |
LirInst * | make_data (mnemonic inst, constant value) |
Member Function Documentation
|
Definition at line 385 of file LIR.cc.
References cmp_EQ, cmp_GE, cmp_GT, cmp_LE, cmp_LT, cmp_NE, LirInst::instruction, mn_BranchEQ, mn_BranchGE, mn_BranchGT, mn_BranchLE, mn_BranchLT, mn_BranchNE, and LirInst::target.
Referenced by lir_gen_walker::gen_conditional_branch(). |
|
Definition at line 428 of file LIR.cc.
References CBZ::ArchInfo, CBZFAIL, DATA_CONTENTS_RETVAL, idNode::decl(), LirInst::dest, LirInst::dest_contents, arch_info::get_reg_retval_fixed(), arch_info::get_reg_retval_float(), typeNode::is_char(), typeNode::is_float(), typeNode::is_int(), typeNode::is_pointer(), idNode::name(), LirInst::nodeExtra, threeAddrNode::rhs1(), LirInst::target, typeNode::type(), and declNode::type(). |
LirInst * LIR::CallPre |
( |
void |
|
) |
[static] |
|
LirInst * LIR::Jmp |
( |
string |
label |
) |
[static] |
|
LirInst * LIR::Label |
( |
string |
label |
) |
[static] |
|
|
Definition at line 64 of file LIR.cc.
References LirInst::dest, LirInst::dest_contents, LirInst::memBase, LirInst::memBase_contents, LirInst::memOffset, LirInst::memOffset_contents, LirInst::primaryType, and Register::setType().
Referenced by asm_gen_walker::doCalleeSave(), asm_gen_walker::doCallerSave(), lir_gen_walker::load_global_value(), and briggs_reg_alloc::loadSymReg(). |
|
Definition at line 627 of file LIR.cc.
References LirInst::dest, LirInst::dest_contents, LirInst::opnd1, LirInst::opnd1_contents, LirInst::opnd2, LirInst::opnd2_contents, LirInst::primaryType, and Register::setType().
Referenced by Add(), BitwiseAND(), BitwiseOR(), BitwiseRotateLeft(), BitwiseRotateRight(), BitwiseShiftLeft(), BitwiseShiftRight(), BitwiseXOR(), Div(), Mod(), Mul(), and Sub(). |
LirInst * LIR::StaticDataUninit |
( |
string |
name, |
|
|
int |
size |
|
) |
[static] |
|
LirInst * LIR::StaticDataZero |
( |
int |
size |
) |
[static] |
|
The documentation for this class was generated from the following files:
|