tree-flow.h File Reference

#include "bitmap.h"
#include "hard-reg-set.h"
#include "basic-block.h"
#include "hashtab.h"
#include "tree-gimple.h"
#include "tree-ssa-operands.h"
#include "cgraph.h"
#include "ipa-reference.h"
#include "tree-flow-inline.h"

Include dependency graph for tree-flow.h:

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

Go to the source code of this file.

Data Structures

struct  htab_iterator
struct  ptr_info_def
struct  tree_ann_common_d
struct  subvar
struct  var_ann_d
struct  function_ann_d
struct  immediate_use_iterator_d
struct  stmt_ann_d
union  tree_ann_d
struct  edge_prediction
struct  int_tree_map
struct  referenced_var_iterator
struct  safe_referenced_var_iterator
struct  block_stmt_iterator
struct  omp_region
struct  affine_iv
struct  tree_niter_desc
struct  affine_tree_combination
struct  mem_address
struct  fieldoff

Defines

#define _TREE_FLOW_H   1
#define FOR_EACH_HTAB_ELEMENT(HTAB, RESULT, TYPE, ITER)
#define FOR_EACH_IMM_USE_FAST(DEST, ITER, SSAVAR)
#define FOR_EACH_IMM_USE_STMT(STMT, ITER, SSAVAR)
#define BREAK_FROM_IMM_USE_STMT(ITER)
#define FOR_EACH_IMM_USE_ON_STMT(DEST, ITER)
#define FOR_EACH_REFERENCED_VAR(VAR, ITER)
#define FOR_EACH_REFERENCED_VAR_SAFE(VAR, VEC, ITER)
#define num_referenced_vars   htab_elements (referenced_vars)
#define referenced_var(i)   referenced_var_lookup (i)
#define num_ssa_names   (VEC_length (tree, ssa_names))
#define ssa_name(i)   (VEC_index (tree, ssa_names, (i)))
#define SCALE(x)
#define LABEL(x)   ((x) < 1024*10 ? 'b' : ((x) < 1024*1024*10 ? 'k' : 'M'))
#define PERCENT(x, y)   ((float)(x) * 100.0 / (float)(y))
#define PENDING_STMT(e)   ((e)->insns.t)
#define label_to_block(t)   (label_to_block_fn (cfun, t))
#define MAX_AFF_ELTS   8

Typedefs

typedef subvarsubvar_t
typedef immediate_use_iterator_d imm_use_iterator
typedef tree_ann_dtree_ann_t
typedef var_ann_dvar_ann_t
typedef function_ann_dfunction_ann_t
typedef stmt_ann_dstmt_ann_t
typedef tree_ann_common_dtree_ann_common_t
typedef bool(* walk_use_def_chains_fn )(tree, tree, void *)
typedef fieldoff fieldoff_s

Enumerations

enum  tree_ann_type { TREE_ANN_COMMON, VAR_ANN, FUNCTION_ANN, STMT_ANN }
enum  need_phi_state { NEED_PHI_STATE_UNKNOWN, NEED_PHI_STATE_NO, NEED_PHI_STATE_MAYBE }
enum  bsi_iterator_update {
  BSI_NEW_STMT, BSI_SAME_STMT, BSI_CHAIN_START, BSI_CHAIN_END,
  BSI_CONTINUE_LINKING
}
enum  ev_direction { EV_DIR_GROWS, EV_DIR_DECREASES, EV_DIR_UNKNOWN }
enum  move_pos { MOVE_IMPOSSIBLE, MOVE_PRESERVE_EXECUTION, MOVE_POSSIBLE }
enum  escape_type {
  NO_ESCAPE = 0, ESCAPE_STORED_IN_GLOBAL = 1 << 1, ESCAPE_TO_ASM = 1 << 2, ESCAPE_TO_CALL = 1 << 3,
  ESCAPE_BAD_CAST = 1 << 4, ESCAPE_TO_RETURN = 1 << 5, ESCAPE_TO_PURE_CONST = 1 << 6, ESCAPE_IS_GLOBAL = 1 << 7,
  ESCAPE_IS_PARM = 1 << 8, ESCAPE_UNKNOWN = 1 << 9
}

