InstructionPatterns Class Reference

#include <frontend/machine/hppa/hppa.pat.h>

List of all members.


Detailed Description

Definition at line 3 of file hppa.pat.h.

Static Public Member Functions

static Logue * bare_ret (CSR &csr, ADDRESS &lc)
static Logue * bare_ret (CSR &csr, ADDRESS &lc)
static Logue * bare_ret_anulled (CSR &csr, ADDRESS &lc)
static Logue * call_add (CSR &csr, ADDRESS &lc, int &addr, int &imm)
static Logue * call_restore_imm (CSR &csr, ADDRESS &lc, int &addr, int &rs1, int &imm, int &rd)
static Logue * call_restore_reg (CSR &csr, ADDRESS &lc, int &addr, int &rs1, int &rs2, int &rd)
static Logue * call_rst_ui_imm (CSR &csr, ADDRESS &lc, int &addr, int &imm22, int &rs1, int &imm, int &rd)
static Logue * call_rst_ui_reg (CSR &csr, ADDRESS &lc, int &addr, int &imm22, int &rs1, int &rs2, int &rd)
static Logue * clear_stack (CSR &csr, ADDRESS &lc, int &n)
static Logue * gcc_frame (CSR &csr, ADDRESS &lc, int &locals)
static Logue * gcc_frameless (CSR &csr, ADDRESS &lc, int &locals)
static Logue * gcc_unframe (CSR &csr, ADDRESS &lc)
static Logue * gcc_unframeless1 (CSR &csr, ADDRESS &lc)
static Logue * gcc_unframeless2 (CSR &csr, ADDRESS &lc)
static Logue * jmp_restore_imm (CSR &csr, ADDRESS &lc, int &rs1j, int &rdj, int &rs1, int &imm, int &rd)
static Logue * jmp_restore_reg (CSR &csr, ADDRESS &lc, int &rs1j, int &rdj, int &rs1, int &rs2, int &rd)
static Logue * leaf_ret (CSR &csr, ADDRESS &lc)
static Logue * link_save (CSR &csr, ADDRESS &lc, int &locals, int &d16)
static Logue * link_save1 (CSR &csr, ADDRESS &lc, int &locals, int &reg)
static Logue * move_call_move (CSR &csr, ADDRESS &lc, int &addr, int &rd)
static Logue * move_x_call_move (CSR &csr, ADDRESS &lc, int &addr, int &rd)
static Logue * near_call (CSR &csr, ADDRESS &lc, int &addr)
static Logue * new_reg_win (CSR &csr, ADDRESS &lc, int &locals)
static Logue * new_reg_win_large (CSR &csr, ADDRESS &lc, int &hiVal, int &loVal, int &reg)
static Logue * none (CSR &csr, ADDRESS &lc)
static Logue * param_reloc1 (CSR &csr, ADDRESS &lc, int &libstub, int &locals)
static Logue * pea_add_rts (CSR &csr, ADDRESS &lc, int &d32)
static Logue * pea_pea_add_rts (CSR &csr, ADDRESS &lc, int &d32)
static Logue * pop_ret (CSR &csr, ADDRESS &lc, int &reg)
static Logue * push_lea (CSR &csr, ADDRESS &lc, int &locals, int &reg)
static Logue * rest1_ret (CSR &csr, ADDRESS &lc, int &reg)
static Logue * rest_ret (CSR &csr, ADDRESS &lc, int &d16)
static Logue * ret_imm_val (CSR &csr, ADDRESS &lc, int &rs1, int &imm)
static Logue * ret_reg_val (CSR &csr, ADDRESS &lc, int &rs1, int &rs2)
static Logue * ret_struct4 (CSR &csr, ADDRESS &lc)
static Logue * same_reg_win (CSR &csr, ADDRESS &lc, int &locals)
static Logue * same_reg_win_large (CSR &csr, ADDRESS &lc, int &hiVal, int &loVal, int &reg)
static Logue * std_call (CSR &csr, ADDRESS &lc, int &addr)
static Logue * std_call (CSR &csr, ADDRESS &lc, int &addr)
static Logue * std_call (CSR &csr, ADDRESS &lc, int &addr)
static Logue * std_link (CSR &csr, ADDRESS &lc, int &locals)
static Logue * std_ret (CSR &csr, ADDRESS &lc)
static Logue * std_ret (CSR &csr, ADDRESS &lc)
static Logue * struct_call (CSR &csr, ADDRESS &lc, int &addr, int &imm22)
static Logue * trap_syscall (CSR &csr, ADDRESS &lc, int &d16)

Static Private Member Functions

