osprey-gcc-4.2.0/gcc/tree-ssa-operands.h File Reference

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

Go to the source code of this file.

Data Types

type  def_optype_d
type  use_optype_d
type  maydef_optype_d
type  vuse_optype_d
type  mustdef_optype_d
type  stmt_operands_d
type  ssa_operand_iterator_d

Defines

#define NULL_USE_OPERAND_P   NULL
#define NULL_DEF_OPERAND_P   NULL
#define SSA_OPERAND_MEMORY_SIZE   (2048 - sizeof (void *))
#define USE_FROM_PTR(PTR)   get_use_from_ptr (PTR)
#define DEF_FROM_PTR(PTR)   get_def_from_ptr (PTR)
#define SET_USE(USE, V)   set_ssa_use_from_ptr (USE, V)
#define SET_DEF(DEF, V)   ((*(DEF)) = (V))
#define USE_STMT(USE)   (USE)->stmt
#define DEF_OPS(STMT)   (stmt_ann (STMT)->operands.def_ops)
#define USE_OPS(STMT)   (stmt_ann (STMT)->operands.use_ops)
#define VUSE_OPS(STMT)   (stmt_ann (STMT)->operands.vuse_ops)
#define MAYDEF_OPS(STMT)   (stmt_ann (STMT)->operands.maydef_ops)
#define MUSTDEF_OPS(STMT)   (stmt_ann (STMT)->operands.mustdef_ops)
#define USE_OP_PTR(OP)   (&((OP)->use_ptr))
#define USE_OP(OP)   (USE_FROM_PTR (USE_OP_PTR (OP)))
#define DEF_OP_PTR(OP)   ((OP)->def_ptr)
#define DEF_OP(OP)   (DEF_FROM_PTR (DEF_OP_PTR (OP)))
#define VUSE_OP_PTR(OP)   USE_OP_PTR(OP)
#define VUSE_OP(OP)   ((OP)->use_var)
#define MAYDEF_RESULT_PTR(OP)   (&((OP)->def_var))
#define MAYDEF_RESULT(OP)   ((OP)->def_var)
#define MAYDEF_OP_PTR(OP)   USE_OP_PTR (OP)
#define MAYDEF_OP(OP)   ((OP)->use_var)
#define MUSTDEF_RESULT_PTR(OP)   (&((OP)->def_var))
#define MUSTDEF_RESULT(OP)   ((OP)->def_var)
#define MUSTDEF_KILL_PTR(OP)   USE_OP_PTR (OP)
#define MUSTDEF_KILL(OP)   ((OP)->kill_var)
#define PHI_RESULT_PTR(PHI)   get_phi_result_ptr (PHI)
#define PHI_RESULT(PHI)   DEF_FROM_PTR (PHI_RESULT_PTR (PHI))
#define SET_PHI_RESULT(PHI, V)   SET_DEF (PHI_RESULT_PTR (PHI), (V))
#define PHI_ARG_DEF_PTR(PHI, I)   get_phi_arg_def_ptr ((PHI), (I))
#define PHI_ARG_DEF(PHI, I)   USE_FROM_PTR (PHI_ARG_DEF_PTR ((PHI), (I)))
#define SET_PHI_ARG_DEF(PHI, I, V)   SET_USE (PHI_ARG_DEF_PTR ((PHI), (I)), (V))
#define PHI_ARG_DEF_FROM_EDGE(PHI, E)   PHI_ARG_DEF ((PHI), (E)->dest_idx)
#define PHI_ARG_DEF_PTR_FROM_EDGE(PHI, E)   PHI_ARG_DEF_PTR ((PHI), (E)->dest_idx)
#define PHI_ARG_INDEX_FROM_USE(USE)   phi_arg_index_from_use (USE)
#define SSA_OP_USE   0x01
#define SSA_OP_DEF   0x02
#define SSA_OP_VUSE   0x04
#define SSA_OP_VMAYUSE   0x08
#define SSA_OP_VMAYDEF   0x10
#define SSA_OP_VMUSTDEF   0x20
#define SSA_OP_VMUSTKILL   0x40
#define SSA_OP_VIRTUAL_USES   (SSA_OP_VUSE | SSA_OP_VMAYUSE)
#define SSA_OP_VIRTUAL_DEFS   (SSA_OP_VMAYDEF | SSA_OP_VMUSTDEF)
#define SSA_OP_VIRTUAL_KILLS   (SSA_OP_VMUSTKILL)
#define SSA_OP_ALL_VIRTUALS
#define SSA_OP_ALL_USES   (SSA_OP_VIRTUAL_USES | SSA_OP_USE)
#define SSA_OP_ALL_DEFS   (SSA_OP_VIRTUAL_DEFS | SSA_OP_DEF)
#define SSA_OP_ALL_KILLS   (SSA_OP_VIRTUAL_KILLS)
#define SSA_OP_ALL_OPERANDS
#define FOR_EACH_SSA_TREE_OPERAND(TREEVAR, STMT, ITER, FLAGS)
#define FOR_EACH_SSA_USE_OPERAND(USEVAR, STMT, ITER, FLAGS)
#define FOR_EACH_SSA_DEF_OPERAND(DEFVAR, STMT, ITER, FLAGS)
#define FOR_EACH_SSA_MAYDEF_OPERAND(DEFVAR, USEVAR, STMT, ITER)
#define FOR_EACH_SSA_MUSTDEF_OPERAND(DEFVAR, KILLVAR, STMT, ITER)
#define FOR_EACH_SSA_MUST_AND_MAY_DEF_OPERAND(DEFVAR, KILLVAR, STMT, ITER)
#define FOR_EACH_PHI_ARG(USEVAR, STMT, ITER, FLAGS)
#define FOR_EACH_PHI_OR_STMT_USE(USEVAR, STMT, ITER, FLAGS)
#define FOR_EACH_PHI_OR_STMT_DEF(DEFVAR, STMT, ITER, FLAGS)
#define SINGLE_SSA_TREE_OPERAND(STMT, FLAGS)   single_ssa_tree_operand (STMT, FLAGS)
#define SINGLE_SSA_USE_OPERAND(STMT, FLAGS)   single_ssa_use_operand (STMT, FLAGS)
#define SINGLE_SSA_DEF_OPERAND(STMT, FLAGS)   single_ssa_def_operand (STMT, FLAGS)
#define ZERO_SSA_OPERANDS(STMT, FLAGS)   zero_ssa_operands (STMT, FLAGS)
#define NUM_SSA_OPERANDS(STMT, FLAGS)   num_ssa_operands (STMT, FLAGS)