Functions

 VEC (tree, gc)*modified_noreturn_calls
static enum tree_ann_type ann_type (tree_ann_t)
static basic_block bb_for_stmt (tree)
void set_bb_for_stmt (tree, basic_block)
static bool noreturn_call_p (tree)
static void update_stmt (tree)
static bool stmt_modified_p (tree)
static int get_lineno (tree)
static const char * get_filename (tree)
static bool is_exec_stmt (tree)
static bool is_label_stmt (tree)
static bitmap addresses_taken (tree)
static tree phi_nodes (basic_block)
static void set_phi_nodes (basic_block, tree)
unsigned int int_tree_map_hash (const void *)
int int_tree_map_eq (const void *, const void *)
tree referenced_var_lookup (unsigned int)
static bool bsi_end_p (block_stmt_iterator)
static void bsi_next (block_stmt_iterator *)
static void bsi_prev (block_stmt_iterator *)
static tree bsi_stmt (block_stmt_iterator)
static tree * bsi_stmt_ptr (block_stmt_iterator)
void bsi_remove (block_stmt_iterator *, bool)
void bsi_move_before (block_stmt_iterator *, block_stmt_iterator *)
void bsi_move_after (block_stmt_iterator *, block_stmt_iterator *)
void bsi_move_to_bb_end (block_stmt_iterator *, basic_block)
void bsi_insert_before (block_stmt_iterator *, tree, enum bsi_iterator_update)
void bsi_insert_after (block_stmt_iterator *, tree, enum bsi_iterator_update)
void bsi_replace (const block_stmt_iterator *, tree, bool)
omp_regionnew_omp_region (basic_block, enum tree_code, struct omp_region *)
void free_omp_regions (void)
void delete_tree_cfg_annotations (void)
void disband_implicit_edges (void)
bool stmt_ends_bb_p (tree)
bool is_ctrl_stmt (tree)
bool is_ctrl_altering_stmt (tree)
bool computed_goto_p (tree)
bool simple_goto_p (tree)
basic_block single_noncomplex_succ (basic_block bb)
void tree_dump_bb (basic_block, FILE *, int)
void debug_tree_bb (basic_block)
basic_block debug_tree_bb_n (int)
void dump_tree_cfg (FILE *, int)
void debug_tree_cfg (int)
void dump_cfg_stats (FILE *)
void debug_cfg_stats (void)
void debug_loop_ir (void)
void print_loop_ir (FILE *)
void cleanup_dead_labels (void)
void group_case_labels (void)
tree first_stmt (basic_block)
tree last_stmt (basic_block)
tree * last_stmt_ptr (basic_block)
tree last_and_only_stmt (basic_block)
edge find_taken_edge (basic_block, tree)
basic_block label_to_block_fn (struct function *, tree)
void bsi_insert_on_edge (edge, tree)
basic_block bsi_insert_on_edge_immediate (edge, tree)
void bsi_commit_one_edge_insert (edge, basic_block *)
void bsi_commit_edge_inserts (void)
void notice_special_calls (tree)
void clear_special_calls (void)
void verify_stmts (void)
tree tree_block_label (basic_block)
void extract_true_false_edges_from_block (basic_block, edge *, edge *)
bool tree_duplicate_sese_region (edge, edge, basic_block *, unsigned, basic_block *)
void add_phi_args_after_copy_bb (basic_block)
void add_phi_args_after_copy (basic_block *, unsigned)
bool tree_purge_dead_eh_edges (basic_block)
bool tree_purge_all_dead_eh_edges (bitmap)
tree gimplify_val (block_stmt_iterator *, tree, tree)
tree gimplify_build1 (block_stmt_iterator *, enum tree_code, tree, tree)
tree gimplify_build2 (block_stmt_iterator *, enum tree_code, tree, tree, tree)
tree gimplify_build3 (block_stmt_iterator *, enum tree_code, tree, tree, tree, tree)
void init_empty_tree_cfg (void)
void fold_cond_expr_cond (void)
void replace_uses_by (tree, tree)
void start_recording_case_labels (void)
void end_recording_case_labels (void)
basic_block move_sese_region_to_fn (struct function *, basic_block, basic_block)
bool cleanup_tree_cfg (void)
void cleanup_tree_cfg_loop (void)
void dump_generic_bb (FILE *, basic_block, int, int)
void dump_dfa_stats (FILE *)
void debug_dfa_stats (void)
void debug_referenced_vars (void)
void dump_referenced_vars (FILE *)
void dump_variable (FILE *, tree)
void debug_variable (tree)
void dump_subvars_for (FILE *, tree)
void debug_subvars_for (tree)
tree get_virtual_var (tree)
void add_referenced_var (tree)
void mark_new_vars_to_rename (tree)
void find_new_referenced_vars (tree *)
tree make_rename_temp (tree, const char *)
void set_default_def (tree, tree)
tree default_def (tree)
tree default_def_fn (struct function *, tree)
void reserve_phi_args_for_new_edge (basic_block)
tree create_phi_node (tree, basic_block)
void add_phi_arg (tree, tree, edge)
void remove_phi_args (edge)
void remove_phi_node (tree, tree)
tree phi_reverse (tree)
void record_vars_into (tree, tree)
void record_vars (tree)
bool block_may_fallthru (tree)
void dump_may_aliases_for (FILE *, tree)
void debug_may_aliases_for (tree)
void dump_alias_info (FILE *)
void debug_alias_info (void)
void dump_points_to_info (FILE *)
void debug_points_to_info (void)
void dump_points_to_info_for (FILE *, tree)
void debug_points_to_info_for (tree)
bool may_be_aliased (tree)
bool is_aliased_with (tree, tree)
ptr_info_defget_ptr_info (tree)
void new_type_alias (tree, tree, tree)
void count_uses_and_derefs (tree, tree, unsigned *, unsigned *, bool *)
static tree get_subvar_at (tree, unsigned HOST_WIDE_INT)
static bool ref_contains_array_ref (tree)
static bool array_ref_contains_indirect_ref (tree)
tree get_ref_base_and_extent (tree, HOST_WIDE_INT *, HOST_WIDE_INT *, HOST_WIDE_INT *)
static bool var_can_have_subvars (tree)
static bool overlap_subvar (unsigned HOST_WIDE_INT, unsigned HOST_WIDE_INT, tree, bool *)
void init_tree_ssa (void)
edge ssa_redirect_edge (edge, basic_block)
void flush_pending_stmts (edge)
bool tree_ssa_useless_type_conversion (tree)
bool tree_ssa_useless_type_conversion_1 (tree, tree)
void verify_ssa (bool)
void delete_tree_ssa (void)
void register_new_def (tree, VEC(tree, heap)**)
void walk_use_def_chains (tree, walk_use_def_chains_fn, void *, bool)
bool stmt_references_memory_p (tree)
void update_ssa (unsigned)
void delete_update_ssa (void)
void register_new_name_mapping (tree, tree)
tree create_new_def_for (tree, tree, def_operand_p)
bool need_ssa_update_p (void)
bool name_registered_for_update_p (tree)
bitmap ssa_names_to_replace (void)
void release_ssa_name_after_update_ssa (tree name)
void compute_global_livein (bitmap, bitmap)
tree duplicate_ssa_name (tree, tree)
void mark_sym_for_renaming (tree)
void mark_set_for_renaming (bitmap)
tree get_current_def (tree)
void set_current_def (tree, tree)
bool fold_stmt (tree *)
bool fold_stmt_inplace (tree)
tree widen_bitfield (tree, tree, tree)
tree vrp_evaluate_conditional (tree, bool)
void simplify_stmt_using_ranges (tree)
void dump_dominator_optimization_stats (FILE *)
void debug_dominator_optimization_stats (void)
int loop_depth_of_name (tree)
void merge_alias_info (tree, tree)
void propagate_value (use_operand_p, tree)
void propagate_tree_value (tree *, tree)
void replace_exp (use_operand_p, tree)
bool may_propagate_copy (tree, tree)
bool may_propagate_copy_into_asm (tree)
void vectorize_loops (struct loops *)
bool vect_can_force_dr_alignment_p (tree, unsigned int)
tree get_vectype_for_scalar_type (tree)
bool empty_block_p (basic_block)
void tree_ssa_lim (struct loops *)
unsigned int tree_ssa_unswitch_loops (struct loops *)
unsigned int canonicalize_induction_variables (struct loops *)
unsigned int tree_unroll_loops_completely (struct loops *, bool)
unsigned int tree_ssa_prefetch_arrays (struct loops *)
unsigned int remove_empty_loops (struct loops *)
void tree_ssa_iv_optimize (struct loops *)
bool number_of_iterations_exit (struct loop *, edge, struct tree_niter_desc *niter, bool)
tree find_loop_niter (struct loop *, edge *)
tree loop_niter_by_eval (struct loop *, edge)
tree find_loop_niter_by_eval (struct loop *, edge *)
void estimate_numbers_of_iterations (struct loops *)
bool scev_probably_wraps_p (tree, tree, tree, struct loop *, bool)
bool convert_affine_scev (struct loop *, tree, tree *, tree *, tree, bool)
bool nowrap_type_p (tree)
enum ev_direction scev_direction (tree)
void free_numbers_of_iterations_estimates (struct loops *)
void free_numbers_of_iterations_estimates_loop (struct loop *)
void rewrite_into_loop_closed_ssa (bitmap, unsigned)
void verify_loop_closed_ssa (void)
void loop_commit_inserts (void)
bool for_each_index (tree *, bool(*)(tree, tree *, void *), void *)
void create_iv (tree, tree, tree, struct loop *, block_stmt_iterator *, bool, tree *, tree *)
void split_loop_exit_edge (edge)
unsigned force_expr_to_var_cost (tree)
basic_block bsi_insert_on_edge_immediate_loop (edge, tree)
void standard_iv_increment_position (struct loop *, block_stmt_iterator *, bool *)
basic_block ip_end_pos (struct loop *)
basic_block ip_normal_pos (struct loop *)
bool tree_duplicate_loop_to_header_edge (struct loop *, edge, struct loops *, unsigned int, sbitmap, edge, edge *, unsigned int *, int)
loop * tree_ssa_loop_version (struct loops *, struct loop *, tree, basic_block *)
tree expand_simple_operations (tree)
void substitute_in_loop_info (struct loop *, tree, tree)
edge single_dom_exit (struct loop *)
bool can_unroll_loop_p (struct loop *loop, unsigned factor, struct tree_niter_desc *niter)
void tree_unroll_loop (struct loops *, struct loop *, unsigned, edge, struct tree_niter_desc *)
bool contains_abnormal_ssa_name_p (tree)
bool potentially_threadable_block (basic_block)
void thread_across_edge (tree, edge, bool, VEC(tree, heap)**, tree(*)(tree))
enum move_pos movement_possibility (tree)
static bool is_call_clobbered (tree)
static void mark_call_clobbered (tree, unsigned int)
static void set_is_used (tree)
static bool unmodifiable_var_p (tree)
void make_eh_edges (tree)
bool tree_could_trap_p (tree)
bool tree_could_throw_p (tree)
bool tree_can_throw_internal (tree)
bool tree_can_throw_external (tree)
int lookup_stmt_eh_region (tree)
void add_stmt_to_eh_region (tree, int)
bool remove_stmt_from_eh_region (tree)
bool maybe_clean_or_replace_eh_stmt (tree, tree)
void add_to_value (tree, tree)
void debug_value_expressions (tree)
void print_value_expressions (FILE *, tree)
bool expressions_equal_p (tree, tree)
tree get_value_handle (tree)
hashval_t vn_compute (tree, hashval_t)
void sort_vuses (VEC(tree, gc)*)
tree vn_lookup_or_add (tree, tree)
tree vn_lookup_or_add_with_vuses (tree, VEC(tree, gc)*)
void vn_add (tree, tree)
void vn_add_with_vuses (tree, tree, VEC(tree, gc)*)
tree vn_lookup (tree, tree)
tree vn_lookup_with_vuses (tree, VEC(tree, gc)*)
void vn_init (void)
void vn_delete (void)
bool is_hidden_global_store (tree)
void insert_edge_copies (tree, basic_block)
void sra_insert_before (block_stmt_iterator *, tree)
void sra_insert_after (block_stmt_iterator *, tree)
void sra_init_cache (void)
bool sra_type_can_be_decomposed_p (tree)
void linear_transform_loops (struct loops *)
bool expr_invariant_in_loop_p (struct loop *, tree)
bool multiplier_allowed_in_address_p (HOST_WIDE_INT)
unsigned multiply_by_cost (HOST_WIDE_INT, enum machine_mode)
bool thread_through_all_blocks (void)
void register_jump_thread (edge, edge)
tree force_gimple_operand (tree, tree *, bool, tree)
tree force_gimple_operand_bsi (block_stmt_iterator *, tree, bool, tree)
bool find_what_p_points_to (tree)
void remove_unused_locals (void)
tree create_mem_ref (block_stmt_iterator *, tree, struct affine_tree_combination *)
rtx addr_for_mem_ref (struct mem_address *, bool)
void get_address_description (tree, struct mem_address *)
tree maybe_fold_tmr (tree)
 DEF_VEC_O (fieldoff_s)
 DEF_VEC_ALLOC_O (fieldoff_s, heap)