static bool BV $c_br_nnull (ADDRESS &lc, int &a, bool a_isVAR, int &b, bool b_isVAR)
static bool BL $c_br_nnull (ADDRESS &lc, int &a, bool a_isVAR, int &b, bool b_isVAR)
static bool BV $c_br_null (ADDRESS &lc, int &a, bool a_isVAR, int &b, bool b_isVAR)
static bool BL $c_br_null (ADDRESS &lc, int &a, bool a_isVAR, int &b, bool b_isVAR)
static bool c_arith_w $c_c_nonneg (ADDRESS &lc, int &a, bool a_isVAR)
static bool OR $c_arith_w $c_c_nonneg (ADDRESS &lc, int &a, bool a_isVAR, int &b, bool b_isVAR, int &c, bool c_isVAR, int &d, bool d_isVAR)
static bool l_addr_16_old $c_l_addr_none (ADDRESS &lc, int &a, bool a_isVAR)
static bool STWM $l_addr_16_old $c_l_addr_none (ADDRESS &lc, int &a, bool a_isVAR, int &b, bool b_isVAR, int &c, bool c_isVAR, int &d, bool d_isVAR)
static bool STW $l_addr_16_old $c_l_addr_none (ADDRESS &lc, int &a, bool a_isVAR, int &b, bool b_isVAR, int &c, bool c_isVAR, int &d, bool d_isVAR)
static bool LDWM $l_addr_16_old $c_l_addr_none (ADDRESS &lc, int &a, bool a_isVAR, int &b, bool b_isVAR, int &c, bool c_isVAR, int &d, bool d_isVAR)
static bool LDW $l_addr_16_old $c_l_addr_none (ADDRESS &lc, int &a, bool a_isVAR, int &b, bool b_isVAR, int &c, bool c_isVAR, int &d, bool d_isVAR)
static bool s_addr_im_r $c_s_addr_ma (ADDRESS &lc, int &a, bool a_isVAR)
static bool FSTDS $s_addr_im_r $c_s_addr_ma (ADDRESS &lc, int &a, bool a_isVAR, int &b, bool b_isVAR, int &c, bool c_isVAR, int &d, bool d_isVAR)
static bool s_addr_im_r $c_s_addr_mb (ADDRESS &lc, int &a, bool a_isVAR)
static bool LDWS $s_addr_im_r $c_s_addr_mb (ADDRESS &lc, int &a, bool a_isVAR, int &b, bool b_isVAR, int &c, bool c_isVAR, int &d, bool d_isVAR)
static bool s_addr_im_r $c_s_addr_notm (ADDRESS &lc, int &a, bool a_isVAR)
static bool LDWS $s_addr_im_r $c_s_addr_notm (ADDRESS &lc, int &a, bool a_isVAR, int &b, bool b_isVAR, int &c, bool c_isVAR, int &d, bool d_isVAR)
static bool addil $daIndirect (ADDRESS &lc, int &a, bool a_isVAR, int &b, bool b_isVAR)
static bool movemrl $daPostInc (ADDRESS &lc, int &a, bool a_isVAR, int &b, bool b_isVAR)
static bool moverml $daPreDec (ADDRESS &lc, int &a, bool a_isVAR, int &b, bool b_isVAR)
static bool JMPL $dispA (ADDRESS &lc, int &a, bool a_isVAR, int &b, bool b_isVAR, int &c, bool c_isVAR)
static bool SUB $imode (ADDRESS &lc, int &a, bool a_isVAR, int &b, bool b_isVAR, int &c, bool c_isVAR)
static bool SAVE $imode (ADDRESS &lc, int &a, bool a_isVAR, int &b, bool b_isVAR, int &c, bool c_isVAR)
static bool RESTORE $imode (ADDRESS &lc, int &a, bool a_isVAR, int &b, bool b_isVAR, int &c, bool c_isVAR)
static bool OR $imode (ADDRESS &lc, int &a, bool a_isVAR, int &b, bool b_isVAR, int &c, bool c_isVAR)
static bool ADD $imode (ADDRESS &lc, int &a, bool a_isVAR, int &b, bool b_isVAR, int &c, bool c_isVAR)
static bool JMPL $indirectA (ADDRESS &lc, int &a, bool a_isVAR, int &b, bool b_isVAR)
static bool SAVE $rmode (ADDRESS &lc, int &a, bool a_isVAR, int &b, bool b_isVAR, int &c, bool c_isVAR)
static bool RESTORE $rmode (ADDRESS &lc, int &a, bool a_isVAR, int &b, bool b_isVAR, int &c, bool c_isVAR)
static bool ADD $rmode (ADDRESS &lc, int &a, bool a_isVAR, int &b, bool b_isVAR, int &c, bool c_isVAR)
static bool addaw_d16 (ADDRESS &lc, int &a, bool a_isVAR)
static bool Aline (ADDRESS &lc, int &a, bool a_isVAR)
static bool bsr (ADDRESS &lc, int &a, bool a_isVAR)
static bool c_br_nnull (ADDRESS &lc)
static bool c_br_null (ADDRESS &lc)
static bool c_c_nonneg (ADDRESS &lc)
static bool c_l_addr_none (ADDRESS &lc)
static bool c_s_addr_ma (ADDRESS &lc)
static bool c_s_addr_mb (ADDRESS &lc)
static bool c_s_addr_notm (ADDRESS &lc)
static bool call_ (ADDRESS &lc, int &a, bool a_isVAR)
static bool call__ (ADDRESS &lc, int &a, bool a_isVAR)
static bool daIndirect (ADDRESS &lc, int &a, bool a_isVAR)
static bool daPostInc (ADDRESS &lc, int &a, bool a_isVAR)
static bool daPreDec (ADDRESS &lc, int &a, bool a_isVAR)
static bool dispA (ADDRESS &lc, int &a, bool a_isVAR, int &b, bool b_isVAR)
static bool imode (ADDRESS &lc, int &a, bool a_isVAR)
static bool indirectA (ADDRESS &lc, int &a, bool a_isVAR)
static bool LDO (ADDRESS &lc, int &a, bool a_isVAR, int &b, bool b_isVAR, int &c, bool c_isVAR)
static bool leaSpSp (ADDRESS &lc, int &a, bool a_isVAR)
static bool link (ADDRESS &lc, int &a, bool a_isVAR, int &b, bool b_isVAR)
static bool mov_ (ADDRESS &lc, int &a, bool a_isVAR, int &b, bool b_isVAR)
static bool peaPcDisp (ADDRESS &lc, int &a, bool a_isVAR)
static bool popreg (ADDRESS &lc, int &a, bool a_isVAR)
static bool pushreg (ADDRESS &lc, int &a, bool a_isVAR)
static bool restore_ (ADDRESS &lc)
static bool ret (ADDRESS &lc)
static bool retl (ADDRESS &lc)
static bool rmode (ADDRESS &lc, int &a, bool a_isVAR)
static bool rts (ADDRESS &lc)
static bool sethi (ADDRESS &lc, int &a, bool a_isVAR, int &b, bool b_isVAR)
static bool trap (ADDRESS &lc, int &a, bool a_isVAR)
static bool UNIMP (ADDRESS &lc, int &a, bool a_isVAR)
static bool unlk (ADDRESS &lc, int &a, bool a_isVAR)

