C-Breeze
C Compiler Infrastructure

[ Project home page]
Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

instruction.h File Reference

#include <c_breeze.h>
#include "register.h"

Go to the source code of this file.

Compounds

struct  InstructionInfo
class  LirBlock
class  LirInst

Defines

#define DATA_CONTENTS_STACKP   ((declNode*)4)
#define DATA_CONTENTS_FRAMEP   ((declNode*)5)
#define DATA_CONTENTS_REG_IN   ((declNode*)6)
#define DATA_CONTENTS_REG_OUT   ((declNode*)7)
#define DATA_CONTENTS_RETVAL   ((declNode*)8)
#define DATA_CONTENTS__SPECIAL   ((declNode*)10)

Enumerations

enum  mnemonic {
  mn_undefined = 0, mn_ConvertType, mn_Load, mn_LoadImmediate,
  mn_LoadStatic, mn_Store, mn_StoreStatic, mn_GetEffectiveAddr,
  mn_GetGlobalAddr, mn_Move, mn_Add, mn_Sub,
  mn_Mul, mn_Div, mn_Mod, mn_Neg,
  mn_BitwiseOR, mn_BitwiseAND, mn_BitwiseXOR, mn_BitwiseNOT,
  mn_BitwiseShiftLeft, mn_BitwiseShiftRight, mn_BitwiseRotateRight, mn_BitwiseRotateLeft,
  mn_Compare, mn_BranchEQ, mn_BranchNE, mn_BranchLT,
  mn_BranchLE, mn_BranchGT, mn_BranchGE, mn_Jmp,
  mn_Label, mn_Call, mn_IndirectCall, mn_Return,
  mn_CallPre, mn_BeginProc, mn_EndProc, mn_BeginUnit,
  mn_EndUnit, mn_StaticDataString, mn_StaticDataLong, mn_StaticDataInt,
  mn_StaticDataShort, mn_StaticDataChar, mn_StaticDataSingle, mn_StaticDataDouble,
  mn_StaticDataZero, mn_StaticDataUninit, mn_DeclLocal, mn_DeclGlobal,
  mn_NOP, mn__count
}
enum  Compare_type {
  cmp_unknown, cmp_GT, cmp_GE, cmp_LE,
  cmp_LT, cmp_EQ, cmp_NE
}

Variables

InstructionInfo instruction_info [mn__count]


Define Documentation

#define DATA_CONTENTS__SPECIAL   ((declNode*)10)
 

Definition at line 269 of file instruction.h.

#define DATA_CONTENTS_FRAMEP   ((declNode*)5)
 

Definition at line 259 of file instruction.h.

Referenced by LirInst::contents_str(), briggs_reg_alloc::genSpillCode(), lir_gen_walker::load_stack_value(), lir_gen_walker::load_stack_var(), briggs_reg_alloc::loadSymReg(), and lir_gen_walker::store_stack().

#define DATA_CONTENTS_REG_IN   ((declNode*)6)
 

Definition at line 262 of file instruction.h.

Referenced by LirInst::contents_str().

#define DATA_CONTENTS_REG_OUT   ((declNode*)7)
 

Definition at line 263 of file instruction.h.

Referenced by LirInst::contents_str().

#define DATA_CONTENTS_RETVAL   ((declNode*)8)
 

Definition at line 266 of file instruction.h.

Referenced by LIR::Call(), LirInst::contents_str(), and lir_gen_walker::gen_call_assignment().

#define DATA_CONTENTS_STACKP   ((declNode*)4)
 

Definition at line 258 of file instruction.h.

Referenced by LirInst::contents_str(), and lir_gen_walker::gen_call().


Enumeration Type Documentation

enum Compare_type
 

Enumeration values:
cmp_unknown 
cmp_GT 
cmp_GE 
cmp_LE 
cmp_LT 
cmp_EQ 
cmp_NE 

Definition at line 232 of file instruction.h.

enum mnemonic
 

Enumeration values:
mn_undefined 
mn_ConvertType 
mn_Load 
mn_LoadImmediate 
mn_LoadStatic 
mn_Store 
mn_StoreStatic 
mn_GetEffectiveAddr 
mn_GetGlobalAddr 
mn_Move 
mn_Add 
mn_Sub 
mn_Mul 
mn_Div 
mn_Mod 
mn_Neg 
mn_BitwiseOR 
mn_BitwiseAND 
mn_BitwiseXOR 
mn_BitwiseNOT 
mn_BitwiseShiftLeft 
mn_BitwiseShiftRight 
mn_BitwiseRotateRight 
mn_BitwiseRotateLeft 
mn_Compare 
mn_BranchEQ 
mn_BranchNE 
mn_BranchLT 
mn_BranchLE 
mn_BranchGT 
mn_BranchGE 
mn_Jmp 
mn_Label 
mn_Call 
mn_IndirectCall 
mn_Return 
mn_CallPre 
mn_BeginProc 
mn_EndProc 
mn_BeginUnit 
mn_EndUnit 
mn_StaticDataString 
mn_StaticDataLong 
mn_StaticDataInt 
mn_StaticDataShort 
mn_StaticDataChar 
mn_StaticDataSingle 
mn_StaticDataDouble 
mn_StaticDataZero 
mn_StaticDataUninit 
mn_DeclLocal 
mn_DeclGlobal 
mn_NOP 
mn__count 

Definition at line 46 of file instruction.h.

Referenced by lir_flow_walker::build_lir_blocks().


Variable Documentation

InstructionInfo instruction_info[mn__count]
 

Definition at line 227 of file instruction.h.

Referenced by LirInst::has_base(), LirInst::has_dest(), LirInst::has_offset(), LirInst::has_opnd1(), LirInst::has_opnd2(), LirInst::has_target(), LirInst::should_emit(), and LirInst::to_string().


Generated on August 27, 2003
Back to the C-Breeze home page