VN_EXPR Module Reference

#include <opt_vn_expr.h>

Inheritance diagram for VN_EXPR:

Inheritance graph
[legend]
Collaboration diagram for VN_EXPR:

Collaboration graph
[legend]

Public Types

enum  PHI_TAG { PHI_TAG_UNKNOWN }
enum  KIND {
  LITERAL, UNARY, BINARY, TERNARY,
  INTR_OP, PHI, LDA_ADDR, ARRAY_ADDR,
  MEMLOC
}
typedef VN_EXPRPTR
typedef const VN_EXPRCONST_PTR

Public Member Functions

virtual void free ()=0
virtual KIND get_kind () const =0
virtual UINT32 get_num_opnds () const =0
virtual VN_VALNUM get_opnd (UINT i=0) const
virtual BOOL has_top_opnd () const =0
virtual BOOL has_bottom_opnd () const =0
virtual OPCODE get_opc () const
virtual INTRINSIC get_intr_opc () const
virtual PHI_TAG get_phi_tag () const
virtual IDTYPE get_block_id () const
virtual const TCONget_tcon () const
virtual INT32 get_lda_cr_id () const
virtual INT32 get_num_dims () const
virtual WN_ESIZE get_esize () const
virtual MTYPE get_dsctype () const
virtual VN_VALNUM get_bytesize () const
virtual VN_VALNUM get_offset () const
virtual VN_VALNUM get_base_addr () const
virtual VN_VALNUM get_vsym (UINT i=0) const
virtual void set_opnd (UINT32 i, VN_VALNUM vn)
virtual void set_opnd_vsym (UINT32 i, VN_VALNUM vn)
virtual PTR simplify (VN *v)=0
virtual size_t hash ()=0
virtual BOOL is_equal_to (CONST_PTR expr) const =0
virtual void print (FILE *fp=stderr) const =0

Static Public Member Functions

static void Init_Free_Lists (MEM_POOL *mpool=Malloc_Mem_Pool)
static void Reclaim_Free_Lists ()
static PTR Create_Literal (const TCON &tcon)
static PTR Create_Unary (OPCODE opc, const VN_VALNUM &vn1)
static PTR Create_Binary (OPCODE opc, const VN_VALNUM &vn1, const VN_VALNUM &vn2)
static PTR Create_Ternary (OPCODE opc, const VN_VALNUM &vn1, const VN_VALNUM &vn2, const VN_VALNUM &vn3)
static PTR Create_Intr_Op (INTRINSIC intr_opc, UINT32 num_opnds)
static PTR Create_Phi (UINT32 num_opnds, IDTYPE block_id, PHI_TAG phi_tag=PHI_TAG_UNKNOWN)
static PTR Create_Lda_Addr (INT32 lda_cr_id)
static PTR Create_Array_Addr (WN_ESIZE esize, INT32 num_dims)
static PTR Create_Memloc (MTYPE dsctype, const VN_VALNUM &bytesize, const VN_VALNUM &offset, const VN_VALNUM &base_addr, const VN_VALNUM &vsym_valnum)

Static Protected Attributes

static MEM_POOL_Mpool = NULL

Detailed Description

Definition at line 258 of file opt_vn_expr.h.


Member Typedef Documentation

Definition at line 262 of file opt_vn_expr.h.

typedef const VN_EXPR* VN_EXPR::CONST_PTR

Definition at line 263 of file opt_vn_expr.h.


Member Enumeration Documentation

Enumerator:
PHI_TAG_UNKNOWN 

Definition at line 275 of file opt_vn_expr.h.

Enumerator:
LITERAL 
UNARY 
BINARY 
TERNARY 
INTR_OP 
PHI 
LDA_ADDR 
ARRAY_ADDR 
MEMLOC 

Definition at line 279 of file opt_vn_expr.h.


Member Function/Subroutine Documentation

void VN_EXPR::Init_Free_Lists ( MEM_POOL mpool = Malloc_Mem_Pool  )  [static]

void VN_EXPR::Reclaim_Free_Lists (  )  [static]

VN_EXPR::PTR VN_EXPR::Create_Literal ( const TCON tcon  )  [static]

VN_EXPR::PTR VN_EXPR::Create_Unary ( OPCODE  opc,
const VN_VALNUM vn1 
) [static]

VN_EXPR::PTR VN_EXPR::Create_Binary ( OPCODE  opc,
const VN_VALNUM vn1,
const VN_VALNUM vn2 
) [static]

VN_EXPR::PTR VN_EXPR::Create_Ternary ( OPCODE  opc,
const VN_VALNUM vn1,
const VN_VALNUM vn2,
const VN_VALNUM vn3 
) [static]

Definition at line 411 of file opt_vn_expr.cxx.

References VN_TERNARY_EXPR::Create().

Referenced by VN::_valnum_op().

VN_EXPR::PTR VN_EXPR::Create_Intr_Op ( INTRINSIC  intr_opc,
UINT32  num_opnds 
) [static]

Definition at line 421 of file opt_vn_expr.cxx.

References VN_INTR_OP_EXPR::Create().

Referenced by VN::_valnum_op().

VN_EXPR::PTR VN_EXPR::Create_Phi ( UINT32  num_opnds,
IDTYPE  block_id,
PHI_TAG  phi_tag = PHI_TAG_UNKNOWN 
) [static]

Definition at line 428 of file opt_vn_expr.cxx.

References VN_PHI_EXPR::Create().

Referenced by VN::_valnum_phi_list().

VN_EXPR::PTR VN_EXPR::Create_Lda_Addr ( INT32  lda_cr_id  )  [static]

Definition at line 437 of file opt_vn_expr.cxx.