Static Private Attributes

static int FP = 6
static int g0 = 0
static int i0 = 24
static int i7 = 31
static int o0 = 8
static int o7 = 15
static int R0 = 0
static int R31 = 31
static int RP = 2
static int SP = 30


Member Function Documentation

static bool BV InstructionPatterns::$c_br_nnull ADDRESS lc,
int &  a,
bool  a_isVAR,
int &  b,
bool  b_isVAR
[static, private]
 

static bool BL InstructionPatterns::$c_br_nnull ADDRESS lc,
int &  a,
bool  a_isVAR,
int &  b,
bool  b_isVAR
[static, private]
 

Referenced by bare_ret(), gcc_unframeless1(), gcc_unframeless2(), and std_call().

static bool BV InstructionPatterns::$c_br_null ADDRESS lc,
int &  a,
bool  a_isVAR,
int &  b,
bool  b_isVAR
[static, private]
 

static bool BL InstructionPatterns::$c_br_null ADDRESS lc,
int &  a,
bool  a_isVAR,
int &  b,
bool  b_isVAR
[static, private]
 

Referenced by bare_ret_anulled(), gcc_unframe(), and param_reloc1().

static bool c_arith_w InstructionPatterns::$c_c_nonneg ADDRESS lc,
int &  a,
bool  a_isVAR
[static, private]
 

static bool OR $c_arith_w InstructionPatterns::$c_c_nonneg ADDRESS lc,
int &  a,
bool  a_isVAR,
int &  b,
bool  b_isVAR,
int &  c,
bool  c_isVAR,
int &  d,
bool  d_isVAR
[static, private]
 

Referenced by gcc_frame().

static bool l_addr_16_old InstructionPatterns::$c_l_addr_none ADDRESS lc,
int &  a,
bool  a_isVAR
[static, private]
 

static bool STWM $l_addr_16_old InstructionPatterns::$c_l_addr_none ADDRESS lc,
int &  a,
bool  a_isVAR,
int &  b,
bool  b_isVAR,
int &  c,
bool  c_isVAR,
int &  d,
bool  d_isVAR
[static, private]
 

static bool STW $l_addr_16_old InstructionPatterns::$c_l_addr_none ADDRESS lc,
int &  a,
bool  a_isVAR,
int &  b,
bool  b_isVAR,
int &  c,
bool  c_isVAR,
int &  d,
bool  d_isVAR
[static, private]
 

static bool LDWM $l_addr_16_old InstructionPatterns::$c_l_addr_none ADDRESS lc,
int &  a,
bool  a_isVAR,
int &  b,
bool  b_isVAR,
int &  c,
bool  c_isVAR,
int &  d,
bool  d_isVAR
[static, private]
 

static bool LDW $l_addr_16_old InstructionPatterns::$c_l_addr_none ADDRESS lc,
int &  a,
bool  a_isVAR,
int &  b,
bool  b_isVAR,
int &  c,
bool  c_isVAR,
int &  d,
bool  d_isVAR
[static, private]
 

Referenced by gcc_frame(), gcc_frameless(), gcc_unframe(), gcc_unframeless1(), and gcc_unframeless2().

static bool s_addr_im_r InstructionPatterns::$c_s_addr_ma ADDRESS lc,
int &  a,
bool  a_isVAR
[static, private]
 

static bool FSTDS $s_addr_im_r InstructionPatterns::$c_s_addr_ma ADDRESS lc,
int &  a,
bool  a_isVAR,
int &  b,
bool  b_isVAR,
int &  c,
bool  c_isVAR,
int &  d,
bool  d_isVAR
[static, private]
 

Referenced by param_reloc1().

static bool s_addr_im_r InstructionPatterns::$c_s_addr_mb ADDRESS lc,
int &  a,
bool  a_isVAR
[static, private]
 

static bool LDWS $s_addr_im_r InstructionPatterns::$c_s_addr_mb ADDRESS lc,
int &  a,
bool  a_isVAR,
int &  b,
bool  b_isVAR,
int &  c,
bool  c_isVAR,
int &  d,
bool  d_isVAR
[static, private]
 

