pi.g.hh File Reference

Classes of pi-level pseudoinstructions used in backend. More...

#include <lestes/backend_v2/common.hh>
#include <lestes/std/map.hh>
#include <lestes/intercode/intercode.g.hh>
#include <lestes/backend_v2/intercode/ge.g.hh>
#include <lestes/std/objectize_macros.hh>

Include dependency graph for pi.g.hh:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  lestes
namespace  lestes::md
namespace  lestes::md::literals
namespace  lestes::backend_v2
namespace  lestes::backend_v2::structs
namespace  lestes::backend_v2::intercode
namespace  lestes::md::types
namespace  lestes::lang
namespace  lestes::lang::cplus
namespace  lestes::lang::cplus::sem
namespace  lestes::lang::cplus::lex
namespace  lestes::std

Classes

class  lestes::backend_v2::intercode::pi_pi
 Base class for pi-level pseudoinstruction hierarchy. More...
class  lestes::backend_v2::intercode::pi_branch
 Base class for branches. More...
class  lestes::backend_v2::intercode::pi_conditional_branch
 Base class for conditional branches. More...
class  lestes::backend_v2::intercode::pi_uconditional_branch
 Base class for unconditional branches. More...
class  lestes::backend_v2::intercode::pi_branch_multiple
 Base class for branches that have multiple targes. More...
class  lestes::backend_v2::intercode::pi_cb_single_label_target
 Base class for conditional branches that jump to labeled target. More...
class  lestes::backend_v2::intercode::pi_cb_single_address_target
 Base class for conditional branches that jump to address. More...
class  lestes::backend_v2::intercode::pi_ub_single_label_target
 Base class for unconditional branches that jump to labeled target. More...
class  lestes::backend_v2::intercode::pi_ub_single_address_target
 Base class for unconditional branches that jump to address. More...
class  lestes::backend_v2::intercode::pi_branch_multiple_label_target
 Base class for conditional branches that jump to multiple labeled targets. More...
class  lestes::backend_v2::intercode::pi_branch_multiple_address_target
 Base class for conditional branches that jump to multiple addresses. More...
class  lestes::backend_v2::intercode::pi_bpi
 Base class for binary pseudoinstructions. More...
class  lestes::backend_v2::intercode::pi_tpi
 Base class for ternary pseudoinstructions. More...
class  lestes::backend_v2::intercode::pi_abstract_function_call
 Base class for function calls. More...
class  lestes::backend_v2::intercode::pi_bdtpi
 Base class for binary double-type pseudoinstructions. More...
class  lestes::backend_v2::intercode::pi_abstract_move
 Base class for load/store instructions. More...
class  lestes::backend_v2::intercode::pi_abstract_move_st
 Base class for load/store instructions with operands of the same type. More...
class  lestes::backend_v2::intercode::pi_abstract_move_dt
 Base class for load/store instructions with operands of the different types. More...
class  lestes::backend_v2::intercode::pi_indirect_store
 Base class for store-via-pointer instructions. More...
class  lestes::backend_v2::intercode::pi_indirect_load
 Base class for store-via-pointer instructions. More...
class  lestes::backend_v2::intercode::pi_bstpi
 Base class for binary single-type pseudoinstructions. More...
class  lestes::backend_v2::intercode::pi_tstpi
 Base class for ternary single-type pseudoinstructions. More...
class  lestes::backend_v2::intercode::pi_tdtpi
 Base class for ternary double-type pseudoinstructions. More...
class  lestes::backend_v2::intercode::pi_sp
 Sequence point. More...
class  lestes::backend_v2::intercode::pi_add
 Addition. More...
class  lestes::backend_v2::intercode::pi_sub
 Subtraction. More...
class  lestes::backend_v2::intercode::pi_mul
 Multiplication. More...
class  lestes::backend_v2::intercode::pi_div
 Division. More...
class  lestes::backend_v2::intercode::pi_divrni
 Division round towards negative infinity. More...
class  lestes::backend_v2::intercode::pi_divrpi
 Division round towards positive infinity. More...
class  lestes::backend_v2::intercode::pi_divrz
 Division round towards zero. More...
class  lestes::backend_v2::intercode::pi_mod
 Modulo. More...
class  lestes::backend_v2::intercode::pi_rem
 Reminder. More...
class  lestes::backend_v2::intercode::pi_neg
 Negation. More...
class  lestes::backend_v2::intercode::pi_gat
 Gation. More...
class  lestes::backend_v2::intercode::pi_shl
 Left shift. More...
class  lestes::backend_v2::intercode::pi_shr
 Right shift. More...
class  lestes::backend_v2::intercode::pi_sal
 Left arithmetic shift. More...
class  lestes::backend_v2::intercode::pi_sar
 Right arithmetic shift. More...
class  lestes::backend_v2::intercode::pi_band
 Bitwise AND. More...
class  lestes::backend_v2::intercode::pi_bor
 Bitwise OR. More...
class  lestes::backend_v2::intercode::pi_bxor
 Bitwise XOR. More...
class  lestes::backend_v2::intercode::pi_bnot
 Bitwise NOT. More...
class  lestes::backend_v2::intercode::pi_land
 Logical AND. More...
class  lestes::backend_v2::intercode::pi_lor
 Logical OR. More...
class  lestes::backend_v2::intercode::pi_lxor
 Logical XOR. More...
class  lestes::backend_v2::intercode::pi_lnot
 Logical NOT. More...