Typedefs

typedef treedef_operand_p
typedef ssa_use_operand_tuse_operand_p
typedef struct def_optype_ddef_optype_p
typedef struct use_optype_duse_optype_p
typedef struct maydef_optype_dmaydef_optype_p
typedef struct vuse_optype_dvuse_optype_p
typedef struct mustdef_optype_dmustdef_optype_p
typedef struct stmt_operands_dstmt_operands_p
typedef struct
ssa_operand_iterator_d 
ssa_op_iter

Enumerations

enum  ssa_op_iter_type {
  ssa_op_iter_none = 0, ssa_op_iter_tree, ssa_op_iter_use, ssa_op_iter_def,
  ssa_op_iter_maymustdef
}

Functions/Subroutines

struct ssa_operand_memory_d GTY ((chain_next("%h.next")))
void init_ssa_operands (void)
void fini_ssa_operands (void)
void free_ssa_operands (stmt_operands_p)
void update_stmt_operands (tree)
bool verify_imm_links (FILE *f, tree var)
void copy_virtual_operands (tree, tree)
void create_ssa_artficial_load_stmt (tree, tree)
void dump_immediate_uses (FILE *file)
void dump_immediate_uses_for (FILE *file, tree var)
void debug_immediate_uses (void)
void debug_immediate_uses_for (tree var)
bool ssa_operands_active (void)
void add_to_addressable_set (tree, bitmap *)


Define Documentation

#define DEF_FROM_PTR ( PTR   )     get_def_from_ptr (PTR)

Definition at line 108 of file tree-ssa-operands.h.

#define DEF_OP ( OP   )     (DEF_FROM_PTR (DEF_OP_PTR (OP)))

Definition at line 124 of file tree-ssa-operands.h.

#define DEF_OP_PTR ( OP   )     ((OP)->def_ptr)

Definition at line 123 of file tree-ssa-operands.h.

#define DEF_OPS ( STMT   )     (stmt_ann (STMT)->operands.def_ops)

Definition at line 114 of file tree-ssa-operands.h.

#define FOR_EACH_PHI_ARG ( USEVAR,
STMT,
ITER,
FLAGS   ) 

#define FOR_EACH_PHI_OR_STMT_DEF ( DEFVAR,
STMT,
ITER,
FLAGS   ) 

Value:

for ((DEFVAR) = (TREE_CODE (STMT) == PHI_NODE     \
       ? op_iter_init_phidef (&(ITER), STMT, FLAGS) \
       : op_iter_init_def (&(ITER), STMT, FLAGS));  \
       !op_iter_done (&(ITER));         \
       (DEFVAR) = op_iter_next_def (&(ITER)))

Definition at line 290 of file tree-ssa-operands.h.

Referenced by vect_stmt_relevant_p().

#define FOR_EACH_PHI_OR_STMT_USE ( USEVAR,
STMT,
ITER,
FLAGS   ) 

Value:

for ((USEVAR) = (TREE_CODE (STMT) == PHI_NODE     \
       ? op_iter_init_phiuse (&(ITER), STMT, FLAGS) \
       : op_iter_init_use (&(ITER), STMT, FLAGS));  \
       !op_iter_done (&(ITER));         \
       (USEVAR) = op_iter_next_use (&(ITER)))

Definition at line 281 of file tree-ssa-operands.h.

Referenced by find_interesting_uses_stmt(), find_invariants_stmt(), and update_alias_info().

#define FOR_EACH_SSA_DEF_OPERAND ( DEFVAR,
STMT,
ITER,
FLAGS   ) 

Value:

for (DEFVAR = op_iter_init_def (&(ITER), STMT, FLAGS);  \
       !op_iter_done (&(ITER));         \
       DEFVAR = op_iter_next_def (&(ITER)))

Definition at line 241 of file tree-ssa-operands.h.

#define FOR_EACH_SSA_MAYDEF_OPERAND ( DEFVAR,
USEVAR,
STMT,
ITER   ) 

Value:

for (op_iter_init_maydef (&(ITER), STMT, &(USEVAR), &(DEFVAR)); \
       !op_iter_done (&(ITER));         \
       op_iter_next_maymustdef (&(USEVAR), &(DEFVAR), &(ITER)))

Definition at line 249 of file tree-ssa-operands.h.

#define FOR_EACH_SSA_MUST_AND_MAY_DEF_OPERAND ( DEFVAR,
KILLVAR,
STMT,
ITER   ) 

Value:

for (op_iter_init_must_and_may_def (&(ITER), STMT, &(KILLVAR), &(DEFVAR));\
       !op_iter_done (&(ITER));         \
       op_iter_next_maymustdef (&(KILLVAR), &(DEFVAR), &(ITER)))

Definition at line 265 of file tree-ssa-operands.h.

Referenced by dse_optimize_stmt().

#define FOR_EACH_SSA_MUSTDEF_OPERAND ( DEFVAR,
KILLVAR,
STMT,
ITER   ) 

Value:

for (op_iter_init_mustdef (&(ITER), STMT, &(KILLVAR), &(DEFVAR)); \
       !op_iter_done (&(ITER));         \
       op_iter_next_maymustdef (&(KILLVAR), &(DEFVAR), &(ITER)))

Definition at line 257 of file tree-ssa-operands.h.

#define FOR_EACH_SSA_TREE_OPERAND ( TREEVAR,
STMT,
ITER,
FLAGS   ) 

Value:

for (TREEVAR = op_iter_init_tree (&(ITER), STMT, FLAGS);  \
       !op_iter_done (&(ITER));         \
       TREEVAR = op_iter_next_tree (&(ITER)))

Definition at line 225 of file tree-ssa-operands.h.

#define FOR_EACH_SSA_USE_OPERAND ( USEVAR,
STMT,
ITER,
FLAGS   ) 

Value:

for (USEVAR = op_iter_init_use (&(ITER), STMT, FLAGS);  \
       !op_iter_done (&(ITER));         \
       USEVAR = op_iter_next_use (&(ITER)))

Definition at line 233 of file tree-ssa-operands.h.

#define MAYDEF_OP ( OP   )     ((OP)->use_var)

#define MAYDEF_OP_PTR ( OP   )     USE_OP_PTR (OP)

#define MAYDEF_OPS ( STMT   )     (stmt_ann (STMT)->operands.maydef_ops)

Definition at line 117 of file tree-ssa-operands.h.

Referenced by finalize_ssa_v_may_def_ops(), and op_iter_init().

#define MAYDEF_RESULT ( OP   )     ((OP)->def_var)

Definition at line 130 of file tree-ssa-operands.h.

Referenced by add_maydef_op(), and op_iter_next_tree().

#define MAYDEF_RESULT_PTR ( OP   )     (&((OP)->def_var))

Definition at line 129 of file tree-ssa-operands.h.

Referenced by op_iter_next_def(), and op_iter_next_maymustdef().