Referenced by param_reloc1().

static bool s_addr_im_r InstructionPatterns::$c_s_addr_notm ADDRESS lc,
int &  a,
bool  a_isVAR
[static, private]
 

static bool LDWS $s_addr_im_r InstructionPatterns::$c_s_addr_notm ADDRESS lc,
int &  a,
bool  a_isVAR,
int &  b,
bool  b_isVAR,
int &  c,
bool  c_isVAR,
int &  d,
bool  d_isVAR
[static, private]
 

Referenced by param_reloc1().

static bool addil InstructionPatterns::$daIndirect ADDRESS lc,
int &  a,
bool  a_isVAR,
int &  b,
bool  b_isVAR
[static, private]
 

Referenced by pea_add_rts(), and pea_pea_add_rts().

static bool movemrl InstructionPatterns::$daPostInc ADDRESS lc,
int &  a,
bool  a_isVAR,
int &  b,
bool  b_isVAR
[static, private]
 

Referenced by rest_ret().

static bool moverml InstructionPatterns::$daPreDec ADDRESS lc,
int &  a,
bool  a_isVAR,
int &  b,
bool  b_isVAR
[static, private]
 

Referenced by link_save().

static bool JMPL InstructionPatterns::$dispA ADDRESS lc,
int &  a,
bool  a_isVAR,
int &  b,
bool  b_isVAR,
int &  c,
bool  c_isVAR
[static, private]
 

Referenced by leaf_ret(), ret_imm_val(), and ret_reg_val().

static bool SUB InstructionPatterns::$imode ADDRESS lc,
int &  a,
bool  a_isVAR,
int &  b,
bool  b_isVAR,
int &  c,
bool  c_isVAR
[static, private]
 

static bool SAVE InstructionPatterns::$imode ADDRESS lc,
int &  a,
bool  a_isVAR,
int &  b,
bool  b_isVAR,
int &  c,
bool  c_isVAR
[static, private]
 

static bool RESTORE InstructionPatterns::$imode ADDRESS lc,
int &  a,
bool  a_isVAR,
int &  b,
bool  b_isVAR,
int &  c,
bool  c_isVAR
[static, private]
 

static bool OR InstructionPatterns::$imode ADDRESS lc,
int &  a,
bool  a_isVAR,
int &  b,
bool  b_isVAR,
int &  c,
bool  c_isVAR
[static, private]
 

static bool ADD InstructionPatterns::$imode ADDRESS lc,
int &  a,
bool  a_isVAR,
int &  b,
bool  b_isVAR,
int &  c,
bool  c_isVAR
[static, private]
 

Referenced by call_add(), call_restore_imm(), call_rst_ui_imm(), jmp_restore_imm(), leaf_ret(), new_reg_win(), new_reg_win_large(), ret_imm_val(), same_reg_win(), and same_reg_win_large().

static bool JMPL InstructionPatterns::$indirectA ADDRESS lc,
int &  a,
bool  a_isVAR,
int &  b,
bool  b_isVAR
[static, private]
 

Referenced by jmp_restore_imm(), and jmp_restore_reg().

static bool SAVE InstructionPatterns::$rmode ADDRESS lc,
int &  a,
bool  a_isVAR,
int &  b,
bool  b_isVAR,
int &  c,
bool  c_isVAR
[static, private]
 

static bool RESTORE InstructionPatterns::$rmode ADDRESS lc,
int &  a,
bool  a_isVAR,
int &  b,
bool  b_isVAR,
int &  c,
bool  c_isVAR
[static, private]
 

static bool ADD InstructionPatterns::$rmode ADDRESS lc,
int &  a,
bool  a_isVAR,
int &  b,
bool  b_isVAR,
int &  c,
bool  c_isVAR
[static, private]
 

Referenced by call_restore_reg(), call_rst_ui_reg(), jmp_restore_reg(), new_reg_win_large(), ret_reg_val(), and same_reg_win_large().

bool InstructionPatterns::addaw_d16 ADDRESS lc,
int &  a,
bool  a_isVAR
[static, private]
 

Definition at line 71 of file mc68k.pat.cpp.

References getWord(), and sign_extend.

Referenced by clear_stack().

bool InstructionPatterns::Aline ADDRESS lc,
int &  a,
bool  a_isVAR
[static, private]
 

Definition at line 20 of file mc68k.pat.cpp.

References getWord().

Referenced by trap_syscall().

static Logue* InstructionPatterns::bare_ret CSR &  csr,
ADDRESS lc
[static]
 

Logue * InstructionPatterns::bare_ret CSR &  csr,
ADDRESS lc
[static]
 

Definition at line 1937 of file hppa.pat.cpp.

References $c_br_nnull(), BV(), NULL, R0, RP, and VAL.

Logue * InstructionPatterns::bare_ret_anulled CSR &  csr,
ADDRESS lc
[static]
 

Definition at line 1950 of file hppa.pat.cpp.

References $c_br_null(), BV(), NULL, R0, RP, and VAL.

bool InstructionPatterns::bsr ADDRESS lc,
int &  a,
bool  a_isVAR
[static, private]
 

Definition at line 254 of file mc68k.pat.cpp.

References addressToPC, and getWord().

Referenced by near_call().

bool InstructionPatterns::c_br_nnull ADDRESS lc  )  [static, private]
 