int push_fields_onto_fieldstack (tree, VEC(fieldoff_s, heap)**, HOST_WIDE_INT, bool *)
void sort_fieldstack (VEC(fieldoff_s, heap)*)
void init_alias_heapvars (void)
void delete_alias_heapvars (void)
void swap_tree_operands (tree, tree *, tree *)
void recalculate_used_alone (void)

Variables

bool in_ssa_p
static tree_ann_common_t tree_common_ann (tree)
static tree_ann_common_t get_tree_common_ann (tree)
static var_ann_t var_ann (tree)
static var_ann_t get_var_ann (tree)
static function_ann_t function_ann (tree)
static function_ann_t get_function_ann (tree)
static stmt_ann_t stmt_ann (tree)
static stmt_ann_t get_stmt_ann (tree)
htab_t referenced_vars
htab_t default_defs
tree global_var
bitmap call_clobbered_vars
bitmap addressable_vars
bool aliases_computed_p
static block_stmt_iterator bsi_start (basic_block)
static block_stmt_iterator bsi_last (basic_block)
static block_stmt_iterator bsi_after_labels (basic_block)
block_stmt_iterator bsi_for_stmt (tree)
omp_regionroot_omp_region
var_ann_t create_var_ann (tree)
function_ann_t create_function_ann (tree)
stmt_ann_t create_stmt_ann (tree)
tree_ann_common_t create_tree_common_ann (tree)
static subvar_t get_subvars_for_var (tree)
bool updating_used_alone