#define MUSTDEF_KILL ( OP   )     ((OP)->kill_var)

#define MUSTDEF_KILL_PTR ( OP   )     USE_OP_PTR (OP)

#define MUSTDEF_OPS ( STMT   )     (stmt_ann (STMT)->operands.mustdef_ops)

Definition at line 118 of file tree-ssa-operands.h.

Referenced by finalize_ssa_v_must_def_ops(), and op_iter_init().

#define MUSTDEF_RESULT ( OP   )     ((OP)->def_var)

Definition at line 135 of file tree-ssa-operands.h.

Referenced by add_mustdef_op(), and op_iter_next_tree().

#define MUSTDEF_RESULT_PTR ( OP   )     (&((OP)->def_var))

Definition at line 134 of file tree-ssa-operands.h.

Referenced by op_iter_next_def(), and op_iter_next_maymustdef().

#define NULL_DEF_OPERAND_P   NULL

#define NULL_USE_OPERAND_P   NULL

#define NUM_SSA_OPERANDS ( STMT,
FLAGS   )     num_ssa_operands (STMT, FLAGS)

#define PHI_ARG_DEF ( PHI,
 )     USE_FROM_PTR (PHI_ARG_DEF_PTR ((PHI), (I)))

Definition at line 144 of file tree-ssa-operands.h.

#define PHI_ARG_DEF_FROM_EDGE ( PHI,
 )     PHI_ARG_DEF ((PHI), (E)->dest_idx)

Definition at line 147 of file tree-ssa-operands.h.

#define PHI_ARG_DEF_PTR ( PHI,
 )     get_phi_arg_def_ptr ((PHI), (I))

Definition at line 143 of file tree-ssa-operands.h.

#define PHI_ARG_DEF_PTR_FROM_EDGE ( PHI,
 )     PHI_ARG_DEF_PTR ((PHI), (E)->dest_idx)

Definition at line 149 of file tree-ssa-operands.h.

#define PHI_ARG_INDEX_FROM_USE ( USE   )     phi_arg_index_from_use (USE)

#define PHI_RESULT ( PHI   )     DEF_FROM_PTR (PHI_RESULT_PTR (PHI))

Definition at line 140 of file tree-ssa-operands.h.

#define PHI_RESULT_PTR ( PHI   )     get_phi_result_ptr (PHI)

Definition at line 139 of file tree-ssa-operands.h.

#define SET_DEF ( DEF,
V   )     ((*(DEF)) = (V))

Definition at line 110 of file tree-ssa-operands.h.

#define SET_PHI_ARG_DEF ( PHI,
I,
V   )     SET_USE (PHI_ARG_DEF_PTR ((PHI), (I)), (V))

Definition at line 145 of file tree-ssa-operands.h.

#define SET_PHI_RESULT ( PHI,
V   )     SET_DEF (PHI_RESULT_PTR (PHI), (V))

Definition at line 141 of file tree-ssa-operands.h.

#define SET_USE ( USE,
V   )     set_ssa_use_from_ptr (USE, V)

Definition at line 109 of file tree-ssa-operands.h.

#define SINGLE_SSA_DEF_OPERAND ( STMT,
FLAGS   )     single_ssa_def_operand (STMT, FLAGS)

Definition at line 312 of file tree-ssa-operands.h.

Referenced by chain_of_csts_start(), and rewrite_trees().

#define SINGLE_SSA_TREE_OPERAND ( STMT,
FLAGS   )     single_ssa_tree_operand (STMT, FLAGS)

#define SINGLE_SSA_USE_OPERAND ( STMT,
FLAGS   )     single_ssa_use_operand (STMT, FLAGS)

Definition at line 306 of file tree-ssa-operands.h.

#define SSA_OP_ALL_DEFS   (SSA_OP_VIRTUAL_DEFS | SSA_OP_DEF)

Definition at line 217 of file tree-ssa-operands.h.

#define SSA_OP_ALL_KILLS   (SSA_OP_VIRTUAL_KILLS)

Definition at line 218 of file tree-ssa-operands.h.

#define SSA_OP_ALL_OPERANDS

Value:

Definition at line 219 of file tree-ssa-operands.h.

#define SSA_OP_ALL_USES   (SSA_OP_VIRTUAL_USES | SSA_OP_USE)

Definition at line 216 of file tree-ssa-operands.h.

#define SSA_OP_ALL_VIRTUALS

#define SSA_OP_DEF   0x02

Definition at line 203 of file tree-ssa-operands.h.

#define SSA_OP_USE   0x01

