osprey-gcc-4.2.0/gcc/tree-ssa-ccp.c File Reference

#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
#include "flags.h"
#include "rtl.h"
#include "tm_p.h"
#include "ggc.h"
#include "basic-block.h"
#include "output.h"
#include "expr.h"
#include "function.h"
#include "diagnostic.h"
#include "timevar.h"
#include "tree-dump.h"
#include "tree-flow.h"
#include "tree-pass.h"
#include "tree-ssa-propagate.h"
#include "langhooks.h"
#include "target.h"
#include "toplev.h"

Include dependency graph for tree-ssa-ccp.c:

Go to the source code of this file.

Data Types

type  fold_stmt_r_data

Enumerations

enum  ccp_lattice_t {
  UNINITIALIZED = 0, UNDEFINED, UNKNOWN_VAL, CONSTANT,
  VARYING
}

Functions/Subroutines

static void dump_lattice_value (FILE *outf, const char *prefix, prop_value_t val)
void debug_lattice_value (prop_value_t val)
static bool ccp_decl_initial_min_invariant (tree t)
static prop_value_t get_default_value (tree var)
static prop_value_tget_value (tree var, bool may_use_default_p)
static bool set_lattice_value (tree var, prop_value_t new_val)
static ccp_lattice_t likely_value (tree stmt)
static void ccp_initialize (void)
static void ccp_finalize (void)
static void ccp_lattice_meet (prop_value_t *val1, prop_value_t *val2)
static enum ssa_prop_result ccp_visit_phi_node (tree phi)
static tree ccp_fold (tree stmt)
static tree fold_const_aggregate_ref (tree t)
static prop_value_t evaluate_stmt (tree stmt)
static enum ssa_prop_result visit_assignment (tree stmt, tree *output_p)
static enum ssa_prop_result visit_cond_stmt (tree stmt, edge *taken_edge_p)
static enum ssa_prop_result ccp_visit_stmt (tree stmt, edge *taken_edge_p, tree *output_p)
static void execute_ssa_ccp (bool store_ccp)
static unsigned int do_ssa_ccp (void)
static bool gate_ccp (void)
static unsigned int do_ssa_store_ccp (void)
static bool gate_store_ccp (void)
tree widen_bitfield (tree val, tree field, tree var)
static tree maybe_fold_offset_to_array_ref (tree base, tree offset, tree orig_type)
static tree maybe_fold_offset_to_component_ref (tree record_type, tree base, tree offset, tree orig_type, bool base_is_ptr)
static tree maybe_fold_stmt_indirect (tree expr, tree base, tree offset)
static tree maybe_fold_stmt_addition (tree expr)
static tree fold_stmt_r (tree *expr_p, int *walk_subtrees, void *data)
static bool get_maxval_strlen (tree arg, tree *length, bitmap visited, int type)
static tree ccp_fold_builtin (tree stmt, tree fn)
bool fold_stmt (tree *stmt_p)
bool fold_stmt_inplace (tree stmt)
static tree convert_to_gimple_builtin (block_stmt_iterator *si_p, tree expr)
static unsigned int execute_fold_all_builtins (void)

Variables

static prop_value_tconst_val
static bool do_store_ccp
struct tree_opt_pass pass_ccp
struct tree_opt_pass pass_store_ccp
struct tree_opt_pass pass_fold_builtins


Enumeration Type Documentation

Enumerator:
UNINITIALIZED 
UNDEFINED 
UNKNOWN_VAL 
CONSTANT 
VARYING 

Definition at line 216 of file tree-ssa-ccp.c.


Function Documentation

static bool ccp_decl_initial_min_invariant ( tree  t  )  [static]

static void ccp_finalize ( void   )  [static]

Definition at line 609 of file tree-ssa-ccp.c.

References free(), and substitute_and_fold().

static tree ccp_fold ( tree  stmt  )  [static]

static tree ccp_fold_builtin ( tree  stmt,
tree  fn 
) [static]

static void ccp_initialize ( void   )  [static]

static void ccp_lattice_meet ( prop_value_t val1,
prop_value_t val2 
) [static]

static enum ssa_prop_result ccp_visit_phi_node ( tree  phi  )  [static]

static enum ssa_prop_result ccp_visit_stmt ( tree  stmt,
edge taken_edge_p,
tree output_p 
) [static]

static tree convert_to_gimple_builtin ( block_stmt_iterator si_p,
tree  expr 
) [static]

void debug_lattice_value ( prop_value_t  val  ) 

Definition at line 270 of file tree-ssa-ccp.c.

References dump_lattice_value(), and fprintf().

static unsigned int do_ssa_ccp ( void   )  [static]

Definition at line 1405 of file tree-ssa-ccp.c.

References execute_ssa_ccp().

static unsigned int do_ssa_store_ccp ( void   )  [static]

Definition at line 1440 of file tree-ssa-ccp.c.

References execute_ssa_ccp().

static void dump_lattice_value ( FILE outf,
const char *  prefix,
prop_value_t  val 
) [static]

static prop_value_t evaluate_stmt ( tree  stmt  )  [static]

static unsigned int execute_fold_all_builtins ( void   )  [static]

static void execute_ssa_ccp ( bool  store_ccp  )  [static]

static tree fold_const_aggregate_ref ( tree  t  )  [static]

bool fold_stmt ( tree stmt_p  ) 

bool fold_stmt_inplace ( tree  stmt  ) 

static tree fold_stmt_r ( tree expr_p,
int *  walk_subtrees,
void data 
) [static]

static bool gate_ccp ( void   )  [static]

Definition at line 1413 of file tree-ssa-ccp.c.

static bool gate_store_ccp ( void   )  [static]

Definition at line 1448 of file tree-ssa-ccp.c.

static prop_value_t get_default_value ( tree  var  )  [static]

static bool get_maxval_strlen ( tree  arg,
tree length,
bitmap  visited,
int  type 
) [static]

static prop_value_t* get_value ( tree  var,
bool  may_use_default_p 
) [static]

static ccp_lattice_t likely_value ( tree  stmt  )  [static]

static tree maybe_fold_offset_to_array_ref ( tree  base,
tree  offset,
tree  orig_type 
) [static]

static tree maybe_fold_offset_to_component_ref ( tree  record_type,
tree  base,
tree  offset,
tree  orig_type,
bool  base_is_ptr 
) [static]

static tree maybe_fold_stmt_addition ( tree  expr  )  [static]

static tree maybe_fold_stmt_indirect ( tree  expr,
tree  base,
tree  offset 
) [static]

static bool set_lattice_value ( tree  var,
prop_value_t  new_val 
) [static]

static enum ssa_prop_result visit_assignment ( tree  stmt,
tree output_p 
) [static]

static enum ssa_prop_result visit_cond_stmt ( tree  stmt,
edge taken_edge_p 
) [static]

tree widen_bitfield ( tree  val,
tree  field,
tree  var 
)


Variable Documentation

bool do_store_ccp [static]

Initial value:

Definition at line 2615 of file tree-ssa-ccp.c.

Referenced by init_optimization_passes(), and init_tree_optimization_passes().


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