References VN_LDA_ADDR_EXPR::Create().

Referenced by VN::_valnum_expr().

VN_EXPR::PTR VN_EXPR::Create_Array_Addr ( WN_ESIZE  esize,
INT32  num_dims 
) [static]

Definition at line 444 of file opt_vn_expr.cxx.

References VN_ARRAY_ADDR_EXPR::Create().

Referenced by VN::_valnum_op().

VN_EXPR::PTR VN_EXPR::Create_Memloc ( MTYPE  dsctype,
const VN_VALNUM bytesize,
const VN_VALNUM offset,
const VN_VALNUM base_addr,
const VN_VALNUM vsym_valnum 
) [static]

virtual void VN_EXPR::free (  )  [pure virtual]

virtual KIND VN_EXPR::get_kind (  )  const [pure virtual]

virtual UINT32 VN_EXPR::get_num_opnds (  )  const [pure virtual]

VN_VALNUM VN_EXPR::get_opnd ( UINT  i = 0  )  const [virtual]

virtual BOOL VN_EXPR::has_top_opnd (  )  const [pure virtual]

virtual BOOL VN_EXPR::has_bottom_opnd (  )  const [pure virtual]

OPCODE VN_EXPR::get_opc (  )  const [virtual]

INTRINSIC VN_EXPR::get_intr_opc (  )  const [virtual]

Reimplemented in VN_INTR_OP_EXPR.

Definition at line 485 of file opt_vn_expr.cxx.

References INTRINSIC_INVALID, and Unimplemented().

Referenced by VN_INTR_OP_EXPR::is_equal_to().

VN_EXPR::PHI_TAG VN_EXPR::get_phi_tag (  )  const [virtual]

Reimplemented in VN_PHI_EXPR.

Definition at line 492 of file opt_vn_expr.cxx.

References PHI_TAG_UNKNOWN, and Unimplemented().

Referenced by VN_PHI_EXPR::is_equal_to().

IDTYPE VN_EXPR::get_block_id (  )  const [virtual]

Reimplemented in VN_PHI_EXPR.

Definition at line 499 of file opt_vn_expr.cxx.

References Unimplemented().

Referenced by VN_PHI_EXPR::is_equal_to().

const TCON & VN_EXPR::get_tcon (  )  const [virtual]

INT32 VN_EXPR::get_lda_cr_id (  )  const [virtual]

Definition at line 525 of file opt_vn_expr.cxx.

References Unimplemented().

Referenced by VN_LDA_ADDR_EXPR::is_equal_to().

INT32 VN_EXPR::get_num_dims (  )  const [virtual]

Reimplemented in VN_ARRAY_ADDR_EXPR.

Definition at line 532 of file opt_vn_expr.cxx.

References Unimplemented().

WN_ESIZE VN_EXPR::get_esize (  )  const [virtual]

Reimplemented in VN_ARRAY_ADDR_EXPR.

Definition at line 539 of file opt_vn_expr.cxx.

References Unimplemented().

Referenced by VN_ARRAY_ADDR_EXPR::is_equal_to().

MTYPE VN_EXPR::get_dsctype (  )  const [virtual]

Reimplemented in VN_MEMLOC_EXPR.

Definition at line 546 of file opt_vn_expr.cxx.

References MTYPE_UNKNOWN, and Unimplemented().

Referenced by VALNUM_FRE::_disabled_expr(), and VN_MEMLOC_EXPR::is_equal_to().

VN_VALNUM VN_EXPR::get_bytesize (  )  const [virtual]

Reimplemented in VN_MEMLOC_EXPR.

Definition at line 553 of file opt_vn_expr.cxx.

References VN_VALNUM::Bottom(), and Unimplemented().

Referenced by VALNUM_FRE::_select_for_valnum_list(), and VN_MEMLOC_EXPR::is_equal_to().

VN_VALNUM VN_EXPR::get_offset (  )  const [virtual]

Reimplemented in VN_MEMLOC_EXPR.

Definition at line 560 of file opt_vn_expr.cxx.

References VN_VALNUM::Bottom(), and Unimplemented().

Referenced by VALNUM_FRE::_select_for_valnum_list(), and VN_MEMLOC_EXPR::is_equal_to().

VN_VALNUM VN_EXPR::get_base_addr (  )  const [virtual]

Reimplemented in VN_MEMLOC_EXPR.

Definition at line 567 of file opt_vn_expr.cxx.

References VN_VALNUM::Bottom(), and Unimplemented().

Referenced by VALNUM_FRE::_select_for_valnum_list(), and VN_MEMLOC_EXPR::is_equal_to().

VN_VALNUM VN_EXPR::get_vsym ( UINT  i = 0  )  const [virtual]

void VN_EXPR::set_opnd ( UINT32  i,
VN_VALNUM  vn 
) [virtual]

void VN_EXPR::set_opnd_vsym ( UINT32  i,
VN_VALNUM  vn 
) [virtual]

Reimplemented in VN_INTR_OP_EXPR.

Definition at line 519 of file opt_vn_expr.cxx.

References Unimplemented().

Referenced by VN::_valnum_op().

virtual PTR VN_EXPR::simplify ( VN v  )  [pure virtual]

virtual size_t VN_EXPR::hash (  )  [pure virtual]

virtual BOOL VN_EXPR::is_equal_to ( CONST_PTR  expr  )  const [pure virtual]

virtual void VN_EXPR::print ( FILE fp = stderr  )  const [pure virtual]


Field Documentation

MEM_POOL * VN_EXPR::_Mpool = NULL [static, protected]


The documentation for this module was generated from the following files:

Generated on Wed Apr 8 17:13:14 2009 for Open64 by  doxygen 1.5.6