Definition at line 202 of file tree-ssa-operands.h.

#define SSA_OP_VIRTUAL_DEFS   (SSA_OP_VMAYDEF | SSA_OP_VMUSTDEF)

Definition at line 212 of file tree-ssa-operands.h.

#define SSA_OP_VIRTUAL_KILLS   (SSA_OP_VMUSTKILL)

Definition at line 213 of file tree-ssa-operands.h.

#define SSA_OP_VIRTUAL_USES   (SSA_OP_VUSE | SSA_OP_VMAYUSE)

Definition at line 211 of file tree-ssa-operands.h.

#define SSA_OP_VMAYDEF   0x10

Definition at line 206 of file tree-ssa-operands.h.

#define SSA_OP_VMAYUSE   0x08

Definition at line 205 of file tree-ssa-operands.h.

#define SSA_OP_VMUSTDEF   0x20

Definition at line 207 of file tree-ssa-operands.h.

#define SSA_OP_VMUSTKILL   0x40

#define SSA_OP_VUSE   0x04

Definition at line 204 of file tree-ssa-operands.h.

#define SSA_OPERAND_MEMORY_SIZE   (2048 - sizeof (void *))

Definition at line 83 of file tree-ssa-operands.h.

Referenced by init_ssa_operands(), and ssa_operand_alloc().

#define USE_FROM_PTR ( PTR   )     get_use_from_ptr (PTR)

Definition at line 107 of file tree-ssa-operands.h.

#define USE_OP ( OP   )     (USE_FROM_PTR (USE_OP_PTR (OP)))

Definition at line 121 of file tree-ssa-operands.h.

#define USE_OP_PTR ( OP   )     (&((OP)->use_ptr))

Definition at line 120 of file tree-ssa-operands.h.

#define USE_OPS ( STMT   )     (stmt_ann (STMT)->operands.use_ops)

Definition at line 115 of file tree-ssa-operands.h.

#define USE_STMT ( USE   )     (USE)->stmt

#define VUSE_OP ( OP   )     ((OP)->use_var)

Definition at line 127 of file tree-ssa-operands.h.

#define VUSE_OP_PTR ( OP   )     USE_OP_PTR(OP)

Definition at line 126 of file tree-ssa-operands.h.

#define VUSE_OPS ( STMT   )     (stmt_ann (STMT)->operands.vuse_ops)

Definition at line 116 of file tree-ssa-operands.h.

#define ZERO_SSA_OPERANDS ( STMT,
FLAGS   )     zero_ssa_operands (STMT, FLAGS)


Typedef Documentation

typedef tree* def_operand_p

Definition at line 28 of file tree-ssa-operands.h.

Definition at line 43 of file tree-ssa-operands.h.

Definition at line 61 of file tree-ssa-operands.h.

Definition at line 80 of file tree-ssa-operands.h.

Definition at line 105 of file tree-ssa-operands.h.

Definition at line 31 of file tree-ssa-operands.h.

Definition at line 51 of file tree-ssa-operands.h.

Definition at line 70 of file tree-ssa-operands.h.


Enumeration Type Documentation

Enumerator:
ssa_op_iter_none 
ssa_op_iter_tree 
ssa_op_iter_use 
ssa_op_iter_def 
ssa_op_iter_maymustdef 

Definition at line 172 of file tree-ssa-operands.h.


Function Documentation

void add_to_addressable_set ( tree  ,
bitmap  
)

void copy_virtual_operands ( tree  ,
tree   
)

void create_ssa_artficial_load_stmt ( tree  ,
tree   
)

void debug_immediate_uses ( void   ) 

Definition at line 623 of file tree-dfa.c.

References dump_immediate_uses().

void debug_immediate_uses_for ( tree  var  ) 

Definition at line 660 of file tree-dfa.c.

References dump_immediate_uses_for().

void dump_immediate_uses ( FILE file  ) 

void dump_immediate_uses_for ( FILE file,
tree  var 
)

void fini_ssa_operands ( void   ) 

void free_ssa_operands ( stmt_operands_p   ) 

Definition at line 2183 of file tree-ssa-operands.c.

struct ssa_operand_memory_d GTY ( (chain_next("%h.next"))   )  [read]

Definition at line 85 of file tree-ssa-operands.h.

void init_ssa_operands ( void   ) 

bool ssa_operands_active ( void   ) 

void update_stmt_operands ( tree   ) 

bool verify_imm_links ( FILE f,
tree  var 
)


Generated on Wed Apr 8 14:22:56 2009 for Open64 by  doxygen 1.5.6