Definition at line 1037 of file hppa.pat.cpp.

References getDword().

bool InstructionPatterns::c_br_null ADDRESS lc  )  [static, private]
 

Definition at line 1088 of file hppa.pat.cpp.

References getDword().

bool InstructionPatterns::c_c_nonneg ADDRESS lc  )  [static, private]
 

Definition at line 1139 of file hppa.pat.cpp.

References getDword().

bool InstructionPatterns::c_l_addr_none ADDRESS lc  )  [static, private]
 

Definition at line 1240 of file hppa.pat.cpp.

References getDword().

bool InstructionPatterns::c_s_addr_ma ADDRESS lc  )  [static, private]
 

Definition at line 1282 of file hppa.pat.cpp.

References getDword().

bool InstructionPatterns::c_s_addr_mb ADDRESS lc  )  [static, private]
 

Definition at line 1369 of file hppa.pat.cpp.

References getDword().

bool InstructionPatterns::c_s_addr_notm ADDRESS lc  )  [static, private]
 

Definition at line 1456 of file hppa.pat.cpp.

References getDword().

bool InstructionPatterns::call_ ADDRESS lc,
int &  a,
bool  a_isVAR
[static, private]
 

Definition at line 311 of file mc68k.pat.cpp.

References addressToPC, getWord(), and sign_extend.

bool InstructionPatterns::call__ ADDRESS lc,
int &  a,
bool  a_isVAR
[static, private]
 

Definition at line 732 of file sparc.pat.cpp.

References addressToPC, getDword(), and sign_extend.

Referenced by call_add(), call_restore_imm(), call_restore_reg(), call_rst_ui_imm(), call_rst_ui_reg(), move_call_move(), move_x_call_move(), and struct_call().

Logue * InstructionPatterns::call_add CSR &  csr,
ADDRESS lc,
int &  addr,
int &  imm
[static]
 

Definition at line 1461 of file sparc.pat.cpp.

References $imode(), ADD(), call__(), NULL, o7, VAL, and VAR.

Logue * InstructionPatterns::call_restore_imm CSR &  csr,
ADDRESS lc,
int &  addr,
int &  rs1,
int &  imm,
int &  rd
[static]
 

Definition at line 1416 of file sparc.pat.cpp.

References $imode(), call__(), NULL, and VAR.

Logue * InstructionPatterns::call_restore_reg CSR &  csr,
ADDRESS lc,
int &  addr,
int &  rs1,
int &  rs2,
int &  rd
[static]
 

Definition at line 1402 of file sparc.pat.cpp.

References $rmode(), call__(), NULL, and VAR.

Logue * InstructionPatterns::call_rst_ui_imm CSR &  csr,
ADDRESS lc,
int &  addr,
int &  imm22,
int &  rs1,
int &  imm,
int &  rd
[static]
 

Definition at line 1387 of file sparc.pat.cpp.

References $imode(), call__(), NULL, UNIMP(), and VAR.

Logue * InstructionPatterns::call_rst_ui_reg CSR &  csr,
ADDRESS lc,
int &  addr,
int &  imm22,
int &  rs1,
int &  rs2,
int &  rd
[static]
 

Definition at line 1372 of file sparc.pat.cpp.

References $rmode(), call__(), NULL, UNIMP(), and VAR.

Logue * InstructionPatterns::clear_stack CSR &  csr,
ADDRESS lc,
int &  n
[static]
 

Definition at line 1518 of file mc68k.pat.cpp.

References addaw_d16(), leaSpSp(), NULL, and VAR.

bool InstructionPatterns::daIndirect ADDRESS lc,
int &  a,
bool  a_isVAR
[static, private]
 

Definition at line 402 of file mc68k.pat.cpp.

References getWord().

bool InstructionPatterns::daPostInc ADDRESS lc,
int &  a,
bool  a_isVAR
[static, private]
 

Definition at line 446 of file mc68k.pat.cpp.

References getWord().

bool InstructionPatterns::daPreDec ADDRESS lc,
int &  a,
bool  a_isVAR
[static, private]
 

Definition at line 490 of file mc68k.pat.cpp.

References getWord().

bool InstructionPatterns::dispA ADDRESS lc,
int &  a,
bool  a_isVAR,
int &  b,
bool  b_isVAR
[static, private]
 

Definition at line 785 of file sparc.pat.cpp.

References getDword(), and sign_extend.

Logue * InstructionPatterns::gcc_frame CSR &  csr,
ADDRESS lc,
int &  locals
[static]
 

Definition at line 1819 of file hppa.pat.cpp.

References $c_c_nonneg(), $c_l_addr_none(), NULL, OR(), RP, SP, STW(), STWM(), VAL, and VAR.

Logue * InstructionPatterns::gcc_frameless CSR &  csr,
ADDRESS lc,
int &  locals
[static]
 

Definition at line 1840 of file hppa.pat.cpp.

References $c_l_addr_none(), LDO(), NULL, RP, SP, STW(), STWM(), VAL, and VAR.

Logue * InstructionPatterns::gcc_unframe CSR &  csr,
ADDRESS lc
[static]
 

Definition at line 1878 of file hppa.pat.cpp.

References $c_br_null(), $c_l_addr_none(), BV(), LDO(), LDW(), LDWM(), NULL, R0, RP, SP, VAL, and VAR.