Define Documentation

#define _TREE_FLOW_H   1
 

Data and Control Flow Analysis for Trees.
   Copyright (C) 2001, 2003, 2004, 2005 Free Software Foundation, Inc.
   Contributed by Diego Novillo <dnovillo@redhat.com>

This file is part of GCC.

GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.

GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING.  If not, write to
the Free Software Foundation, 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.   

Definition at line 23 of file tree-flow.h.

#define BREAK_FROM_IMM_USE_STMT ITER   ) 
 

Value:

{                                                               \
     end_imm_use_stmt_traverse (&(ITER));                       \
     break;                                                     \
   }
Use this to terminate the FOR_EACH_IMM_USE_STMT loop early.  Failure to 
   do so will result in leaving a iterator marker node in the immediate
   use list, and nothing good will come from that.    

Definition at line 258 of file tree-flow.h.

#define FOR_EACH_HTAB_ELEMENT HTAB,
RESULT,
TYPE,
ITER   ) 
 

Value:

for (RESULT = (TYPE) first_htab_element (&(ITER), (HTAB)); \
        !end_htab_p (&(ITER)); \
        RESULT = (TYPE) next_htab_element (&(ITER)))
Iterate through the elements of hashtable HTAB, using htab_iterator ITER,
   storing each element in RESULT, which is of type TYPE.   

