Main Page Modules Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages
LirInst Class Reference#include <instruction.h>
List of all members.
Constructor & Destructor Documentation
LirInst::LirInst |
( |
mnemonic |
instruction |
) |
|
|
Member Function Documentation
string LirInst::contents_str |
( |
declNode * |
pDecl |
) |
[static] |
|
bool LirInst::has_base |
( |
|
) |
const |
|
bool LirInst::has_dest |
( |
bool |
declDefines = false |
) |
const |
|
|
Definition at line 155 of file instruction.cc.
References dest, instruction, instruction_info, Register::isValid(), mn_DeclLocal, nodeExtra, and declNode::Storage_location::storageloc_register.
Referenced by dummy_reg_alloc::allocate(), asm_gen_walker::at_proc(), briggs_reg_alloc::changeWebRegister(), lir_flow_walker::computeRegisterLiveness(), briggs_reg_alloc::computeSpillCosts(), asm_gen_walker::doCalleeSave(), briggs_reg_alloc::genSpillCode(), arch_info::make_template_replacements(), briggs_reg_alloc::makeDuChains(), and briggs_reg_alloc::nonStore(). |
bool LirInst::has_offset |
( |
bool |
regOnly = true |
) |
const |
|
|
Definition at line 193 of file instruction.cc.
References reg_or_const::_is_const, instruction, instruction_info, and memOffset.
Referenced by dummy_reg_alloc::allocate(), asm_gen_walker::at_proc(), briggs_reg_alloc::changeWebRegister(), lir_flow_walker::computeRegisterLiveness(), briggs_reg_alloc::computeSpillCosts(), briggs_reg_alloc::genSpillCode(), arch_info::make_template_replacements(), and briggs_reg_alloc::makeDuChains(). |
bool LirInst::has_opnd1 |
( |
|
) |
const |
|
bool LirInst::has_opnd2 |
( |
bool |
regOnly = true |
) |
const |
|
|
Definition at line 180 of file instruction.cc.
References reg_or_const::_is_const, instruction, instruction_info, and opnd2.
Referenced by dummy_reg_alloc::allocate(), asm_gen_walker::at_proc(), briggs_reg_alloc::changeWebRegister(), lir_flow_walker::computeRegisterLiveness(), briggs_reg_alloc::computeSpillCosts(), briggs_reg_alloc::genSpillCode(), arch_info::make_template_replacements(), and briggs_reg_alloc::makeDuChains(). |
bool LirInst::has_target |
( |
|
) |
const |
|
bool LirInst::should_emit |
( |
|
) |
const |
|
void LirInst::stack_arg_bytes |
( |
int |
bytes |
) |
[inline] |
|
int LirInst::stack_arg_bytes |
( |
void |
|
) |
[inline] |
|
string LirInst::to_string |
( |
|
) |
const |
|
|
Definition at line 78 of file instruction.cc.
References reg_or_const::_is_const, InstructionInfo::_name, InstructionInfo::_opndFormat, dest, instruction, instruction_info, memBase, memOffset, opnd1, opnd2, cbz_util::string_format(), cbz_util::string_replace(), reg_or_const::to_string(), Register::to_string(), and to_string().
Referenced by asm_gen_walker::emit(), operator<<(), and to_string(). |
Friends And Related Function Documentation
ostream& operator<< |
( |
ostream & |
os, |
|
|
const LirInst & |
inst |
|
) |
[friend] |
|
Member Data Documentation
int LirInst::_stack_arg_bytes
|
|
int LirInst::contents_compiler_temp_index [static]
|
|
|
Definition at line 281 of file instruction.h.
Referenced by dummy_reg_alloc::allocate(), asm_gen_walker::at_proc(), LIR::BitwiseNOT(), LIR::Call(), briggs_reg_alloc::changeWebRegister(), briggs_reg_alloc::coalesceRegisters(), lir_flow_walker::computeRegisterLiveness(), briggs_reg_alloc::computeSpillCosts(), LIR::ConvertType(), asm_gen_walker::doCalleeSave(), briggs_reg_alloc::genSpillCode(), get_dest(), LIR::GetEffectiveAddress(), LIR::GetGlobalAddress(), has_dest(), LIR::Load(), LIR::LoadImmediate(), LIR::LoadStatic(), LIR::make_simple(), arch_info::make_template_replacements(), LIR::Move(), LIR::Neg(), briggs_reg_alloc::nonStore(), and to_string(). |
|
Definition at line 282 of file instruction.h.
Referenced by dummy_reg_alloc::allocate(), LIR::BitwiseNOT(), LIR::Call(), LIR::ConvertType(), briggs_reg_alloc::genSpillCode(), LIR::GetEffectiveAddress(), LIR::GetGlobalAddress(), LIR::Load(), LIR::LoadImmediate(), LIR::LoadStatic(), LIR::make_simple(), LIR::Move(), and LIR::Neg(). |
|
Definition at line 291 of file instruction.h.
Referenced by LIR::Branch(), lir_flow_walker::build_lir_blocks(), briggs_reg_alloc::coalesceRegisters(), briggs_reg_alloc::computeSpillCosts(), asm_gen_walker::computeStackFrameSize(), asm_gen_walker::doCalleeSave(), asm_gen_walker::doCallerSave(), arch_info::get_code_for_instruction(), get_dest(), arch_info::get_Lir2Asm_for_instruction(), lir_flow_walker::getInstructionFlowInfo(), lir_flow_walker::getInstructionsPostorder(), has_base(), has_dest(), has_offset(), has_opnd1(), has_opnd2(), has_target(), briggs_reg_alloc::interfere(), briggs_reg_alloc::makeDuChains(), should_emit(), and to_string(). |
|
Definition at line 285 of file instruction.h.
Referenced by dummy_reg_alloc::allocate(), asm_gen_walker::at_proc(), briggs_reg_alloc::changeWebRegister(), lir_flow_walker::computeRegisterLiveness(), briggs_reg_alloc::computeSpillCosts(), briggs_reg_alloc::genSpillCode(), LIR::GetEffectiveAddress(), LIR::Load(), arch_info::make_template_replacements(), briggs_reg_alloc::makeDuChains(), LIR::Store(), and to_string(). |
|
Definition at line 287 of file instruction.h.
Referenced by dummy_reg_alloc::allocate(), asm_gen_walker::at_proc(), briggs_reg_alloc::changeWebRegister(), lir_flow_walker::computeRegisterLiveness(), briggs_reg_alloc::computeSpillCosts(), briggs_reg_alloc::genSpillCode(), LIR::GetEffectiveAddress(), LIR::GetGlobalAddress(), has_offset(), LIR::Load(), LIR::LoadStatic(), arch_info::make_template_replacements(), briggs_reg_alloc::makeDuChains(), LIR::Store(), LIR::StoreStatic(), and to_string(). |
|
Definition at line 320 of file instruction.h.
Referenced by LIR::BeginProc(), LIR::Call(), briggs_reg_alloc::changeWebRegister(), LIR::DeclareGlobal(), LIR::DeclareLocal(), asm_gen_walker::doCallerSave(), LIR::EndProc(), get_dest(), has_dest(), briggs_reg_alloc::interfere(), LIR::LoadStatic(), arch_info::make_template_replacements(), and LIR::Return(). |
|
Definition at line 275 of file instruction.h.
Referenced by dummy_reg_alloc::allocate(), asm_gen_walker::at_proc(), LIR::BitwiseNOT(), briggs_reg_alloc::changeWebRegister(), briggs_reg_alloc::coalesceRegisters(), LIR::Compare(), lir_flow_walker::computeRegisterLiveness(), briggs_reg_alloc::computeSpillCosts(), LIR::ConvertType(), briggs_reg_alloc::genSpillCode(), LIR::make_simple(), arch_info::make_template_replacements(), briggs_reg_alloc::makeDuChains(), LIR::Move(), LIR::Neg(), LIR::Store(), LIR::StoreStatic(), and to_string(). |
|
Definition at line 277 of file instruction.h.
Referenced by dummy_reg_alloc::allocate(), asm_gen_walker::at_proc(), briggs_reg_alloc::changeWebRegister(), LIR::Compare(), lir_flow_walker::computeRegisterLiveness(), briggs_reg_alloc::computeSpillCosts(), briggs_reg_alloc::genSpillCode(), arch_info::get_Lir2Asm_for_instruction(), has_opnd2(), LIR::LoadImmediate(), LIR::make_simple(), arch_info::make_template_replacements(), briggs_reg_alloc::makeDuChains(), and to_string(). |
|
Definition at line 294 of file instruction.h.
Referenced by LIR::BeginProc(), LIR::Branch(), lir_flow_walker::build_lir_blocks(), LIR::Call(), LIR::DeclareGlobal(), LIR::DeclareLocal(), LIR::EndProc(), LIR::GetGlobalAddress(), lir_flow_walker::getInstructionFlowInfo(), LIR::Jmp(), LIR::Label(), LIR::LoadStatic(), arch_info::make_template_replacements(), LIR::StaticDataUninit(), and LIR::StoreStatic(). |
LirInst* LirInst::targetInst
|
|
The documentation for this class was generated from the following files:
|