Logue * InstructionPatterns::gcc_unframeless1 CSR &  csr,
ADDRESS lc
[static]
 

Definition at line 1899 of file hppa.pat.cpp.

References $c_br_nnull(), $c_l_addr_none(), BV(), LDW(), LDWM(), NULL, R0, RP, SP, VAL, and VAR.

Logue * InstructionPatterns::gcc_unframeless2 CSR &  csr,
ADDRESS lc
[static]
 

Definition at line 1918 of file hppa.pat.cpp.

References $c_br_nnull(), $c_l_addr_none(), BV(), LDO(), LDW(), NULL, R0, RP, SP, VAL, and VAR.

bool InstructionPatterns::imode ADDRESS lc,
int &  a,
bool  a_isVAR
[static, private]
 

Definition at line 833 of file sparc.pat.cpp.

References getDword(), and sign_extend.

bool InstructionPatterns::indirectA ADDRESS lc,
int &  a,
bool  a_isVAR
[static, private]
 

Definition at line 878 of file sparc.pat.cpp.

References getDword().

Logue * InstructionPatterns::jmp_restore_imm CSR &  csr,
ADDRESS lc,
int &  rs1j,
int &  rdj,
int &  rs1,
int &  imm,
int &  rd
[static]
 

Definition at line 1489 of file sparc.pat.cpp.

References $imode(), $indirectA(), NULL, and VAR.

Logue * InstructionPatterns::jmp_restore_reg CSR &  csr,
ADDRESS lc,
int &  rs1j,
int &  rdj,
int &  rs1,
int &  rs2,
int &  rd
[static]
 

Definition at line 1475 of file sparc.pat.cpp.

References $indirectA(), $rmode(), NULL, and VAR.

bool InstructionPatterns::LDO ADDRESS lc,
int &  a,
bool  a_isVAR,
int &  b,
bool  b_isVAR,
int &  c,
bool  c_isVAR
[static, private]
 

Definition at line 398 of file hppa.pat.cpp.

References getDword(), and sign_extend.

Referenced by gcc_frameless(), gcc_unframe(), and gcc_unframeless2().

Logue * InstructionPatterns::leaf_ret CSR &  csr,
ADDRESS lc
[static]
 

Definition at line 1622 of file sparc.pat.cpp.

References $dispA(), $imode(), g0, NULL, o7, retl(), SP, SUB(), VAL, and VAR.

bool InstructionPatterns::leaSpSp ADDRESS lc,
int &  a,
bool  a_isVAR
[static, private]
 

Definition at line 534 of file mc68k.pat.cpp.

References getWord(), and sign_extend.

Referenced by clear_stack(), and push_lea().

bool InstructionPatterns::link ADDRESS lc,
int &  a,
bool  a_isVAR,
int &  b,
bool  b_isVAR
[static, private]
 

Definition at line 624 of file mc68k.pat.cpp.

References getWord(), and sign_extend.

Referenced by link_save(), link_save1(), and std_link().

Logue * InstructionPatterns::link_save CSR &  csr,
ADDRESS lc,
int &  locals,
int &  d16
[static]
 

Definition at line 1405 of file mc68k.pat.cpp.

References $daPreDec(), FP, link(), NULL, SP, VAL, and VAR.

Referenced by isFuncPrologue().

Logue * InstructionPatterns::link_save1 CSR &  csr,
ADDRESS lc,
int &  locals,
int &  reg
[static]
 

Definition at line 1419 of file mc68k.pat.cpp.

References FP, link(), NULL, pushreg(), VAL, and VAR.

Referenced by isFuncPrologue().

bool InstructionPatterns::mov_ ADDRESS lc,
int &  a,
bool  a_isVAR,
int &  b,
bool  b_isVAR
[static, private]
 

Definition at line 929 of file sparc.pat.cpp.

References getDword().

Referenced by move_call_move(), and move_x_call_move().

Logue * InstructionPatterns::move_call_move CSR &  csr,
ADDRESS lc,
int &  addr,
int &  rd
[static]
 

Definition at line 1430 of file sparc.pat.cpp.

References call__(), mov_(), NULL, o7, VAL, and VAR.

Logue * InstructionPatterns::move_x_call_move CSR &  csr,
ADDRESS lc,
int &  addr,
int &  rd
[static]
 

Definition at line 1445 of file sparc.pat.cpp.

References call__(), mov_(), NULL, o7, VAL, and VAR.

Logue * InstructionPatterns::near_call CSR &  csr,
ADDRESS lc,
int &  addr
[static]
 

Definition at line 1331 of file mc68k.pat.cpp.

References bsr(), NULL, and VAR.

Logue * InstructionPatterns::new_reg_win CSR &  csr,
ADDRESS lc,
int &  locals
[static]
 

Definition at line 1503 of file sparc.pat.cpp.

References $imode(), NULL, SP, VAL, and VAR.

Referenced by SparcDecoder::isFuncPrologue(), and isFuncPrologue().

Logue * InstructionPatterns::new_reg_win_large CSR &  csr,
ADDRESS lc,
int &  hiVal,
int &  loVal,
int &  reg
[static]
 

Definition at line 1529 of file sparc.pat.cpp.

References $imode(), $rmode(), ADD(), NULL, OR(), sethi(), SP, VAL, and VAR.

Referenced by SparcDecoder::isFuncPrologue(), and isFuncPrologue().