Definition at line 54 of file tree-flow.h.

#define FOR_EACH_IMM_USE_FAST DEST,
ITER,
SSAVAR   ) 
 

Value:

for ((DEST) = first_readonly_imm_use (&(ITER), (SSAVAR));       \
       !end_readonly_imm_use_p (&(ITER));                       \
       (DEST) = next_readonly_imm_use (&(ITER)))
Use this iterator when simply looking at stmts.  Adding, deleting or
   modifying stmts will cause this iterator to malfunction.   

Definition at line 243 of file tree-flow.h.

Referenced by add_ssa_edge(), all_immediate_uses_same_place(), dump_immediate_uses_for(), execute_cse_reciprocals_1(), if_convertible_phi_p(), lhs_of_dominating_assert(), nearest_common_dominator_of_uses(), pointer_used_p(), prepare_use_sites_for(), statement_sink_location(), and vect_stmt_relevant_p().

#define FOR_EACH_IMM_USE_ON_STMT DEST,
ITER   ) 
 

Value:

for ((DEST) = first_imm_use_on_stmt (&(ITER));          \
       !end_imm_use_on_stmt_p (&(ITER));                        \
       (DEST) = next_imm_use_on_stmt (&(ITER)))
Use this iterator in combination with FOR_EACH_IMM_USE_STMT to 
   get access to each occurrence of ssavar on the stmt returned by
   that iterator..  for instance:

     FOR_EACH_IMM_USE_STMT (stmt, iter, var)
       {
         FOR_EACH_IMM_USE_ON_STMT (use_p, iter)
	   {
	     SET_USE (use_p) = blah;
	   }
	 update_stmt (stmt);
       }							  