class  lestes::backend_v2::intercode::pi_cvt
 Conversion. More...
class  lestes::backend_v2::intercode::pi_cmp
 Comparison. More...
class  lestes::backend_v2::intercode::pi_mov
 Move/Assignment. More...
class  lestes::backend_v2::intercode::pi_ld
 Load. More...
class  lestes::backend_v2::intercode::pi_lda
 Load address. More...
class  lestes::backend_v2::intercode::pi_ldi
 Load immediate. More...
class  lestes::backend_v2::intercode::pi_ldp
 Load via pointer. More...
class  lestes::backend_v2::intercode::pi_ldv
 Load volatile. More...
class  lestes::backend_v2::intercode::pi_ldpv
 Load volatile via pointer. More...
class  lestes::backend_v2::intercode::pi_st
 Store. More...
class  lestes::backend_v2::intercode::pi_sti
 Store immediate. More...
class  lestes::backend_v2::intercode::pi_stp
 Store via pointer. More...
class  lestes::backend_v2::intercode::pi_stv
 Store volatile. More...
class  lestes::backend_v2::intercode::pi_stiv
 Store immediate volatile. More...
class  lestes::backend_v2::intercode::pi_stpv
 Store volatile via pointer. More...
class  lestes::backend_v2::intercode::pi_call
 Function call. More...
class  lestes::backend_v2::intercode::pi_icall
 Indirect function call. More...
class  lestes::backend_v2::intercode::pi_callv
 Function call that returns void. More...
class  lestes::backend_v2::intercode::pi_icallv
 Indirect function call that returns void. More...
class  lestes::backend_v2::intercode::pi_ba
 Branch always (jump). More...
class  lestes::backend_v2::intercode::pi_bn
 Branch never (nop). More...
class  lestes::backend_v2::intercode::pi_bt
 Branch if boolean value is true. More...
class  lestes::backend_v2::intercode::pi_bf
 Branch if boolean value is false. More...
class  lestes::backend_v2::intercode::pi_bm
 Branch multiple (switch jump). More...
class  lestes::backend_v2::intercode::pi_bg
 Branch if greater. More...
class  lestes::backend_v2::intercode::pi_bl
 Branch if less. More...
class  lestes::backend_v2::intercode::pi_be
 Branch if equal. More...
class  lestes::backend_v2::intercode::pi_bng
 Branch if not greater. More...
class  lestes::backend_v2::intercode::pi_bnl
 Branch if not less. More...
class  lestes::backend_v2::intercode::pi_bne
 Branch if not equal. More...
class  lestes::backend_v2::intercode::pi_iba
 Indirect branch always (jump). More...
class  lestes::backend_v2::intercode::pi_ibn
 Indirect branch never (nop). More...
class  lestes::backend_v2::intercode::pi_ibm
 Indirect branch multiple (switch jump). More...
class  lestes::backend_v2::intercode::pi_ibg
 Indirect branch if greater. More...
class  lestes::backend_v2::intercode::pi_ibl
 Indirect branch if less. More...
class  lestes::backend_v2::intercode::pi_ibe
 Indirect branch if equal. More...
class  lestes::backend_v2::intercode::pi_ibng
 Indirect branch if not greater. More...
class  lestes::backend_v2::intercode::pi_ibnl
 Indirect branch if not less. More...
class  lestes::backend_v2::intercode::pi_ibne
 Indirect branch if not equal. More...
class  lestes::backend_v2::intercode::pi_leave
 Jump to function's epilogue. More...
class  lestes::backend_v2::intercode::pi_sbg
 Set if greater. More...
class  lestes::backend_v2::intercode::pi_sbl
 Set if less. More...
class  lestes::backend_v2::intercode::pi_sbe
 Set if equal. More...
class  lestes::backend_v2::intercode::pi_sbng
 Set if not greater. More...
class  lestes::backend_v2::intercode::pi_sbnl
 Set if not less. More...
class  lestes::backend_v2::intercode::pi_sbne
 Set if not equal. More...
class  lestes::backend_v2::intercode::pi_operand
 Base class for pseudoinstruction operand hierarchy. More...
class  lestes::backend_v2::intercode::pi_non_mem
 Base class for non memory operands. More...
class  lestes::backend_v2::intercode::pi_preg
 Pseudoregister. More...
class  lestes::backend_v2::intercode::pi_lit
 Literal. More...
class  lestes::backend_v2::intercode::pi_mem
 Base class for memory operands. More...
class  lestes::backend_v2::intercode::pi_mem_decl
 Global memory operand. More...
class  lestes::backend_v2::intercode::pi_mem_lit
 Memory where literal is stored. More...
class  lestes::backend_v2::intercode::pi_mem_member
 Class for member access. More...
class  lestes::backend_v2::intercode::pi_mem_stack
 Stack memory operand. More...
class  lestes::backend_v2::intercode::pi_mem_preg
 Wrapper class for pseudoregister to look like memory. More...
class  lestes::backend_v2::intercode::pi_mem_temp
 Temporary operand. More...
class  lestes::backend_v2::intercode::pi_mem_ptr_deref
 Memory accessed through pointer. More...

Functions

 lestes::std::specialize_objectize_for_enum (::lestes::backend_v2::intercode::pi_operand::kind_type)


Detailed Description

Classes of pi-level pseudoinstructions used in backend.

Author:
jaz

Generated on Mon Feb 12 18:28:17 2007 for lestes by doxygen 1.5.1-20070107