Logue * InstructionPatterns::none CSR &  csr,
ADDRESS lc
[static]
 

Definition at line 1561 of file sparc.pat.cpp.

References NULL.

Logue * InstructionPatterns::param_reloc1 CSR &  csr,
ADDRESS lc,
int &  libstub,
int &  locals
[static]
 

Definition at line 1859 of file hppa.pat.cpp.

References $c_br_null(), $c_s_addr_ma(), $c_s_addr_mb(), $c_s_addr_notm(), BL(), FSTDS(), LDWS(), NULL, SP, VAL, and VAR.

Logue * InstructionPatterns::pea_add_rts CSR &  csr,
ADDRESS lc,
int &  d32
[static]
 

Definition at line 1344 of file mc68k.pat.cpp.

References $daIndirect(), NULL, peaPcDisp(), rts(), SP, VAL, and VAR.

Logue * InstructionPatterns::pea_pea_add_rts CSR &  csr,
ADDRESS lc,
int &  d32
[static]
 

Definition at line 1360 of file mc68k.pat.cpp.

References $daIndirect(), NULL, peaPcDisp(), rts(), SP, VAL, and VAR.

bool InstructionPatterns::peaPcDisp ADDRESS lc,
int &  a,
bool  a_isVAR
[static, private]
 

Definition at line 870 of file mc68k.pat.cpp.

References getWord(), and sign_extend.

Referenced by pea_add_rts(), and pea_pea_add_rts().

Logue * InstructionPatterns::pop_ret CSR &  csr,
ADDRESS lc,
int &  reg
[static]
 

Definition at line 1504 of file mc68k.pat.cpp.

References NULL, popreg(), rts(), and VAR.

bool InstructionPatterns::popreg ADDRESS lc,
int &  a,
bool  a_isVAR
[static, private]
 

Definition at line 962 of file mc68k.pat.cpp.

References getWord().

Referenced by pop_ret(), and rest1_ret().

Logue * InstructionPatterns::push_lea CSR &  csr,
ADDRESS lc,
int &  locals,
int &  reg
[static]
 

Definition at line 1433 of file mc68k.pat.cpp.

References leaSpSp(), NULL, pushreg(), and VAR.

Referenced by isFuncPrologue().

bool InstructionPatterns::pushreg ADDRESS lc,
int &  a,
bool  a_isVAR
[static, private]
 

Definition at line 1021 of file mc68k.pat.cpp.

References getWord().

Referenced by link_save1(), and push_lea().

Logue * InstructionPatterns::rest1_ret CSR &  csr,
ADDRESS lc,
int &  reg
[static]
 

Definition at line 1489 of file mc68k.pat.cpp.

References FP, NULL, popreg(), rts(), unlk(), VAL, and VAR.

Logue * InstructionPatterns::rest_ret CSR &  csr,
ADDRESS lc,
int &  d16
[static]
 

Definition at line 1474 of file mc68k.pat.cpp.

References $daPostInc(), FP, NULL, rts(), SP, unlk(), VAL, and VAR.

bool InstructionPatterns::restore_ ADDRESS lc  )  [static, private]
 

Definition at line 991 of file sparc.pat.cpp.

References getDword().

bool InstructionPatterns::ret ADDRESS lc  )  [static, private]
 

Definition at line 1072 of file sparc.pat.cpp.

References getDword().

Referenced by ret_imm_val(), and ret_reg_val().

Logue * InstructionPatterns::ret_imm_val CSR &  csr,
ADDRESS lc,
int &  rs1,
int &  imm
[static]
 

Definition at line 1606 of file sparc.pat.cpp.

References $dispA(), $imode(), g0, i7, NULL, o0, ret(), VAL, and VAR.

Logue * InstructionPatterns::ret_reg_val CSR &  csr,
ADDRESS lc,
int &  rs1,
int &  rs2
[static]
 

Definition at line 1590 of file sparc.pat.cpp.

References $dispA(), $rmode(), g0, i7, NULL, o0, ret(), VAL, and VAR.

Logue * InstructionPatterns::ret_struct4 CSR &  csr,
ADDRESS lc
[static]
 

Definition at line 1638 of file sparc.pat.cpp.

References NULL.

bool InstructionPatterns::retl ADDRESS lc  )  [static, private]
 

Definition at line 1155 of file sparc.pat.cpp.

References getDword().

Referenced by leaf_ret().

bool InstructionPatterns::rmode ADDRESS lc,
int &  a,
bool  a_isVAR
[static, private]
 

Definition at line 1240 of file sparc.pat.cpp.

References getDword().

bool InstructionPatterns::rts ADDRESS lc  )  [static, private]
 

Definition at line 1080 of file mc68k.pat.cpp.

References getWord().

Referenced by pea_add_rts(), pea_pea_add_rts(), pop_ret(), rest1_ret(), rest_ret(), and std_ret().

Logue * InstructionPatterns::same_reg_win CSR &  csr,
ADDRESS lc,
int &  locals
[static]
 

Definition at line 1516 of file sparc.pat.cpp.

References $imode(), ADD(), NULL, SP, VAL, and VAR.

Referenced by SparcDecoder::isFuncPrologue(), and isFuncPrologue().

Logue * InstructionPatterns::same_reg_win_large CSR &  csr,
ADDRESS lc,
int &  hiVal,
int &  loVal,
int &  reg
[static]
 