Definition at line 278 of file tree-flow.h.

Referenced by execute_cse_reciprocals_1(), propagate_rhs_into_lhs(), remove_range_assertions(), and replace_uses_by().

#define FOR_EACH_IMM_USE_STMT STMT,
ITER,
SSAVAR   ) 
 

Value:

for ((STMT) = first_imm_use_stmt (&(ITER), (SSAVAR));           \
       !end_imm_use_stmt_p (&(ITER));                           \
       (STMT) = next_imm_use_stmt (&(ITER)))
Use this iterator to visit each stmt which has a use of SSAVAR.   

Definition at line 250 of file tree-flow.h.

Referenced by execute_cse_reciprocals_1(), forward_propagate_addr_expr(), propagate_rhs_into_lhs(), remove_range_assertions(), and replace_uses_by().

#define FOR_EACH_REFERENCED_VAR VAR,
ITER   ) 
 

Value:

for ((VAR) = first_referenced_var (&(ITER)); \
       !end_referenced_vars_p (&(ITER)); \
       (VAR) = next_referenced_var (&(ITER)))
This macro loops over all the referenced vars, one at a time, putting the
   current var in VAR.  Note:  You are not allowed to add referenced variables
   to the hashtable while using this macro.  Doing so may cause it to behave
   erratically.   

Definition at line 397 of file tree-flow.h.

