#include <frontend/machine/hppa/hppa.pat.h>
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 ®) |
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 ®) |
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 ®) |
static Logue * | push_lea (CSR &csr, ADDRESS &lc, int &locals, int ®) |
static Logue * | rest1_ret (CSR &csr, ADDRESS &lc, int ®) |
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 ®) |
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 |
|
|
|
Referenced by bare_ret(), gcc_unframeless1(), gcc_unframeless2(), and std_call(). |
|
|
|
Referenced by bare_ret_anulled(), gcc_unframe(), and param_reloc1(). |
|
|
|
Referenced by gcc_frame(). |
|
|
|
|
|
|
|
|
|
Referenced by gcc_frame(), gcc_frameless(), gcc_unframe(), gcc_unframeless1(), and gcc_unframeless2(). |
|
|
|
Referenced by param_reloc1(). |
|
|
|
Referenced by param_reloc1(). |
|
|
|
Referenced by param_reloc1(). |
|
Referenced by pea_add_rts(), and pea_pea_add_rts(). |
|
Referenced by rest_ret(). |
|
Referenced by link_save(). |
|
Referenced by leaf_ret(), ret_imm_val(), and ret_reg_val(). |
|
|
|
|
|
|
|
|
|
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(). |
|
Referenced by jmp_restore_imm(), and jmp_restore_reg(). |
|
|
|
|
|
Referenced by call_restore_reg(), call_rst_ui_reg(), jmp_restore_reg(), new_reg_win_large(), ret_reg_val(), and same_reg_win_large(). |
|
Definition at line 71 of file mc68k.pat.cpp. References getWord(), and sign_extend. Referenced by clear_stack(). |
|
Definition at line 20 of file mc68k.pat.cpp. References getWord(). Referenced by trap_syscall(). |
|
|
|
Definition at line 1937 of file hppa.pat.cpp. |
|
Definition at line 1950 of file hppa.pat.cpp. |
|
Definition at line 254 of file mc68k.pat.cpp. References addressToPC, and getWord(). Referenced by near_call(). |
|
Definition at line 1037 of file hppa.pat.cpp. References getDword(). |
|
Definition at line 1088 of file hppa.pat.cpp. References getDword(). |
|
Definition at line 1139 of file hppa.pat.cpp. References getDword(). |
|
Definition at line 1240 of file hppa.pat.cpp. References getDword(). |
|
Definition at line 1282 of file hppa.pat.cpp. References getDword(). |
|
Definition at line 1369 of file hppa.pat.cpp. References getDword(). |
|
Definition at line 1456 of file hppa.pat.cpp. References getDword(). |
|
Definition at line 311 of file mc68k.pat.cpp. References addressToPC, getWord(), and sign_extend. |
|
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(). |
|
Definition at line 1461 of file sparc.pat.cpp. References $imode(), ADD(), call__(), NULL, o7, VAL, and VAR. |
|
Definition at line 1416 of file sparc.pat.cpp. |
|
Definition at line 1402 of file sparc.pat.cpp. |
|
Definition at line 1387 of file sparc.pat.cpp. |
|
Definition at line 1372 of file sparc.pat.cpp. |
|
Definition at line 1518 of file mc68k.pat.cpp. References addaw_d16(), leaSpSp(), NULL, and VAR. |
|
Definition at line 402 of file mc68k.pat.cpp. References getWord(). |
|
Definition at line 446 of file mc68k.pat.cpp. References getWord(). |
|
Definition at line 490 of file mc68k.pat.cpp. References getWord(). |
|
Definition at line 785 of file sparc.pat.cpp. References getDword(), and sign_extend. |
|
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. |
|
Definition at line 1840 of file hppa.pat.cpp. References $c_l_addr_none(), LDO(), NULL, RP, SP, STW(), STWM(), VAL, and VAR. |
|
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. |
|
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. |
|
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. |
|
Definition at line 833 of file sparc.pat.cpp. References getDword(), and sign_extend. |
|
Definition at line 878 of file sparc.pat.cpp. References getDword(). |
|
Definition at line 1489 of file sparc.pat.cpp. References $imode(), $indirectA(), NULL, and VAR. |
|
Definition at line 1475 of file sparc.pat.cpp. References $indirectA(), $rmode(), NULL, and VAR. |
|
Definition at line 398 of file hppa.pat.cpp. References getDword(), and sign_extend. Referenced by gcc_frameless(), gcc_unframe(), and gcc_unframeless2(). |
|
Definition at line 1622 of file sparc.pat.cpp. References $dispA(), $imode(), g0, NULL, o7, retl(), SP, SUB(), VAL, and VAR. |
|
Definition at line 534 of file mc68k.pat.cpp. References getWord(), and sign_extend. Referenced by clear_stack(), and push_lea(). |
|
Definition at line 624 of file mc68k.pat.cpp. References getWord(), and sign_extend. Referenced by link_save(), link_save1(), and std_link(). |
|
Definition at line 1405 of file mc68k.pat.cpp. References $daPreDec(), FP, link(), NULL, SP, VAL, and VAR. Referenced by isFuncPrologue(). |
|
Definition at line 1419 of file mc68k.pat.cpp. References FP, link(), NULL, pushreg(), VAL, and VAR. Referenced by isFuncPrologue(). |
|
Definition at line 929 of file sparc.pat.cpp. References getDword(). Referenced by move_call_move(), and move_x_call_move(). |
|
Definition at line 1430 of file sparc.pat.cpp. |
|
Definition at line 1445 of file sparc.pat.cpp. |
|
Definition at line 1331 of file mc68k.pat.cpp. |
|
Definition at line 1503 of file sparc.pat.cpp. References $imode(), NULL, SP, VAL, and VAR. Referenced by SparcDecoder::isFuncPrologue(), and isFuncPrologue(). |
|
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(). |
|
Definition at line 1561 of file sparc.pat.cpp. References NULL. |
|
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. |
|
Definition at line 1344 of file mc68k.pat.cpp. References $daIndirect(), NULL, peaPcDisp(), rts(), SP, VAL, and VAR. |
|
Definition at line 1360 of file mc68k.pat.cpp. References $daIndirect(), NULL, peaPcDisp(), rts(), SP, VAL, and VAR. |
|
Definition at line 870 of file mc68k.pat.cpp. References getWord(), and sign_extend. Referenced by pea_add_rts(), and pea_pea_add_rts(). |
|
Definition at line 1504 of file mc68k.pat.cpp. |
|
Definition at line 962 of file mc68k.pat.cpp. References getWord(). Referenced by pop_ret(), and rest1_ret(). |
|
Definition at line 1433 of file mc68k.pat.cpp. References leaSpSp(), NULL, pushreg(), and VAR. Referenced by isFuncPrologue(). |
|
Definition at line 1021 of file mc68k.pat.cpp. References getWord(). Referenced by link_save1(), and push_lea(). |
|
Definition at line 1489 of file mc68k.pat.cpp. |
|
Definition at line 1474 of file mc68k.pat.cpp. References $daPostInc(), FP, NULL, rts(), SP, unlk(), VAL, and VAR. |
|
Definition at line 991 of file sparc.pat.cpp. References getDword(). |
|
Definition at line 1072 of file sparc.pat.cpp. References getDword(). Referenced by ret_imm_val(), and ret_reg_val(). |
|
Definition at line 1606 of file sparc.pat.cpp. References $dispA(), $imode(), g0, i7, NULL, o0, ret(), VAL, and VAR. |
|
Definition at line 1590 of file sparc.pat.cpp. References $dispA(), $rmode(), g0, i7, NULL, o0, ret(), VAL, and VAR. |
|
Definition at line 1638 of file sparc.pat.cpp. References NULL. |
|
Definition at line 1155 of file sparc.pat.cpp. References getDword(). Referenced by leaf_ret(). |
|
Definition at line 1240 of file sparc.pat.cpp. References getDword(). |
|
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(). |
|
Definition at line 1516 of file sparc.pat.cpp. References $imode(), ADD(), NULL, SP, VAL, and VAR. Referenced by SparcDecoder::isFuncPrologue(), and isFuncPrologue(). |
|
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(). |
|
Definition at line 1284 of file sparc.pat.cpp. References getDword(). Referenced by new_reg_win_large(), and same_reg_win_large(). |
|
|
|
|
|
Definition at line 1806 of file hppa.pat.cpp. |
|
Definition at line 1392 of file mc68k.pat.cpp. References FP, link(), NULL, VAL, and VAR. Referenced by isFuncPrologue(). |
|
|
|
Definition at line 1460 of file mc68k.pat.cpp. |
|
Definition at line 1357 of file sparc.pat.cpp. |
|
Definition at line 1162 of file mc68k.pat.cpp. References getWord(). Referenced by trap_syscall(). |
|
Definition at line 1377 of file mc68k.pat.cpp. |
|
Definition at line 675 of file sparc.pat.cpp. References getDword(). Referenced by call_rst_ui_imm(), call_rst_ui_reg(), and struct_call(). |
|
Definition at line 1239 of file mc68k.pat.cpp. References getWord(). Referenced by rest1_ret(), rest_ret(), and std_ret(). |
|
Definition at line 6 of file mc68k.pat.h. Referenced by link_save(), link_save1(), rest1_ret(), rest_ret(), std_link(), and std_ret(). |
|
Definition at line 11 of file sparc.pat.h. Referenced by leaf_ret(), ret_imm_val(), and ret_reg_val(). |
|
Definition at line 8 of file sparc.pat.h. |
|
Definition at line 9 of file sparc.pat.h. Referenced by ret_imm_val(), and ret_reg_val(). |
|
Definition at line 7 of file sparc.pat.h. Referenced by ret_imm_val(), and ret_reg_val(). |
|
Definition at line 10 of file sparc.pat.h. Referenced by call_add(), leaf_ret(), move_call_move(), and move_x_call_move(). |
|
Definition at line 5 of file hppa.pat.h. Referenced by bare_ret(), bare_ret_anulled(), gcc_unframe(), gcc_unframeless1(), and gcc_unframeless2(). |
|
Definition at line 8 of file hppa.pat.h. |
|
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(). |
|
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(). |