Definition at line 1545 of file sparc.pat.cpp.

References $imode(), $rmode(), ADD(), NULL, OR(), sethi(), SP, VAL, and VAR.

Referenced by SparcDecoder::isFuncPrologue(), and isFuncPrologue().

bool InstructionPatterns::sethi ADDRESS lc,
int &  a,
bool  a_isVAR,
int &  b,
bool  b_isVAR
[static, private]
 

Definition at line 1284 of file sparc.pat.cpp.

References getDword().

Referenced by new_reg_win_large(), and same_reg_win_large().

static Logue* InstructionPatterns::std_call CSR &  csr,
ADDRESS lc,
int &  addr
[static]
 

static Logue* InstructionPatterns::std_call CSR &  csr,
ADDRESS lc,
int &  addr
[static]
 

Logue * InstructionPatterns::std_call CSR &  csr,
ADDRESS lc,
int &  addr
[static]
 

Definition at line 1806 of file hppa.pat.cpp.

References $c_br_nnull(), BL(), NULL, RP, VAL, and VAR.

Logue * InstructionPatterns::std_link CSR &  csr,
ADDRESS lc,
int &  locals
[static]
 

Definition at line 1392 of file mc68k.pat.cpp.

References FP, link(), NULL, VAL, and VAR.

Referenced by isFuncPrologue().

static Logue* InstructionPatterns::std_ret CSR &  csr,
ADDRESS lc
[static]
 

Logue * InstructionPatterns::std_ret CSR &  csr,
ADDRESS lc
[static]
 

Definition at line 1460 of file mc68k.pat.cpp.

References FP, NULL, rts(), unlk(), and VAL.

Logue * InstructionPatterns::struct_call CSR &  csr,
ADDRESS lc,
int &  addr,
int &  imm22
[static]
 

Definition at line 1357 of file sparc.pat.cpp.

References call__(), NULL, UNIMP(), and VAR.

bool InstructionPatterns::trap ADDRESS lc,
int &  a,
bool  a_isVAR
[static, private]
 

Definition at line 1162 of file mc68k.pat.cpp.

References getWord().

Referenced by trap_syscall().

Logue * InstructionPatterns::trap_syscall CSR &  csr,
ADDRESS lc,
int &  d16
[static]
 

Definition at line 1377 of file mc68k.pat.cpp.

References Aline(), NULL, trap(), VAL, and VAR.

bool InstructionPatterns::UNIMP ADDRESS lc,
int &  a,
bool  a_isVAR
[static, private]
 

Definition at line 675 of file sparc.pat.cpp.

References getDword().

Referenced by call_rst_ui_imm(), call_rst_ui_reg(), and struct_call().

bool InstructionPatterns::unlk ADDRESS lc,
int &  a,
bool  a_isVAR
[static, private]
 

Definition at line 1239 of file mc68k.pat.cpp.

References getWord().

Referenced by rest1_ret(), rest_ret(), and std_ret().


Member Data Documentation

int InstructionPatterns::FP = 6 [static, private]
 

Definition at line 6 of file mc68k.pat.h.

Referenced by link_save(), link_save1(), rest1_ret(), rest_ret(), std_link(), and std_ret().

int InstructionPatterns::g0 = 0 [static, private]
 

Definition at line 11 of file sparc.pat.h.

Referenced by leaf_ret(), ret_imm_val(), and ret_reg_val().

int InstructionPatterns::i0 = 24 [static, private]
 

Definition at line 8 of file sparc.pat.h.

int InstructionPatterns::i7 = 31 [static, private]
 

Definition at line 9 of file sparc.pat.h.

Referenced by ret_imm_val(), and ret_reg_val().

int InstructionPatterns::o0 = 8 [static, private]
 

Definition at line 7 of file sparc.pat.h.

Referenced by ret_imm_val(), and ret_reg_val().

int InstructionPatterns::o7 = 15 [static, private]
 

Definition at line 10 of file sparc.pat.h.

Referenced by call_add(), leaf_ret(), move_call_move(), and move_x_call_move().

int InstructionPatterns::R0 = 0 [static, private]
 

Definition at line 5 of file hppa.pat.h.

Referenced by bare_ret(), bare_ret_anulled(), gcc_unframe(), gcc_unframeless1(), and gcc_unframeless2().

int InstructionPatterns::R31 = 31 [static, private]
 

Definition at line 8 of file hppa.pat.h.

int InstructionPatterns::RP = 2 [static, private]
 

Definition at line 6 of file hppa.pat.h.

Referenced by bare_ret(), bare_ret_anulled(), gcc_frame(), gcc_frameless(), gcc_unframe(), gcc_unframeless1(), gcc_unframeless2(), and std_call().

int InstructionPatterns::SP = 30 [static, private]
 

Definition at line 7 of file hppa.pat.h.

Referenced by gcc_frame(), gcc_frameless(), gcc_unframe(), gcc_unframeless1(), gcc_unframeless2(), leaf_ret(), link_save(), new_reg_win(), new_reg_win_large(), param_reloc1(), pea_add_rts(), pea_pea_add_rts(), rest_ret(), same_reg_win(), and same_reg_win_large().


The documentation for this class was generated from the following files:
Generated on Tue Sep 19 21:18:43 2006 for Boomerang by  doxygen 1.4.6