Referenced by add_virtual_phis(), compute_tag_properties(), delete_alias_info(), dump_alias_info(), dump_points_to_info(), dump_referenced_vars(), fill_referenced_var_vec(), find_candidates_for_sra(), init_alias_info(), init_transitive_clobber_worklist(), insert_phi_nodes(), mark_def_site_blocks(), recalculate_used_alone(), reset_cc_flags(), set_initial_properties(), setup_pointers_and_addressables(), suitable_for_tail_opt_p(), verify_call_clobbering(), and verify_flow_insensitive_alias_info().

#define FOR_EACH_REFERENCED_VAR_SAFE VAR,
VEC,
ITER   ) 
 

Value:

for ((ITER).i = 0, fill_referenced_var_vec (&(VEC)); \
       VEC_iterate (tree, (VEC), (ITER).i, (VAR)); \
       (ITER).i++)
This macro loops over all the referenced vars, one at a time, putting the
   current var in VAR.  You are allowed to add referenced variables during the
   execution of this macro, however, the macro will not iterate over them.  It
   requires a temporary vector of trees, VEC, whose lifetime is controlled by
   the caller.  The purpose of the vector is to temporarily store the
   referenced_variables hashtable so that adding referenced variables does not
   affect the hashtable.   

Definition at line 416 of file tree-flow.h.

Referenced by setup_pointers_and_addressables().

#define LABEL  )     ((x) < 1024*10 ? 'b' : ((x) < 1024*1024*10 ? 'k' : 'M'))
 

Definition at line 458 of file tree-flow.h.

Referenced by dump_cfg_stats(), and dump_dfa_stats().

#define label_to_block  )     (label_to_block_fn (cfun, t))
 

Definition at line 585 of file tree-flow.h.

Referenced by associate_equivalences_with_edges(), find_taken_edge_computed_goto(), find_taken_edge_switch_expr(), get_cases_for_edge(), main_block_label(), make_cond_expr_edges(), make_eh_edge(), make_goto_expr_edges(), make_switch_expr_edges(), mark_eh_edge(), record_edge_info(), tree_redirect_edge_and_branch(), tree_verify_flow_info(), update_eh_label(), and VEC().

#define MAX_AFF_ELTS   8
 

Affine combination of trees.  We keep track of at most MAX_AFF_ELTS elements
   to make things simpler; this is sufficient in most cases.   

Definition at line 961 of file tree-flow.h.

Referenced by aff_combination_add_elt(), and aff_combination_to_tree().

#define num_referenced_vars   htab_elements (referenced_vars)
 

Definition at line 428 of file tree-flow.h.

Referenced by dump_dfa_stats(), dump_referenced_vars(), mark_def_site_blocks(), and setup_pointers_and_addressables().

#define num_ssa_names   (VEC_length (tree, ssa_names))
 

Definition at line 434 of file tree-flow.h.

Referenced by add_new_name_mapping(), ccp_initialize(), compute_builtin_object_size(), compute_rvuse_and_antic_safe(), create_name_tags(), create_ssa_var_map(), dump_alias_info(), dump_all_value_ranges(), dump_copy_of(), dump_immediate_uses(), dump_replaceable_exprs(), dump_var_map(), execute_pre(), fini_copy_prop(), fini_pre(), free_temp_expr_table(), get_ssa_name_ann(), init_alias_info(), init_copy_prop(), init_object_sizes(), init_update_ssa(), insert_range_assertions(), make_ssa_name(), new_temp_expr_table(), rename_ssa_copies(), rewrite_into_loop_closed_ssa(), ssa_prop_init(), tree_dce_init(), tree_lower_complex(), tree_ssa_dominator_optimize(), tree_ssa_iv_optimize_init(), update_ssa(), va_list_counter_bump(), verify_flow_sensitive_alias_info(), verify_name_tags(), vrp_finalize(), and vrp_initialize().

#define PENDING_STMT  )     ((e)->insns.t)
 

Location to track pending stmt for edge insertion.   

Definition at line 558 of file tree-flow.h.

Referenced by analyze_edges_for_bb(), bsi_commit_one_edge_insert(), bsi_insert_on_edge(), bsi_insert_on_edge_immediate(), eliminate_tail_call(), flush_pending_stmts(), identica