GCC Middle and Back End API Reference
tree-ssanames.h File Reference

Go to the source code of this file.

Data Structures

struct  ptr_info_def
struct  range_info_def


enum  value_range_type { VR_UNDEFINED, VR_RANGE, VR_ANTI_RANGE, VR_VARYING }


void set_range_info (tree ssa, double_int min, double_int max)
enum value_range_type get_range_info (tree name, double_int *min, double_int *max)
void init_ssanames (struct function *, int)
void fini_ssanames (void)
void ssanames_print_statistics (void)
tree make_ssa_name_fn (struct function *, tree, gimple)
void release_ssa_name (tree)
bool get_ptr_info_alignment (struct ptr_info_def *, unsigned int *, unsigned int *)
void mark_ptr_info_alignment_unknown (struct ptr_info_def *)
void set_ptr_info_alignment (struct ptr_info_def *, unsigned int, unsigned int)
void adjust_ptr_info_misalignment (struct ptr_info_def *, unsigned int)
struct ptr_info_defget_ptr_info (tree)
tree copy_ssa_name_fn (struct function *, tree, gimple)
void duplicate_ssa_name_ptr_info (tree, struct ptr_info_def *)
tree duplicate_ssa_name_fn (struct function *, tree, gimple)
void duplicate_ssa_name_range_info (tree, struct range_info_def *)
void release_defs (gimple)
void replace_ssa_name_symbol (tree, tree)
static tree make_ssa_name ()
static tree copy_ssa_name ()
static tree duplicate_ssa_name ()
static tree make_temp_ssa_name ()

Enumeration Type Documentation

   Type of value ranges.  See value_range_d In tree-vrp.c for a
   description of these types.  

Function Documentation

void adjust_ptr_info_misalignment ( struct ptr_info_def pi,
unsigned int  increment 
   If pointer described by PI has known alignment, increase its known
   misalignment by INCREMENT modulo its current alignment.  

References make_ssa_name_fn().

static tree copy_ssa_name ( )
   Return an SSA_NAME node using the template SSA name NAME defined in
   statement STMT in function cfun.  

References cfun, get_identifier(), and make_ssa_name_fn().

Referenced by create_loop_fn(), trivially_conflicts_p(), vect_create_cond_for_alias_checks(), vect_create_epilog_for_reduction(), vect_get_vec_defs_for_stmt_copy(), and vect_permute_store_chain().

tree copy_ssa_name_fn ( struct function ,
tree  ,
static tree duplicate_ssa_name ( )
    Creates a duplicate of a SSA name NAME tobe defined by statement STMT
    in function cfun.  

Referenced by gimple_stringop_fixed_value(), and verify_loop_closed_ssa().

tree duplicate_ssa_name_fn ( struct function ,
tree  ,
void duplicate_ssa_name_ptr_info ( tree  ,
struct ptr_info_def  
void duplicate_ssa_name_range_info ( tree  ,
struct range_info_def  
void fini_ssanames ( void  )
   Finalize management of SSA_NAMEs.  

References ssa_name_nodes_created, and ssa_name_nodes_reused.

Referenced by execute_init_datastructures().

struct ptr_info_def* get_ptr_info ( tree  )
bool get_ptr_info_alignment ( struct ptr_info_def pi,
unsigned int *  alignp,
unsigned int *  misalignp 
   If the alignment of the pointer described by PI is known, return true and
   store the alignment and the deviation from it into *ALIGNP and *MISALIGNP
   respectively.  Otherwise return false.  

References ptr_info_def::align, and ptr_info_def::misalign.

Referenced by get_address_description(), and get_object_alignment().

enum value_range_type get_range_info ( tree  name,
double_int min,
double_int max 
   Gets the value range from SSA.  
void init_ssanames ( struct function ,
tree make_ssa_name_fn ( struct function ,
tree  ,
static tree make_temp_ssa_name ( )
   Return an anonymous SSA_NAME node for type TYPE defined in statement STMT
   in function cfun.  Arrange so that it uses NAME in dumps.  

Referenced by attempt_builtin_powi(), create_iv(), gimple_gen_one_value_profiler(), ncd_for_two_cands(), and powi_lookup_cost().

void mark_ptr_info_alignment_unknown ( struct ptr_info_def )
void release_defs ( gimple  )
void release_ssa_name ( tree  )
void replace_ssa_name_symbol ( tree  ,
void set_ptr_info_alignment ( struct ptr_info_def pi,
unsigned int  align,
unsigned int  misalign 
   Store the the power-of-two byte alignment and the deviation from that
   alignment of pointer described by PI to ALIOGN and MISALIGN

References mark_ptr_info_alignment_unknown(), ptr_info_def::pt, and pt_solution_reset().

void set_range_info ( tree  ssa,
double_int  min,
double_int  max 
   Sets the value range to SSA.  
void ssanames_print_statistics ( void  )
   Dump some simple statistics regarding the re-use of SSA_NAME nodes.