GCC Middle and Back End API Reference
gimple.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  gimple_stmt_iterator_d
struct  gimple_statement_base
struct  gimple_statement_with_ops_base
struct  gimple_statement_with_ops
struct  gimple_statement_with_memory_ops_base
struct  gimple_statement_with_memory_ops
struct  gimple_statement_call
struct  gimple_statement_omp
struct  gimple_statement_bind
struct  gimple_statement_catch
struct  gimple_statement_eh_filter
struct  gimple_statement_eh_else
struct  gimple_statement_eh_mnt
struct  gimple_statement_phi
struct  gimple_statement_eh_ctrl
struct  gimple_statement_try
struct  gimple_statement_wce
struct  gimple_statement_asm
struct  gimple_statement_omp_critical
struct  gimple_omp_for_iter
struct  gimple_statement_omp_for
struct  gimple_statement_omp_parallel
struct  gimple_statement_omp_task
struct  gimple_statement_omp_sections
struct  gimple_statement_omp_continue
struct  gimple_statement_omp_single
struct  gimple_statement_omp_atomic_load
struct  gimple_statement_omp_atomic_store
struct  gimple_statement_transaction
struct  gimple_temp_hash_elt
struct  gimplify_hasher
struct  gimplify_ctx
struct  walk_stmt_info

Typedefs

typedef gimple gimple_seq_node
typedef vec< gimplegimple_vec
typedef bool(* gimple_predicate )(tree)
typedef int fallback_t
typedef struct gimple_temp_hash_elt elt_t
typedef tree(* walk_stmt_fn )(gimple_stmt_iterator *, bool *, struct walk_stmt_info *)

Enumerations

enum  ssa_mode { M_SSA = 0, M_NORMAL }
enum  gimple_code { LAST_AND_UNUSED_GIMPLE_CODE }
enum  gimple_rhs_class {
  GIMPLE_INVALID_RHS, GIMPLE_TERNARY_RHS, GIMPLE_BINARY_RHS, GIMPLE_UNARY_RHS,
  GIMPLE_SINGLE_RHS
}
enum  gf_mask {
  GF_ASM_INPUT = 1 << 0, GF_ASM_VOLATILE = 1 << 1, GF_CALL_FROM_THUNK = 1 << 0, GF_CALL_RETURN_SLOT_OPT = 1 << 1,
  GF_CALL_TAILCALL = 1 << 2, GF_CALL_VA_ARG_PACK = 1 << 3, GF_CALL_NOTHROW = 1 << 4, GF_CALL_ALLOCA_FOR_VAR = 1 << 5,
  GF_CALL_INTERNAL = 1 << 6, GF_OMP_PARALLEL_COMBINED = 1 << 0, GF_OMP_FOR_KIND_MASK = 3 << 0, GF_OMP_FOR_KIND_FOR = 0 << 0,
  GF_OMP_FOR_KIND_SIMD = 1 << 0, GF_OMP_RETURN_NOWAIT = 1 << 0, GF_OMP_SECTION_LAST = 1 << 0, GF_OMP_ATOMIC_NEED_VALUE = 1 << 0,
  GF_PREDICT_TAKEN = 1 << 15
}
enum  gimple_debug_subcode { GIMPLE_DEBUG_BIND = 0, GIMPLE_DEBUG_SOURCE_BIND = 1 }
enum  plf_mask { GF_PLF_1 = 1 << 0, GF_PLF_2 = 1 << 1 }
enum  gimple_try_flags { GIMPLE_TRY_CATCH = 1 << 0, GIMPLE_TRY_FINALLY = 1 << 1, GIMPLE_TRY_KIND = GIMPLE_TRY_CATCH | GIMPLE_TRY_FINALLY, GIMPLE_TRY_CATCH_IS_CLEANUP = 1 << 2 }
enum  gimple_statement_structure_enum { LAST_GSS_ENUM }
enum  fallback {
  fb_none = 0, fb_rvalue = 1, fb_lvalue = 2, fb_mayfail = 4,
  fb_either = fb_rvalue | fb_lvalue
}
enum  gimplify_status { GS_ERROR = -2, GS_UNHANDLED = -1, GS_OK = 0, GS_ALL_DONE = 1 }
enum  gsi_iterator_update { GSI_NEW_STMT, GSI_SAME_STMT, GSI_CONTINUE_LINKING }
enum  gimple_alloc_kind {
  gimple_alloc_kind_assign, gimple_alloc_kind_phi, gimple_alloc_kind_cond, gimple_alloc_kind_rest,
  gimple_alloc_kind_all
}

Functions

void gimple_check_failed (const_gimple, const char *, int,\const char *, enum gimple_code,\enum tree_code) ATTRIBUTE_NORETURN
void gt_ggc_mx (gimple gs)
void gt_pch_nx (gimple gs)
void gt_pch_nx (gimple gs, gt_pointer_operator op, void *cookie)
tree create_gimple_tmp (tree, enum ssa_mode=M_SSA)
gimple build_assign (enum tree_code, tree, int, enum ssa_mode=M_SSA)
gimple build_assign (enum tree_code, gimple, int, enum ssa_mode=M_SSA)
gimple build_assign (enum tree_code, tree, tree, enum ssa_mode=M_SSA)
gimple build_assign (enum tree_code, gimple, tree, enum ssa_mode=M_SSA)
gimple build_assign (enum tree_code, tree, gimple, enum ssa_mode=M_SSA)
gimple build_assign (enum tree_code, gimple, gimple, enum ssa_mode=M_SSA)
gimple build_type_cast (tree, tree, enum ssa_mode=M_SSA)
gimple build_type_cast (tree, gimple, enum ssa_mode=M_SSA)
gimple gimple_build_return (tree)
gimple gimple_build_assign_stat (tree, tree MEM_STAT_DECL)
void extract_ops_from_tree_1 (tree, enum tree_code *, tree *, tree *, tree *)
gimple gimple_build_assign_with_ops (enum tree_code, tree, tree, tree CXX_MEM_STAT_INFO)
gimple gimple_build_assign_with_ops (enum tree_code, tree, tree, tree, tree CXX_MEM_STAT_INFO)
gimple gimple_build_debug_bind_stat (tree, tree, gimple MEM_STAT_DECL)
gimple gimple_build_debug_source_bind_stat (tree, tree, gimple MEM_STAT_DECL)
gimple gimple_build_call_vec (tree, vec< tree >)
gimple gimple_build_call (tree, unsigned,...)
gimple gimple_build_call_valist (tree, unsigned, va_list)
gimple gimple_build_call_internal (enum internal_fn, unsigned,...)
gimple gimple_build_call_internal_vec (enum internal_fn, vec< tree >)
gimple gimple_build_call_from_tree (tree)
gimple gimplify_assign (tree, tree, gimple_seq *)
gimple gimple_build_cond (enum tree_code, tree, tree, tree, tree)
gimple gimple_build_label (tree label)
gimple gimple_build_goto (tree dest)
gimple gimple_build_nop (void)
gimple gimple_build_bind (tree, gimple_seq, tree)
gimple gimple_build_asm_vec (const char *, vec< tree, va_gc > *, vec< tree, va_gc > *, vec< tree, va_gc > *, vec< tree, va_gc > *)
gimple gimple_build_catch (tree, gimple_seq)
gimple gimple_build_eh_filter (tree, gimple_seq)
gimple gimple_build_eh_must_not_throw (tree)
gimple gimple_build_eh_else (gimple_seq, gimple_seq)
gimple_statement_trygimple_build_try (gimple_seq, gimple_seq, enum gimple_try_flags)
gimple gimple_build_wce (gimple_seq)
gimple gimple_build_resx (int)
gimple gimple_build_eh_dispatch (int)
gimple gimple_build_switch_nlabels (unsigned, tree, tree)
gimple gimple_build_switch (tree, tree, vec< tree >)
gimple gimple_build_omp_parallel (gimple_seq, tree, tree, tree)
gimple gimple_build_omp_task (gimple_seq, tree, tree, tree, tree, tree, tree)
gimple gimple_build_omp_for (gimple_seq, int, tree, size_t, gimple_seq)
gimple gimple_build_omp_critical (gimple_seq, tree)
gimple gimple_build_omp_section (gimple_seq)
gimple gimple_build_omp_continue (tree, tree)
gimple gimple_build_omp_master (gimple_seq)
gimple gimple_build_omp_return (bool)
gimple gimple_build_omp_ordered (gimple_seq)
gimple gimple_build_omp_sections (gimple_seq, tree)
gimple gimple_build_omp_sections_switch (void)
gimple gimple_build_omp_single (gimple_seq, tree)
gimple gimple_build_cdt (tree, tree)
gimple gimple_build_omp_atomic_load (tree, tree)
gimple gimple_build_omp_atomic_store (tree)
gimple gimple_build_transaction (gimple_seq, tree)
gimple gimple_build_predict (enum br_predictor, enum prediction)
enum
gimple_statement_structure_enum 
gss_for_assign (enum tree_code)
void sort_case_labels (vec< tree >)
void preprocess_case_label_vec_for_gimple (vec< tree >, tree, tree *)
void gimple_set_body (tree, gimple_seq)
gimple_seq gimple_body (tree)
bool gimple_has_body_p (tree)
gimple_seq gimple_seq_alloc (void)
void gimple_seq_free (gimple_seq)
void gimple_seq_add_seq (gimple_seq *, gimple_seq)
gimple_seq gimple_seq_copy (gimple_seq)
bool gimple_call_same_target_p (const_gimple, const_gimple)
int gimple_call_flags (const_gimple)
int gimple_call_return_flags (const_gimple)
int gimple_call_arg_flags (const_gimple, unsigned)
void gimple_call_reset_alias_info (gimple)
bool gimple_assign_copy_p (gimple)
bool gimple_assign_ssa_name_copy_p (gimple)
bool gimple_assign_unary_nop_p (gimple)
void gimple_set_bb (gimple, basic_block)
void gimple_assign_set_rhs_from_tree (gimple_stmt_iterator *, tree)
void gimple_assign_set_rhs_with_ops_1 (gimple_stmt_iterator *, enum tree_code, tree, tree, tree)
tree gimple_get_lhs (const_gimple)
void gimple_set_lhs (gimple, tree)
void gimple_replace_lhs (gimple, tree)
gimple gimple_copy (gimple)
void gimple_cond_get_ops_from_tree (tree, enum tree_code *, tree *, tree *)
gimple gimple_build_cond_from_tree (tree, tree, tree)
void gimple_cond_set_condition_from_tree (gimple, tree)
bool gimple_has_side_effects (const_gimple)
bool gimple_could_trap_p (gimple)
bool gimple_could_trap_p_1 (gimple, bool, bool)
bool gimple_assign_rhs_could_trap_p (gimple)
void gimple_regimplify_operands (gimple, gimple_stmt_iterator *)
bool empty_body_p (gimple_seq)
unsigned get_gimple_rhs_num_ops (enum tree_code)
gimple gimple_alloc_stat (enum gimple_code, unsigned MEM_STAT_DECL)
const char * gimple_decl_printable_name (tree, int)
tree gimple_get_virt_method_for_binfo (HOST_WIDE_INT, tree)
tree gimple_extract_devirt_binfo_from_cst (tree, tree)
bool is_gimple_reg (tree)
bool is_gimple_variable (tree)
bool is_gimple_id (tree)
bool is_gimple_min_lval (tree)
bool is_gimple_addressable (tree)
bool is_gimple_lvalue (tree)
bool is_gimple_address (const_tree)
bool is_gimple_invariant_address (const_tree)
bool is_gimple_ip_invariant_address (const_tree)
bool is_gimple_constant (const_tree)
bool is_gimple_min_invariant (const_tree)
bool is_gimple_ip_invariant (const_tree)
bool is_gimple_val (tree)
bool is_gimple_asm_val (tree)
bool is_gimple_mem_ref_addr (tree)
bool is_gimple_condexpr (tree)
bool is_gimple_call_addr (tree)
bool is_gimple_builtin_call (gimple stmt)
void recalculate_side_effects (tree)
bool gimple_compare_field_offset (tree, tree)
tree gimple_register_canonical_type (tree)
void print_gimple_types_stats (const char *)
void free_gimple_type_tables (void)
tree gimple_unsigned_type (tree)
tree gimple_signed_type (tree)
alias_set_type gimple_get_alias_set (tree)
void count_uses_and_derefs (tree, gimple, unsigned *, unsigned *, unsigned *)
bool walk_stmt_load_store_addr_ops (gimple, void *, bool(*)(gimple, tree, void *), bool(*)(gimple, tree, void *), bool(*)(gimple, tree, void *))
bool walk_stmt_load_store_ops (gimple, void *, bool(*)(gimple, tree, void *), bool(*)(gimple, tree, void *))
bool gimple_ior_addresses_taken (bitmap, gimple)
bool gimple_call_builtin_p (gimple, enum built_in_class)
bool gimple_asm_clobbers_memory_p (const_gimple)
tree create_tmp_var_raw (tree, const char *)
tree create_tmp_var_name (const char *)
tree create_tmp_var (tree, const char *)
tree create_tmp_reg (tree, const char *)
tree get_initialized_tmp_var (tree, gimple_seq *, gimple_seq *)
tree get_formal_tmp_var (tree, gimple_seq *)
void declare_vars (tree, gimple, bool)
void annotate_all_with_location (gimple_seq, location_t)
static bool is_gimple_sizepos ()
enum gimplify_status gimplify_expr (tree *, gimple_seq *, gimple_seq *, bool(*)(tree), fallback_t)
void gimplify_type_sizes (tree, gimple_seq *)
void gimplify_one_sizepos (tree *, gimple_seq *)
enum gimplify_status gimplify_self_mod_expr (tree *, gimple_seq *, gimple_seq *, bool, tree)
bool gimplify_stmt (tree *, gimple_seq *)
gimple gimplify_body (tree, bool)
void push_gimplify_context (struct gimplify_ctx *)
void pop_gimplify_context (gimple)
void gimplify_and_add (tree, gimple_seq *)
void gimple_add_tmp_var (tree)
gimple gimple_current_bind_expr (void)
vec< gimplegimple_bind_expr_stack (void)
tree voidify_wrapper_expr (tree, tree)
tree build_and_jump (tree *)
tree force_labels_r (tree *, int *, void *)
enum gimplify_status gimplify_va_arg_expr (tree *, gimple_seq *, gimple_seq *)
void omp_firstprivatize_variable (struct gimplify_omp_ctx *, tree)
tree gimple_boolify (tree)
gimple_predicate rhs_predicate_for (tree)
tree canonicalize_cond_expr_cond (tree)
tree omp_reduction_init (tree, tree)
void diagnose_tm_safe_errors (tree)
void compute_transaction_bits (void)
void lower_nested_functions (tree)
void insert_field_into_struct (tree, tree)
void gimplify_function_tree (tree)
tree gimple_assign_rhs_to_tree (gimple)
bool validate_gimple_arglist (const_gimple,...)
bool tree_ssa_useless_type_conversion (tree)
tree tree_ssa_strip_useless_type_conversions (tree)
bool useless_type_conversion_p (tree, tree)
bool types_compatible_p (tree, tree)
bool gimple_can_coalesce_p (tree, tree)
static gimple_seq_node gimple_seq_first ()
static gimple gimple_seq_first_stmt ()
static gimple_seq_node gimple_seq_last ()
static gimple gimple_seq_last_stmt ()
static void gimple_seq_set_last ()
static void gimple_seq_set_first ()
static bool gimple_seq_empty_p ()
void gimple_seq_add_stmt (gimple_seq *, gimple)
void gimple_seq_add_stmt_without_update (gimple_seq *, gimple)
static gimple_seq gimple_seq_alloc_with_stmt ()
static gimple_seq bb_seq ()
static gimple_seqbb_seq_addr ()
static void set_bb_seq ()
static enum gimple_code gimple_code ()
static enum
gimple_statement_structure_enum 
gss_for_code ()
static enum
gimple_statement_structure_enum 
gimple_statement_structure ()
static bool gimple_has_substatements ()
static basic_block gimple_bb ()
static tree gimple_block ()
static void gimple_set_block ()
static location_t gimple_location ()
static const location_tgimple_location_ptr ()
static void gimple_set_location ()
static bool gimple_has_location ()
static const char * gimple_filename ()
static int gimple_lineno ()
static bool gimple_seq_singleton_p ()
static bool gimple_no_warning_p ()
static void gimple_set_no_warning ()
static void gimple_set_visited ()
static bool gimple_visited_p ()
static void gimple_set_plf ()
static unsigned int gimple_plf ()
static void gimple_set_uid ()
static unsigned gimple_uid ()
static void gimple_init_singleton ()
static bool gimple_has_ops ()
static bool gimple_has_mem_ops ()
static struct use_optype_dgimple_use_ops ()
static void gimple_set_use_ops ()
static use_operand_p gimple_vuse_op ()
static def_operand_p gimple_vdef_op ()
static tree gimple_vuse ()
static tree gimple_vdef ()
static treegimple_vuse_ptr ()
static treegimple_vdef_ptr ()
static void gimple_set_vuse ()
static void gimple_set_vdef ()
static bool gimple_modified_p ()
static void gimple_set_modified ()
static enum tree_code gimple_expr_code ()
static void update_stmt ()
static void update_stmt_if_modified ()
static bool gimple_has_volatile_ops ()
static void gimple_set_has_volatile_ops ()
static bool block_in_transaction ()
static bool gimple_in_transaction ()
static bool gimple_references_memory_p ()
static unsigned gimple_omp_subcode ()
static void gimple_omp_set_subcode ()
static void gimple_omp_return_set_nowait ()
static bool gimple_omp_return_nowait_p ()
static bool gimple_omp_section_last_p ()
static void gimple_omp_section_set_last ()
static bool gimple_omp_parallel_combined_p ()
static void gimple_omp_parallel_set_combined_p ()
static bool gimple_omp_atomic_need_value_p ()
static void gimple_omp_atomic_set_need_value ()
static unsigned gimple_num_ops ()
static void gimple_set_num_ops ()
static treegimple_ops ()
static tree gimple_op ()
static treegimple_op_ptr ()
static void gimple_set_op ()
static bool is_gimple_assign ()
static enum gimple_rhs_class get_gimple_rhs_class ()
static tree gimple_assign_lhs ()
static treegimple_assign_lhs_ptr ()
static void gimple_assign_set_lhs ()
static tree gimple_assign_rhs1 ()
static treegimple_assign_rhs1_ptr ()
static void gimple_assign_set_rhs1 ()
static tree gimple_assign_rhs2 ()
static treegimple_assign_rhs2_ptr ()
static void gimple_assign_set_rhs2 ()
static tree gimple_assign_rhs3 ()
static treegimple_assign_rhs3_ptr ()
static void gimple_assign_set_rhs3 ()
static void gimple_assign_set_rhs_with_ops (gimple_stmt_iterator *gsi, enum tree_code code, tree op1, tree op2)
static void extract_ops_from_tree (tree expr, enum tree_code *code, tree *op0, tree *op1)
static bool gimple_assign_nontemporal_move_p ()
static void gimple_assign_set_nontemporal_move ()
static enum tree_code gimple_assign_rhs_code ()
static void gimple_assign_set_rhs_code ()
static enum gimple_rhs_class gimple_assign_rhs_class ()
static bool gimple_assign_single_p ()
static bool gimple_store_p ()
static bool gimple_assign_load_p ()
static bool gimple_assign_cast_p ()
static bool gimple_clobber_p ()
static bool is_gimple_call ()
static tree gimple_call_lhs ()
static treegimple_call_lhs_ptr ()
static void gimple_call_set_lhs ()
static bool gimple_call_internal_p ()
static enum internal_fn gimple_call_internal_fn ()
static tree gimple_call_fntype ()
static void gimple_call_set_fntype ()
static tree gimple_call_fn ()
static treegimple_call_fn_ptr ()
static void gimple_call_set_fn ()
static void gimple_call_set_fndecl ()
static void gimple_call_set_internal_fn ()
static tree gimple_call_addr_fndecl ()
static tree gimple_call_fndecl ()
static tree gimple_call_return_type ()
static tree gimple_call_chain ()
static treegimple_call_chain_ptr ()
static void gimple_call_set_chain ()
static unsigned gimple_call_num_args ()
static tree gimple_call_arg ()
static treegimple_call_arg_ptr ()
static void gimple_call_set_arg ()
static void gimple_call_set_tail ()
static bool gimple_call_tail_p ()
static void gimple_call_set_return_slot_opt ()
static bool gimple_call_return_slot_opt_p ()
static void gimple_call_set_from_thunk ()
static bool gimple_call_from_thunk_p ()
static void gimple_call_set_va_arg_pack ()
static bool gimple_call_va_arg_pack_p ()
static bool gimple_call_noreturn_p ()
static void gimple_call_set_nothrow ()
static bool gimple_call_nothrow_p ()
static void gimple_call_set_alloca_for_var ()
static bool gimple_call_alloca_for_var_p ()
static void gimple_call_copy_flags ()
static struct pt_solutiongimple_call_use_set ()
static struct pt_solutiongimple_call_clobber_set ()
static bool gimple_has_lhs ()
static enum tree_code gimple_cond_code ()
static void gimple_cond_set_code ()
static tree gimple_cond_lhs ()
static treegimple_cond_lhs_ptr ()
static void gimple_cond_set_lhs ()
static tree gimple_cond_rhs ()
static treegimple_cond_rhs_ptr ()
static void gimple_cond_set_rhs ()
static tree gimple_cond_true_label ()
static void gimple_cond_set_true_label ()
static void gimple_cond_set_false_label ()
static tree gimple_cond_false_label ()
static void gimple_cond_make_false ()
static void gimple_cond_make_true ()
static bool gimple_cond_true_p ()
static bool gimple_cond_false_p ()
static void gimple_cond_set_condition ()
static tree gimple_label_label ()
static void gimple_label_set_label ()
static tree gimple_goto_dest ()
static void gimple_goto_set_dest ()
static tree gimple_bind_vars ()
static void gimple_bind_set_vars ()
static void gimple_bind_append_vars ()
static gimple_seqgimple_bind_body_ptr ()
static gimple_seq gimple_bind_body ()
static void gimple_bind_set_body ()
static void gimple_bind_add_stmt ()
static void gimple_bind_add_seq ()
static tree gimple_bind_block ()
static void gimple_bind_set_block ()
static unsigned gimple_asm_ninputs ()
static unsigned gimple_asm_noutputs ()
static unsigned gimple_asm_nclobbers ()
static unsigned gimple_asm_nlabels ()
static tree gimple_asm_input_op ()
static treegimple_asm_input_op_ptr ()
static void gimple_asm_set_input_op ()
static tree gimple_asm_output_op ()
static treegimple_asm_output_op_ptr ()
static void gimple_asm_set_output_op ()
static tree gimple_asm_clobber_op ()
static void gimple_asm_set_clobber_op ()
static tree gimple_asm_label_op ()
static void gimple_asm_set_label_op ()
static const char * gimple_asm_string ()
static bool gimple_asm_volatile_p ()
static void gimple_asm_set_volatile ()
static void gimple_asm_set_input ()
static bool gimple_asm_input_p ()
static tree gimple_catch_types ()
static treegimple_catch_types_ptr ()
static gimple_seqgimple_catch_handler_ptr ()
static gimple_seq gimple_catch_handler ()
static void gimple_catch_set_types ()
static void gimple_catch_set_handler ()
static tree gimple_eh_filter_types ()
static treegimple_eh_filter_types_ptr ()
static gimple_seqgimple_eh_filter_failure_ptr ()
static gimple_seq gimple_eh_filter_failure ()
static void gimple_eh_filter_set_types ()
static void gimple_eh_filter_set_failure ()
static tree gimple_eh_must_not_throw_fndecl ()
static void gimple_eh_must_not_throw_set_fndecl ()
static gimple_seqgimple_eh_else_n_body_ptr ()
static gimple_seq gimple_eh_else_n_body ()
static gimple_seqgimple_eh_else_e_body_ptr ()
static gimple_seq gimple_eh_else_e_body ()
static void gimple_eh_else_set_n_body ()
static void gimple_eh_else_set_e_body ()
static enum gimple_try_flags gimple_try_kind ()
static void gimple_try_set_kind ()
static bool gimple_try_catch_is_cleanup ()
static gimple_seqgimple_try_eval_ptr ()
static gimple_seq gimple_try_eval ()
static gimple_seqgimple_try_cleanup_ptr ()
static gimple_seq gimple_try_cleanup ()
static void gimple_try_set_catch_is_cleanup ()
static void gimple_try_set_eval ()
static void gimple_try_set_cleanup ()
static gimple_seqgimple_wce_cleanup_ptr ()
static gimple_seq gimple_wce_cleanup ()
static void gimple_wce_set_cleanup ()
static bool gimple_wce_cleanup_eh_only ()
static void gimple_wce_set_cleanup_eh_only ()
static unsigned gimple_phi_capacity ()
static unsigned gimple_phi_num_args ()
static tree gimple_phi_result ()
static treegimple_phi_result_ptr ()
static void gimple_phi_set_result ()
static struct phi_arg_dgimple_phi_arg ()
static void gimple_phi_set_arg ()
static int gimple_resx_region ()
static void gimple_resx_set_region ()
static int gimple_eh_dispatch_region ()
static void gimple_eh_dispatch_set_region ()
static unsigned gimple_switch_num_labels ()
static void gimple_switch_set_num_labels ()
static tree gimple_switch_index ()
static treegimple_switch_index_ptr ()
static void gimple_switch_set_index ()
static tree gimple_switch_label ()
static void gimple_switch_set_label ()
static tree gimple_switch_default_label ()
static void gimple_switch_set_default_label ()
static bool is_gimple_debug ()
static bool gimple_debug_bind_p ()
static tree gimple_debug_bind_get_var ()
static tree gimple_debug_bind_get_value ()
static treegimple_debug_bind_get_value_ptr ()
static void gimple_debug_bind_set_var ()
static void gimple_debug_bind_set_value ()
static void gimple_debug_bind_reset_value ()
static bool gimple_debug_bind_has_value_p ()
static bool gimple_debug_source_bind_p ()
static tree gimple_debug_source_bind_get_var ()
static tree gimple_debug_source_bind_get_value ()
static treegimple_debug_source_bind_get_value_ptr ()
static void gimple_debug_source_bind_set_var ()
static void gimple_debug_source_bind_set_value ()
static gimple_seqgimple_omp_body_ptr ()
static gimple_seq gimple_omp_body ()
static void gimple_omp_set_body ()
static tree gimple_omp_critical_name ()
static treegimple_omp_critical_name_ptr ()
static void gimple_omp_critical_set_name ()
static int gimple_omp_for_kind ()
static void gimple_omp_for_set_kind ()
static tree gimple_omp_for_clauses ()
static treegimple_omp_for_clauses_ptr ()
static void gimple_omp_for_set_clauses ()
static size_t gimple_omp_for_collapse ()
static tree gimple_omp_for_index ()
static treegimple_omp_for_index_ptr ()
static void gimple_omp_for_set_index ()
static tree gimple_omp_for_initial ()
static treegimple_omp_for_initial_ptr ()
static void gimple_omp_for_set_initial ()
static tree gimple_omp_for_final ()
static treegimple_omp_for_final_ptr ()
static void gimple_omp_for_set_final ()
static tree gimple_omp_for_incr ()
static treegimple_omp_for_incr_ptr ()
static void gimple_omp_for_set_incr ()
static gimple_seqgimple_omp_for_pre_body_ptr ()
static gimple_seq gimple_omp_for_pre_body ()
static void gimple_omp_for_set_pre_body ()
static tree gimple_omp_parallel_clauses ()
static treegimple_omp_parallel_clauses_ptr ()
static void gimple_omp_parallel_set_clauses ()
static tree gimple_omp_parallel_child_fn ()
static treegimple_omp_parallel_child_fn_ptr ()
static void gimple_omp_parallel_set_child_fn ()
static tree gimple_omp_parallel_data_arg ()
static treegimple_omp_parallel_data_arg_ptr ()
static void gimple_omp_parallel_set_data_arg ()
static tree gimple_omp_task_clauses ()
static treegimple_omp_task_clauses_ptr ()
static void gimple_omp_task_set_clauses ()
static tree gimple_omp_task_child_fn ()
static treegimple_omp_task_child_fn_ptr ()
static void gimple_omp_task_set_child_fn ()
static tree gimple_omp_task_data_arg ()
static treegimple_omp_task_data_arg_ptr ()
static void gimple_omp_task_set_data_arg ()
static tree gimple_omp_taskreg_clauses ()
static treegimple_omp_taskreg_clauses_ptr ()
static void gimple_omp_taskreg_set_clauses ()
static tree gimple_omp_taskreg_child_fn ()
static treegimple_omp_taskreg_child_fn_ptr ()
static void gimple_omp_taskreg_set_child_fn ()
static tree gimple_omp_taskreg_data_arg ()
static treegimple_omp_taskreg_data_arg_ptr ()
static void gimple_omp_taskreg_set_data_arg ()
static tree gimple_omp_task_copy_fn ()
static treegimple_omp_task_copy_fn_ptr ()
static void gimple_omp_task_set_copy_fn ()
static tree gimple_omp_task_arg_size ()
static treegimple_omp_task_arg_size_ptr ()
static void gimple_omp_task_set_arg_size ()
static tree gimple_omp_task_arg_align ()
static treegimple_omp_task_arg_align_ptr ()
static void gimple_omp_task_set_arg_align ()
static tree gimple_omp_single_clauses ()
static treegimple_omp_single_clauses_ptr ()
static void gimple_omp_single_set_clauses ()
static tree gimple_omp_sections_clauses ()
static treegimple_omp_sections_clauses_ptr ()
static void gimple_omp_sections_set_clauses ()
static tree gimple_omp_sections_control ()
static treegimple_omp_sections_control_ptr ()
static void gimple_omp_sections_set_control ()
static void gimple_omp_for_set_cond ()
static enum tree_code gimple_omp_for_cond ()
static void gimple_omp_atomic_store_set_val ()
static tree gimple_omp_atomic_store_val ()
static treegimple_omp_atomic_store_val_ptr ()
static void gimple_omp_atomic_load_set_lhs ()
static tree gimple_omp_atomic_load_lhs ()
static treegimple_omp_atomic_load_lhs_ptr ()
static void gimple_omp_atomic_load_set_rhs ()
static tree gimple_omp_atomic_load_rhs ()
static treegimple_omp_atomic_load_rhs_ptr ()
static tree gimple_omp_continue_control_def ()
static treegimple_omp_continue_control_def_ptr ()
static void gimple_omp_continue_set_control_def ()
static tree gimple_omp_continue_control_use ()
static treegimple_omp_continue_control_use_ptr ()
static void gimple_omp_continue_set_control_use ()
static gimple_seqgimple_transaction_body_ptr ()
static gimple_seq gimple_transaction_body ()
static tree gimple_transaction_label ()
static treegimple_transaction_label_ptr ()
static unsigned int gimple_transaction_subcode ()
static void gimple_transaction_set_body ()
static void gimple_transaction_set_label ()
static void gimple_transaction_set_subcode ()
static treegimple_return_retval_ptr ()
static tree gimple_return_retval ()
static void gimple_return_set_retval ()
static bool is_gimple_omp ()
static bool gimple_nop_p ()
static bool is_gimple_resx ()
static enum br_predictor gimple_predict_predictor ()
static void gimple_predict_set_predictor ()
static enum prediction gimple_predict_outcome ()
static void gimple_predict_set_outcome ()
static tree gimple_expr_type ()
static bool is_gimple_reg_type ()
static gimple_stmt_iterator gsi_start_1 ()
static gimple_stmt_iterator gsi_none ()
static gimple_stmt_iterator gsi_start_bb ()
static gimple_stmt_iterator gsi_last_1 ()
static gimple_stmt_iterator gsi_last_bb ()
static bool gsi_end_p ()
static bool gsi_one_before_end_p ()
static void gsi_next ()
static void gsi_prev ()
static gimple gsi_stmt ()
static gimple_stmt_iterator gsi_after_labels ()
static void gsi_next_nondebug ()
static void gsi_prev_nondebug ()
static gimple_stmt_iterator gsi_start_nondebug_bb ()
static gimple_stmt_iterator gsi_last_nondebug_bb ()
static basic_block gsi_bb ()
static gimple_seq gsi_seq ()
gimple_stmt_iterator gsi_start_phis (basic_block)
gimple_seq gsi_split_seq_after (gimple_stmt_iterator)
void gsi_split_seq_before (gimple_stmt_iterator *, gimple_seq *)
void gsi_set_stmt (gimple_stmt_iterator *, gimple)
void gsi_replace (gimple_stmt_iterator *, gimple, bool)
void gsi_replace_with_seq (gimple_stmt_iterator *, gimple_seq, bool)
void gsi_insert_before (gimple_stmt_iterator *, gimple, enum gsi_iterator_update)
void gsi_insert_before_without_update (gimple_stmt_iterator *, gimple, enum gsi_iterator_update)
void gsi_insert_seq_before (gimple_stmt_iterator *, gimple_seq, enum gsi_iterator_update)
void gsi_insert_seq_before_without_update (gimple_stmt_iterator *, gimple_seq, enum gsi_iterator_update)
void gsi_insert_after (gimple_stmt_iterator *, gimple, enum gsi_iterator_update)
void gsi_insert_after_without_update (gimple_stmt_iterator *, gimple, enum gsi_iterator_update)
void gsi_insert_seq_after (gimple_stmt_iterator *, gimple_seq, enum gsi_iterator_update)
void gsi_insert_seq_after_without_update (gimple_stmt_iterator *, gimple_seq, enum gsi_iterator_update)
bool gsi_remove (gimple_stmt_iterator *, bool)
gimple_stmt_iterator gsi_for_stmt (gimple)
void gsi_move_after (gimple_stmt_iterator *, gimple_stmt_iterator *)
void gsi_move_before (gimple_stmt_iterator *, gimple_stmt_iterator *)
void gsi_move_to_bb_end (gimple_stmt_iterator *, basic_block)
void gsi_insert_on_edge (edge, gimple)
void gsi_insert_seq_on_edge (edge, gimple_seq)
basic_block gsi_insert_on_edge_immediate (edge, gimple)
basic_block gsi_insert_seq_on_edge_immediate (edge, gimple_seq)
void gsi_commit_one_edge_insert (edge, basic_block *)
void gsi_commit_edge_inserts (void)
gimple gimple_call_copy_skip_args (gimple, bitmap)
gimple walk_gimple_seq (gimple_seq, walk_stmt_fn, walk_tree_fn, struct walk_stmt_info *)
gimple walk_gimple_seq_mod (gimple_seq *, walk_stmt_fn, walk_tree_fn, struct walk_stmt_info *)
tree walk_gimple_stmt (gimple_stmt_iterator *, walk_stmt_fn, walk_tree_fn, struct walk_stmt_info *)
tree walk_gimple_op (gimple, walk_tree_fn, struct walk_stmt_info *)
static enum gimple_alloc_kind gimple_alloc_kind ()
void dump_gimple_statistics (void)
void gimplify_and_update_call_from_tree (gimple_stmt_iterator *, tree)
tree gimple_fold_builtin (gimple)
bool fold_stmt (gimple_stmt_iterator *)
bool fold_stmt_inplace (gimple_stmt_iterator *)
tree get_symbol_constant_value (tree)
tree canonicalize_constructor_val (tree, tree)
tree maybe_fold_and_comparisons (enum tree_code, tree, tree, enum tree_code, tree, tree)
tree maybe_fold_or_comparisons (enum tree_code, tree, tree, enum tree_code, tree, tree)
bool gimple_val_nonnegative_real_p (tree)
static void gimple_seq_set_location ()

Variables

const char *const gimple_code_name []
const unsigned char gimple_rhs_class_table []
size_t const gimple_ops_offset_ []
enum
gimple_statement_structure_enum
const 
gss_for_code_ []
gimple currently_expanding_gimple_stmt
int gimple_alloc_counts []
int gimple_alloc_sizes []

Typedef Documentation

typedef struct gimple_temp_hash_elt elt_t
Formal (expression) temporary table handling: multiple occurrences of
   the same scalar expression are evaluated into the same temporary.   
typedef int fallback_t
typedef bool(* gimple_predicate)(tree)
Validation of GIMPLE expressions.  Note that these predicates only check
   the basic form of the expression, they don't recurse to make sure that
   underlying nodes are also of the right form.   
typedef vec<gimple> gimple_vec
For each block, the PHI nodes that need to be rewritten are stored into
   these vectors.   
typedef tree(* walk_stmt_fn)(gimple_stmt_iterator *, bool *, struct walk_stmt_info *)
Callback for walk_gimple_stmt.  Called for every statement found
   during traversal.  The first argument points to the statement to
   walk.  The second argument is a flag that the callback sets to
   'true' if it the callback handled all the operands and
   sub-statements of the statement (the default value of this flag is
   'false').  The third argument is an anonymous pointer to data
   to be used by the callback.   

Enumeration Type Documentation

enum fallback
FIXME we should deduce this from the predicate.   
Enumerator:
fb_none 
fb_rvalue 
fb_lvalue 
fb_mayfail 
fb_either 
enum gf_mask
Specific flags for individual GIMPLE statements.  These flags are
   always stored in gimple_statement_base.subcode and they may only be
   defined for statement codes that do not use sub-codes.

   Values for the masks can overlap as long as the overlapping values
   are never used in the same statement class.

   The maximum mask value that can be defined is 1 << 15 (i.e., each
   statement code can hold up to 16 bitflags).

   Keep this list sorted.   
Enumerator:
GF_ASM_INPUT 
GF_ASM_VOLATILE 
GF_CALL_FROM_THUNK 
GF_CALL_RETURN_SLOT_OPT 
GF_CALL_TAILCALL 
GF_CALL_VA_ARG_PACK 
GF_CALL_NOTHROW 
GF_CALL_ALLOCA_FOR_VAR 
GF_CALL_INTERNAL 
GF_OMP_PARALLEL_COMBINED 
GF_OMP_FOR_KIND_MASK 
GF_OMP_FOR_KIND_FOR 
GF_OMP_FOR_KIND_SIMD 
GF_OMP_RETURN_NOWAIT 
GF_OMP_SECTION_LAST 
GF_OMP_ATOMIC_NEED_VALUE 
GF_PREDICT_TAKEN 
Enum and arrays used for allocation stats.  Keep in sync with
   gimple.c:gimple_alloc_kind_names.   
Enumerator:
gimple_alloc_kind_assign 
gimple_alloc_kind_phi 
gimple_alloc_kind_cond 
gimple_alloc_kind_rest 
gimple_alloc_kind_all 
Enumerator:
LAST_AND_UNUSED_GIMPLE_CODE 
Currently, there are only two types of gimple debug stmt.  Others are
   envisioned, for example, to enable the generation of is_stmt notes
   in line number information, to mark sequence points, etc.  This
   subcode is to be used to tell them apart.   
Enumerator:
GIMPLE_DEBUG_BIND 
GIMPLE_DEBUG_SOURCE_BIND 
Class of GIMPLE expressions suitable for the RHS of assignments.  See
   get_gimple_rhs_class.   
Enumerator:
GIMPLE_INVALID_RHS 
GIMPLE_TERNARY_RHS 
GIMPLE_BINARY_RHS 
GIMPLE_UNARY_RHS 
GIMPLE_SINGLE_RHS 
Enumerator:
LAST_GSS_ENUM 
Kind of GIMPLE_TRY statements.   
Enumerator:
GIMPLE_TRY_CATCH 
GIMPLE_TRY_FINALLY 
GIMPLE_TRY_KIND 
GIMPLE_TRY_CATCH_IS_CLEANUP 
Enumerator:
GS_ERROR 
GS_UNHANDLED 
GS_OK 
GS_ALL_DONE 
Enumerator:
GSI_NEW_STMT 
GSI_SAME_STMT 
GSI_CONTINUE_LINKING 
enum plf_mask
Masks for selecting a pass local flag (PLF) to work on.  These
   masks are used by gimple_set_plf and gimple_plf.   
Enumerator:
GF_PLF_1 
GF_PLF_2 
enum ssa_mode
Types of supported temporaries.  GIMPLE temporaries may be symbols
   in normal form (i.e., regular decls) or SSA names.  This enum is
   used by create_gimple_tmp to tell it what kind of temporary the
   caller wants.   
Enumerator:
M_SSA 
M_NORMAL 

Function Documentation

static gimple_seq bb_seq ( )
inlinestatic
static gimple_seq* bb_seq_addr ( )
inlinestatic
static bool block_in_transaction ( )
inlinestatic
Return true if BB is in a transaction.   

Referenced by execute_sm().

gimple build_assign ( enum  tree_code,
tree  ,
int  ,
enum  ssa_mode = M_SSA 
)
gimple build_assign ( enum  tree_code,
gimple  ,
int  ,
enum  ssa_mode = M_SSA 
)
gimple build_assign ( enum  tree_code,
tree  ,
tree  ,
enum  ssa_mode = M_SSA 
)
gimple build_assign ( enum  tree_code,
gimple  ,
tree  ,
enum  ssa_mode = M_SSA 
)
gimple build_assign ( enum  tree_code,
tree  ,
gimple  ,
enum  ssa_mode = M_SSA 
)
gimple build_assign ( enum  tree_code,
gimple  ,
gimple  ,
enum  ssa_mode = M_SSA 
)
gimple build_type_cast ( tree  ,
tree  ,
enum  ssa_mode = M_SSA 
)
gimple build_type_cast ( tree  ,
gimple  ,
enum  ssa_mode = M_SSA 
)
tree canonicalize_cond_expr_cond ( tree  )
tree canonicalize_constructor_val ( tree  ,
tree   
)
void compute_transaction_bits ( void  )
Set the IN_TRANSACTION for all gimple statements that appear in a
   transaction.   

References bitmap_obstack_release(), tm_region::entry_block, tm_region::exit_blocks, basic_block_def::flags, gate_tm_init(), get_tm_region_blocks(), tm_region::irr_blocks, tm_region::next, and queue.

Referenced by tree_ssa_lim_initialize().

void count_uses_and_derefs ( tree  ptr,
gimple  stmt,
unsigned *  num_uses_p,
unsigned *  num_loads_p,
unsigned *  num_stores_p 
)
Count the number of direct and indirect uses for pointer PTR in
   statement STMT.  The number of direct uses is stored in
   *NUM_USES_P.  Indirect references are counted separately depending
   on whether they are store or load operations.  The counts are
   stored in *NUM_STORES_P and *NUM_LOADS_P.   

References count, count_ptr_derefs(), walk_stmt_info::info, is_gimple_assign(), is_gimple_call(), memset(), count_ptr_d::num_loads, count_ptr_d::num_stores, count_ptr_d::ptr, and walk_gimple_op().

Referenced by infer_value_range().

tree create_gimple_tmp ( tree  ,
enum  ssa_mode = M_SSA 
)
In gimple.c.   
Helper functions to build GIMPLE statements.   
tree create_tmp_var ( tree  ,
const char *   
)

Referenced by build_stack_save_restore(), create_access_replacement(), create_call_for_reduction_1(), create_gimple_tmp(), create_one_component_var(), create_tmp_from_val(), create_tmp_reg(), create_vector_array(), create_zero_dim_array(), declare_return_variable(), expand_assign_tm(), expand_complex_div_wide(), expand_omp_atomic_pipeline(), expand_omp_for_generic(), expand_parallel_call(), extract_omp_for_data(), factor_computed_gotos(), fold_builtin_alloca_with_align(), gen_conditions_for_pow_int_base(), gen_emutls_addr(), gen_one_condition(), gimple_push_cleanup(), gimplify_cond_expr(), gimplify_function_tree(), gimplify_init_constructor(), gimplify_init_ctor_eval_range(), gimplify_modify_expr_to_memcpy(), gimplify_modify_expr_to_memset(), gimplify_omp_for(), gimplify_parameters(), gimplify_vla_decl(), graphite_create_new_loop(), initialize_reductions(), instrument_builtin_call(), ipa_tm_insert_gettmclone_call(), lower_eh_constructs_2(), lower_eh_dispatch(), lower_emutls_1(), lower_function_body(), lower_lastprivate_clauses(), lower_omp_sections(), lower_omp_single_copy(), lower_omp_single_simple(), lower_omp_taskreg(), lower_rec_input_clauses(), lower_rec_simd_input_clauses(), lower_resx(), lower_transaction(), lower_try_finally_switch(), make_blocks(), rename_uses(), separate_decls_in_region(), separate_decls_in_region_name(), set_prologue_iterations(), task_copyfn_copy_decl(), translate_clast_assignment(), update_alias_info_with_stack_vars(), update_call_from_tree(), vect_build_loop_niters(), vect_do_peeling_for_alignment(), vect_gen_niters_for_prolog_loop(), vect_generate_tmps_on_preheader(), vect_update_ivs_after_vectorizer(), vector_element(), and voidify_wrapper_expr().

void diagnose_tm_safe_errors ( tree  )
In trans-mem.c.   
void dump_gimple_statistics ( void  )
Print debugging information for gimple stmts generated.   

References gimple_alloc_counts, gimple_alloc_kind_all, and gimple_alloc_sizes.

Referenced by dump_memory_report().

bool empty_body_p ( gimple_seq  )
static void extract_ops_from_tree ( tree  expr,
enum tree_code code,
tree op0,
tree op1 
)
inlinestatic
A wrapper around extract_ops_from_tree_1, for callers which expect
   to see only a maximum of two operands.   

Referenced by derive_constant_upper_bound(), eliminate_redundant_comparison(), expr_expected_value(), gimple_cond_get_ops_from_tree(), interpret_expr(), split_constant_offset(), and vect_check_gather().

void extract_ops_from_tree_1 ( tree  expr,
enum tree_code subcode_p,
tree op1_p,
tree op2_p,
tree op3_p 
)
Extract the operands and code for expression EXPR into *SUBCODE_P,
   *OP1_P, *OP2_P and *OP3_P respectively.   

References get_gimple_rhs_class(), GIMPLE_BINARY_RHS, GIMPLE_SINGLE_RHS, GIMPLE_TERNARY_RHS, and GIMPLE_UNARY_RHS.

Referenced by defcodefor_name(), gimple_assign_set_rhs_from_tree(), and gimple_build_assign_stat().

bool fold_stmt ( gimple_stmt_iterator )
bool fold_stmt_inplace ( gimple_stmt_iterator )
tree force_labels_r ( tree ,
int *  ,
void *   
)
void free_gimple_type_tables ( void  )
Free the gimple type hashtables used for LTO type merging.   
static enum gimple_rhs_class get_gimple_rhs_class ( )
inlinestatic
unsigned get_gimple_rhs_num_ops ( enum  tree_code)
tree get_symbol_constant_value ( tree  )
static enum gimple_alloc_kind gimple_alloc_kind ( )
inlinestatic
Return the allocation kind for a given stmt CODE.   
gimple gimple_alloc_stat ( enum  gimple_code,
unsigned  MEM_STAT_DECL 
)
static tree gimple_asm_clobber_op ( )
inlinestatic
Return clobber operand INDEX of GIMPLE_ASM GS.   

Referenced by dump_gimple_asm(), expand_asm_stmt(), and gimple_asm_clobbers_memory_p().

bool gimple_asm_clobbers_memory_p ( const_gimple  )
static tree* gimple_asm_input_op_ptr ( )
inlinestatic
Return a pointer to input operand INDEX of GIMPLE_ASM GS.   
static bool gimple_asm_input_p ( )
inlinestatic
Return true if asm GS is an ASM_INPUT.   

Referenced by expand_asm_stmt(), and need_fake_edge_p().

static tree gimple_asm_label_op ( )
inlinestatic
static unsigned gimple_asm_nclobbers ( )
inlinestatic
Return the number of clobber operands for GIMPLE_ASM GS.   

Referenced by dump_gimple_asm(), expand_asm_stmt(), gimple_asm_clobbers_memory_p(), and output_gimple_stmt().

static unsigned gimple_asm_nlabels ( )
inlinestatic
static tree* gimple_asm_output_op_ptr ( )
inlinestatic
Return a pointer to output operand INDEX of GIMPLE_ASM GS.   
static void gimple_asm_set_clobber_op ( )
inlinestatic
Set CLOBBER_OP to be clobber operand INDEX in GIMPLE_ASM GS.   

Referenced by gimple_build_asm_vec().

static void gimple_asm_set_input ( )
inlinestatic
If INPUT_P is true, mark asm GS as an ASM_INPUT.   

Referenced by gimplify_asm_expr().

static void gimple_asm_set_input_op ( )
inlinestatic
Set IN_OP to be input operand INDEX in GIMPLE_ASM GS.   

Referenced by gimple_build_asm_vec().

static void gimple_asm_set_label_op ( )
inlinestatic
Set LABEL_OP to be label operand INDEX in GIMPLE_ASM GS.   

Referenced by gimple_build_asm_vec().

static void gimple_asm_set_output_op ( )
inlinestatic
Set OUT_OP to be output operand INDEX in GIMPLE_ASM GS.   

Referenced by gimple_build_asm_vec().

static void gimple_asm_set_volatile ( )
inlinestatic
If VOLATLE_P is true, mark asm statement GS as volatile.   

Referenced by gimplify_asm_expr().

static const char* gimple_asm_string ( )
inlinestatic
Return the string representing the assembly instruction in
   GIMPLE_ASM GS.   

Referenced by dump_gimple_asm(), estimate_num_insns(), expand_asm_stmt(), and output_gimple_stmt().

static bool gimple_asm_volatile_p ( )
inlinestatic
bool gimple_assign_copy_p ( gimple  )
static tree gimple_assign_lhs ( )
inlinestatic
Return the LHS of assignment statement GS.   

Referenced by abs_replacement(), add_field_for_reduction(), add_scope_conflicts_1(), adjust_bool_pattern(), adjust_bool_pattern_cast(), adjust_iv_update_pos(), aff_combination_expand(), analyze_candidates_and_replace(), analyze_increments(), and_var_with_comparison_1(), break_up_subtract_bb(), build_accesses_from_assign(), build_check_stmt(), build_ssa_conflict_graph(), ccp_fold_stmt(), check_all_va_list_escapes(), classify_partition(), close_phi_written_to_memory(), combinable_refs_p(), combine_conversions(), compute_complex_assign_jump_func(), cond_if_else_store_replacement_1(), cond_store_replacement(), constant_pointer_difference(), convert_local_reference_stmt(), convert_mult_to_fma(), convert_mult_to_widen(), convert_plusminus_to_widen(), copy_prop_visit_assignment(), copy_prop_visit_stmt(), create_loads_for_reductions(), create_outofssa_var_map(), create_phi_basis(), create_phi_for_local_result(), create_stores_for_reduction(), derive_constant_upper_bound_assign(), derive_constant_upper_bound_ops(), detect_commutative_reduction_assign(), determine_known_aggregate_parts(), dse_optimize_stmt(), dse_possible_dead_store_p(), dump_gimple_assign(), dump_unary_rhs(), eliminate(), eliminate_bb(), eliminate_redundant_computations(), eliminated_by_inlining_prob(), estimate_num_insns(), evaluate_stmt(), examine_assign_tm(), execute_fold_all_builtins(), execute_optimize_bswap(), execute_optimize_stdarg(), execute_update_addresses_taken(), exist_non_indexing_operands_for_use_p(), expand_assign_tm(), expand_complex_comparison(), expand_complex_libcall(), expand_complex_move(), expand_gimple_stmt_1(), expand_omp_atomic_fetch_op(), expand_omp_taskreg(), expand_vector_operations_1(), expr_expected_value_1(), extr_type_from_vtbl_ptr_store(), final_range_test_p(), find_associative_operation_root(), find_candidates_in_block(), find_func_aliases(), find_givs_in_stmt(), find_givs_in_stmt_scev(), find_looparound_phi(), find_replaceable_in_bb(), find_return_bb(), find_use_stmt(), fold_assignment_stmt(), fold_gimple_assign(), fold_stmt_1(), forward_propagate_addr_expr(), forward_propagate_addr_expr_1(), forward_propagate_comparison(), forward_propagate_into_comparison(), gather_memory_references(), gen_inbound_check(), get_initial_def_for_induction(), get_lhs_or_phi_result(), get_mem_ref_of_assignment(), get_prop_dest_stmt(), get_string_length(), gimple_assign_rhs_to_tree(), gimple_assign_set_rhs_with_ops_1(), gimple_assign_ssa_name_copy_p(), gimple_assign_unary_nop_p(), gimple_divmod_fixed_value(), gimple_divmod_fixed_value_transform(), gimple_divmod_values_to_profile(), gimple_fold_stmt_to_constant_1(), gimple_gen_edge_profiler(), gimple_gen_ic_profiler(), gimple_get_lhs(), gimple_mod_pow2(), gimple_mod_pow2_value_transform(), gimple_mod_subtract(), gimple_mod_subtract_transform(), gimple_regimplify_operands(), gimplify_and_update_call_from_tree(), graphite_copy_stmts_from_block(), handle_char_store(), handle_pointer_plus(), handle_unscalarized_data_in_subtree(), if_convertible_gimple_assign_stmt_p(), infer_loop_bounds_from_array(), infer_loop_bounds_from_pointer_arith(), infer_loop_bounds_from_signedness(), init_dont_simulate_again(), initialize_hash_element(), initialize_reductions(), initialize_root_vars(), insert_init_stmt(), insert_stmt_after(), instrument_builtin_call(), instrument_expr(), instrument_gimple(), instrument_mem_region_access(), instrument_strlen_call(), interpret_gimple_assign(), ipa_tm_scan_irr_block(), is_phi_for_stmt(), is_reassociable_op(), is_vtable_assignment_stmt(), is_widening_mult_p(), legal_cast_p(), lhs_of_dominating_assert(), linearize_expr(), mark_all_reaching_defs_necessary_1(), mark_stmt_if_obviously_necessary(), may_propagate_copy_into_stmt(), maybe_instrument_assignment(), maybe_optimize_range_tests(), minmax_replacement(), movement_possibility(), name_for_ref(), negate_value(), no_side_effect_bb(), nt_init_block(), optimize_stmt(), or_var_with_comparison_1(), permute_vec_elements(), phi_incr_cost(), phiprop_insert_phi(), predicate_mem_writes(), process_assignment(), propagate_constants_for_unrolling(), propagate_op_to_single_use(), propagate_rhs_into_lhs(), propagate_with_phi(), rdg_flag_uses(), reassociate_bb(), reassociate_to_the_same_stmt(), recognize_single_bit_test(), record_equivalences_from_stmt(), record_temporary_equivalences_from_stmts_at_dest(), register_edge_assert_for_1(), register_edge_assert_for_2(), remap_gimple_stmt(), remove_dead_stmt(), remove_range_assertions(), remove_stmt(), remove_unused_locals(), rename_ssa_copies(), replace_conditional_candidate(), replace_mult_candidate(), replace_one_candidate(), replace_profitable_candidates(), replace_ref_with(), replace_removed_params_ssa_names(), replace_unconditional_candidate(), repropagate_negates(), rewrite_bittest(), rewrite_cross_bb_scalar_deps(), rewrite_expr_tree_parallel(), rewrite_reciprocal(), rewrite_use_nonlinear_expr(), should_break_up_subtract(), simple_iv_increment_p(), simplify_bitwise_binary(), simplify_builtin_call(), simplify_conversion_from_bitmask(), simplify_conversion_using_ranges(), simplify_float_conversion_using_ranges(), simplify_rotate(), simplify_stmt_for_jump_threading(), simplify_truth_ops_using_ranges(), sink_clobbers(), slsr_process_cast(), slsr_process_ref(), sra_modify_assign(), sra_modify_constructor_assign(), ssa_forward_propagate_and_combine(), statement_sink_location(), stmt_cost(), stmt_may_be_vtbl_ptr_store(), stmt_may_clobber_global_p(), stmt_may_clobber_ref_p_1(), strlen_optimize_stmt(), suitable_cond_bb(), translate_scalar_reduction_to_array(), translate_scalar_reduction_to_array_for_stmt(), tree_estimate_loop_size(), tree_loop_distribution(), tree_nrv(), undistribute_ops_list(), update_range_test(), va_list_counter_bump(), value_replacement(), var_is_used_for_virtual_call_p(), vect_create_epilog_for_reduction(), vect_create_mask_and_perm(), vect_create_vectorized_promotion_stmts(), vect_finish_stmt_generation(), vect_get_and_check_slp_defs(), vect_get_vec_def_for_operand(), vect_handle_widen_op_by_const(), vect_init_vector(), vect_is_simple_reduction_1(), vect_is_simple_use(), vect_is_slp_reduction(), vect_mark_relevant(), vect_model_reduction_cost(), vect_operation_fits_smaller_type(), vect_recog_bool_pattern(), vect_recog_divmod_pattern(), vect_recog_mixed_size_cond_pattern(), vect_recog_over_widening_pattern(), vect_recog_rotate_pattern(), vect_recog_vector_vector_shift_pattern(), vect_recog_widen_mult_pattern(), vect_recog_widen_shift_pattern(), vect_remove_slp_scalar_calls(), vect_setup_realignment(), vect_single_imm_use(), vect_transform_stmt(), vectorizable_assignment(), vectorizable_call(), vectorizable_condition(), vectorizable_conversion(), vectorizable_live_operation(), vectorizable_load(), vectorizable_operation(), vectorizable_reduction(), vectorizable_shift(), vectorizable_store(), verify_bb_vtables(), verify_gimple_assign_binary(), verify_gimple_assign_single(), verify_gimple_assign_ternary(), verify_gimple_assign_unary(), visit_use(), vn_reference_lookup_3(), walk_gimple_op(), walk_stmt_load_store_addr_ops(), widening_mult_conversion_strippable_p(), and will_be_nonconstant_predicate().

static tree* gimple_assign_lhs_ptr ( )
inlinestatic
static bool gimple_assign_load_p ( )
inlinestatic
static bool gimple_assign_nontemporal_move_p ( )
inlinestatic
Returns true if GS is a nontemporal move.   

Referenced by dump_gimple_assign(), expand_gimple_stmt_1(), and output_gimple_stmt().

static tree gimple_assign_rhs1 ( )
inlinestatic
Return the first operand on the RHS of assignment statement GS.   

Referenced by abs_replacement(), adjust_bool_pattern(), adjust_last_stmt(), aff_combination_expand(), and_var_with_comparison_1(), associate_plusminus(), associate_pointerplus(), break_up_subtract(), break_up_subtract_bb(), build_accesses_from_assign(), build_ssa_conflict_graph(), can_propagate_from(), chain_of_csts_start(), check_all_va_list_escapes(), check_bool_pattern(), check_for_plus_in_loops(), check_for_plus_in_loops_1(), check_pow(), classify_partition(), collect_object_sizes_for(), combinable_refs_p(), combine_cond_exprs(), combine_conversions(), complex_visit_stmt(), compute_avail(), compute_complex_assign_jump_func(), cond_if_else_store_replacement_1(), cond_store_replacement(), constant_pointer_difference(), convert_mult_to_fma(), convert_plusminus_to_widen(), copy_bb(), copy_prop_visit_assignment(), copy_prop_visit_stmt(), create_outofssa_var_map(), defcodefor_name(), derive_constant_upper_bound_assign(), destroy_loop_vec_info(), detect_commutative_reduction_assign(), determine_invariantness_stmt(), determine_known_aggregate_parts(), difference_cannot_overflow_p(), do_store_flag(), dse_possible_dead_store_p(), dump_binary_rhs(), dump_gimple_assign(), dump_ternary_rhs(), dump_unary_rhs(), eliminate(), eliminate_bb(), eliminate_redundant_comparison(), eliminated_by_inlining_prob(), ensure_ops_are_available(), estimate_function_body_sizes(), estimate_num_insns(), evaluate_stmt(), examine_assign_tm(), execute_cse_reciprocals(), execute_optimize_stdarg(), execute_optimize_widening_mul(), execute_update_addresses_taken(), exist_non_indexing_operands_for_use_p(), expand_assign_tm(), expand_call_inline(), expand_call_stmt(), expand_complex_move(), expand_complex_operations_1(), expand_cond_expr_using_cmove(), expand_expr_real_1(), expand_expr_real_2(), expand_gimple_cond(), expand_gimple_stmt_1(), expand_omp_atomic_fetch_op(), expand_omp_taskreg(), expand_simple_operations(), expand_vector_condition(), expand_vector_operation(), expand_vector_operations_1(), expr_equal_p(), expr_expected_value_1(), extr_type_from_vtbl_ptr_store(), extract_range_from_assignment(), final_range_test_p(), find_assert_locations_1(), find_bswap_1(), find_candidates_in_block(), find_equal_ptrs(), find_func_aliases(), find_func_clobbers(), find_looparound_phi(), find_replaceable_in_bb(), find_return_bb(), find_retval(), find_use_stmt(), fold_assignment_stmt(), fold_gimple_assign(), fold_predicate_in(), fold_stmt_1(), follow_ssa_edge_in_rhs(), follow_ssa_with_commutative_ops(), forward_propagate_addr_expr(), forward_propagate_addr_expr_1(), forward_propagate_comparison(), forward_propagate_into_comparison(), forward_propagate_into_cond(), gather_memory_references(), gen_conditions_for_pow_int_base(), generate_memset_builtin(), get_ancestor_addr_info(), get_default_value(), get_maxval_strlen(), get_mem_ref_of_assignment(), get_name_for_bit_test(), get_ops(), get_prop_dest_stmt(), get_prop_source_stmt(), get_rank(), get_rhs_or_phi_arg(), get_ssa_def_if_simple_copy(), get_unary_op(), get_val_for(), gimple_assign_nonnegative_warnv_p(), gimple_assign_nonzero_warnv_p(), gimple_assign_rhs_to_tree(), gimple_assign_ssa_name_copy_p(), gimple_assign_unary_nop_p(), gimple_divmod_fixed_value(), gimple_divmod_values_to_profile(), gimple_fold_stmt_to_constant_1(), gimple_mod_pow2(), gimple_mod_subtract(), gimple_val_nonnegative_real_p(), handle_builtin_memcpy(), handle_char_store(), handle_pointer_plus(), hoist_adjacent_loads(), infer_loop_bounds_from_array(), infer_loop_bounds_from_pointer_arith(), init_copy_prop(), init_dont_simulate_again(), init_range_entry(), init_vn_nary_op_from_stmt(), initialize_hash_element(), insert_init_stmt(), instrument_gimple(), interpret_gimple_assign(), interpret_rhs_expr(), ipa_analyze_indirect_call_uses(), ipa_get_stmt_member_ptr_load_param(), ipa_tm_scan_irr_block(), ipcp_transform_function(), is_division_by(), is_gcond_subset_of(), is_replaceable_p(), is_vptr_store(), is_vtable_assignment_stmt(), is_widening_mult_p(), is_widening_mult_rhs_p(), jump_function_from_stmt(), lhs_of_dominating_assert(), linearize_expr(), linearize_expr_tree(), load_from_unmodified_param(), lookup_logical_inverted_value(), lower_vec_perm(), mark_stmt_if_obviously_necessary(), may_propagate_copy_into_stmt(), maybe_instrument_assignment(), maybe_optimize_range_tests(), minmax_replacement(), movement_possibility(), name_for_ref(), negate_value(), normalize_cond_1(), nt_init_block(), optimize_bitfield_assignment_op(), optimize_stmt(), or_var_with_comparison_1(), parse_predicate(), phiprop_insert_phi(), plus_stmt_object_size(), predicate_mem_writes(), process_assignment(), propagate_constants_for_unrolling(), propagate_into_all_uses(), propagate_necessity(), propagate_rhs_into_lhs(), propagate_tree_value_into_stmt(), propagate_with_phi(), ptr_parm_has_direct_uses(), reassociate_bb(), reassociate_to_the_same_stmt(), recognize_bits_test(), recognize_single_bit_test(), record_equivalences_from_incoming_edge(), record_equivalences_from_stmt(), record_increment(), record_temporary_equivalences_from_stmts_at_dest(), ref_maybe_used_by_stmt_p(), register_edge_assert_for(), register_edge_assert_for_1(), register_edge_assert_for_2(), remap_gimple_stmt(), remove_dead_stmt(), remove_name_from_operation(), remove_prop_source_from_use(), remove_range_assertions(), remove_stmt(), remove_visited_stmt_chain(), rename_ssa_copies(), rename_uses(), replace_mult_candidate(), replace_one_candidate(), replace_ref_with(), repropagate_negates(), rewrite_bittest(), rewrite_expr_tree(), rewrite_expr_tree_parallel(), rewrite_reciprocal(), rewrite_use_nonlinear_expr(), rhs_to_tree(), same_bool_comparison_p(), search_for_addr_array(), should_break_up_subtract(), simple_iv_increment_p(), simplify_abs_using_ranges(), simplify_binary_expression(), simplify_bit_ops_using_ranges(), simplify_bitfield_ref(), simplify_bitwise_binary(), simplify_bitwise_binary_boolean(), simplify_builtin_call(), simplify_cond_using_ranges(), simplify_conversion_from_bitmask(), simplify_conversion_using_ranges(), simplify_div_or_mod_using_ranges(), simplify_float_conversion_using_ranges(), simplify_gimple_switch(), simplify_not_neg_expr(), simplify_permutation(), simplify_rotate(), simplify_stmt_using_ranges(), simplify_truth_ops_using_ranges(), simplify_unary_expression(), simplify_vector_constructor(), slsr_process_ref(), split_constant_offset_1(), sra_modify_assign(), sra_modify_constructor_assign(), ssa_forward_propagate_and_combine(), stmt_cost(), stmt_could_throw_1_p(), stmt_has_constants(), stmt_may_generate_copy(), stmt_overflow_infinity(), store_field(), strlen_optimize_stmt(), substitute_and_fold(), thread_private_new_memory(), tidy_after_forward_propagate_addr(), transform_stmt_to_copy(), tree_estimate_loop_size(), tree_nrv(), type_conversion_p(), unmodified_parm(), unmodified_parm_or_parm_agg_item(), update_range_test(), va_list_counter_bump(), var_is_used_for_virtual_call_p(), vect_build_slp_tree_1(), vect_check_gather(), vect_create_epilog_for_reduction(), vect_get_constant_vectors(), vect_get_smallest_scalar_type(), vect_handle_widen_op_by_const(), vect_is_simple_reduction_1(), vect_is_slp_reduction(), vect_mark_stmts_to_be_vectorized(), vect_model_reduction_cost(), vect_operation_fits_smaller_type(), vect_recog_bool_pattern(), vect_recog_divmod_pattern(), vect_recog_dot_prod_pattern(), vect_recog_mixed_size_cond_pattern(), vect_recog_rotate_pattern(), vect_recog_vector_vector_shift_pattern(), vect_recog_widen_mult_pattern(), vect_recog_widen_shift_pattern(), vect_recog_widen_sum_pattern(), vector_element(), vectorizable_assignment(), vectorizable_condition(), vectorizable_conversion(), vectorizable_operation(), vectorizable_reduction(), vectorizable_shift(), vectorizable_store(), verify_bb_vtables(), verify_gimple_assign_binary(), verify_gimple_assign_single(), verify_gimple_assign_ternary(), verify_gimple_assign_unary(), visit_assignment(), visit_use(), vn_get_expr_for(), vn_get_stmt_kind(), vn_nary_length_from_stmt(), vn_reference_lookup_3(), vn_reference_maybe_forwprop_address(), vrp_stmt_computes_nonzero(), walk_gimple_op(), walk_stmt_load_store_addr_ops(), warn_uninit(), warn_uninitialized_vars(), widening_mult_conversion_strippable_p(), will_be_nonconstant_predicate(), and zero_one_operation().

static tree gimple_assign_rhs2 ( )
inlinestatic
Return the second operand on the RHS of assignment statement GS.
   If GS does not have two operands, NULL is returned instead.   

Referenced by adjust_bool_pattern(), adjust_last_stmt(), aff_combination_expand(), and_var_with_comparison_1(), associate_plusminus(), associate_pointerplus(), break_up_subtract(), break_up_subtract_bb(), check_all_va_list_escapes(), check_bool_pattern(), check_for_plus_in_loops(), check_for_plus_in_loops_1(), combine_cond_exprs(), complex_visit_stmt(), compute_complex_assign_jump_func(), cond_expr_object_size(), constant_pointer_difference(), convert_mult_to_fma(), convert_plusminus_to_widen(), defcodefor_name(), derive_constant_upper_bound_assign(), detect_commutative_reduction_assign(), determine_invariantness_stmt(), difference_cannot_overflow_p(), do_store_flag(), dump_binary_rhs(), dump_gimple_assign(), dump_ternary_rhs(), eliminate_redundant_comparison(), estimate_num_insns(), evaluate_stmt(), execute_cse_reciprocals(), execute_optimize_stdarg(), execute_optimize_widening_mul(), expand_complex_move(), expand_complex_operations_1(), expand_cond_expr_using_cmove(), expand_expr_real_1(), expand_gimple_cond(), expand_gimple_stmt_1(), expand_omp_atomic_fetch_op(), expand_simple_operations(), expand_vector_condition(), expand_vector_operation(), expand_vector_operations_1(), expr_equal_p(), expr_expected_value_1(), extract_range_from_assignment(), extract_range_from_cond_expr(), find_bswap_1(), find_candidates_in_block(), find_func_aliases(), fold_assignment_stmt(), fold_gimple_assign(), fold_predicate_in(), fold_stmt_1(), follow_ssa_edge_in_rhs(), follow_ssa_with_commutative_ops(), forward_propagate_addr_expr_1(), forward_propagate_comparison(), forward_propagate_into_comparison(), forward_propagate_into_cond(), get_maxval_strlen(), get_ops(), get_val_for(), gimple_assign_nonnegative_warnv_p(), gimple_assign_nonzero_warnv_p(), gimple_assign_rhs_to_tree(), gimple_could_trap_p_1(), gimple_divmod_fixed_value(), gimple_divmod_fixed_value_transform(), gimple_divmod_values_to_profile(), gimple_fold_stmt_to_constant_1(), gimple_mod_pow2(), gimple_mod_pow2_value_transform(), gimple_mod_subtract(), gimple_val_nonnegative_real_p(), handle_builtin_memcpy(), handle_pointer_plus(), infer_loop_bounds_from_pointer_arith(), init_dont_simulate_again(), init_range_entry(), initialize_hash_element(), interpret_gimple_assign(), interpret_rhs_expr(), ipa_analyze_indirect_call_uses(), is_division_by(), is_gcond_subset_of(), is_widening_mult_p(), linearize_expr(), linearize_expr_tree(), lookup_logical_inverted_value(), lower_vec_perm(), minmax_replacement(), negate_value(), normalize_cond_1(), optimize_bitfield_assignment_op(), or_var_with_comparison_1(), parse_predicate(), plus_stmt_object_size(), process_assignment(), reassociate_bb(), reassociate_to_the_same_stmt(), recognize_bits_test(), recognize_single_bit_test(), record_increment(), register_edge_assert_for(), register_edge_assert_for_1(), register_edge_assert_for_2(), remove_name_from_operation(), replace_mult_candidate(), replace_one_candidate(), repropagate_negates(), rewrite_bittest(), rewrite_expr_tree(), rewrite_reciprocal(), rewrite_use_nonlinear_expr(), rhs_to_tree(), same_bool_comparison_p(), should_break_up_subtract(), simplify_binary_expression(), simplify_bit_ops_using_ranges(), simplify_bitfield_ref(), simplify_bitwise_binary(), simplify_conversion_from_bitmask(), simplify_div_or_mod_using_ranges(), simplify_permutation(), simplify_rotate(), simplify_stmt_using_ranges(), simplify_truth_ops_using_ranges(), split_constant_offset_1(), ssa_forward_propagate_and_combine(), stmt_cost(), stmt_could_throw_1_p(), stmt_has_constants(), thread_private_new_memory(), tree_estimate_loop_size(), update_range_test(), va_list_counter_bump(), vect_build_slp_tree_1(), vect_check_gather(), vect_create_epilog_for_reduction(), vect_get_constant_vectors(), vect_is_simple_reduction_1(), vect_is_slp_reduction(), vect_model_reduction_cost(), vect_operation_fits_smaller_type(), vect_recog_divmod_pattern(), vect_recog_dot_prod_pattern(), vect_recog_mixed_size_cond_pattern(), vect_recog_rotate_pattern(), vect_recog_vector_vector_shift_pattern(), vect_recog_widen_mult_pattern(), vect_recog_widen_shift_pattern(), vect_recog_widen_sum_pattern(), vectorizable_condition(), vectorizable_conversion(), vectorizable_operation(), vectorizable_reduction(), vectorizable_shift(), verify_gimple_assign_binary(), verify_gimple_assign_ternary(), vn_get_expr_for(), vn_reference_lookup_3(), vn_reference_maybe_forwprop_address(), and zero_one_operation().

static tree* gimple_assign_rhs2_ptr ( )
inlinestatic
Return a pointer to the second operand on the RHS of assignment
   statement GS.   

Referenced by destroy_loop_vec_info(), extract_cond_operands(), linearize_expr_tree(), mf_xform_statements(), repropagate_negates(), vect_is_simple_reduction_1(), and vect_is_slp_reduction().

static tree* gimple_assign_rhs3_ptr ( )
inlinestatic
Return a pointer to the third operand on the RHS of assignment
   statement GS.   
static enum gimple_rhs_class gimple_assign_rhs_class ( )
inlinestatic
Return the gimple rhs class of the code of the expression computed on
   the rhs of assignment statement GS.
   This will never return GIMPLE_INVALID_RHS.   

Referenced by eliminated_by_inlining_prob(), find_bswap_1(), get_val_for(), insert_init_stmt(), tree_estimate_loop_size(), verify_gimple_assign(), and walk_gimple_op().

static enum tree_code gimple_assign_rhs_code ( )
inlinestatic
Return the code of the expression computed on the rhs of assignment
   statement GS.  In case that the RHS is a single object, returns the
   tree code of the object.   

Referenced by abs_replacement(), adjust_bool_pattern(), adjust_last_stmt(), aff_combination_expand(), analyze_increments(), and_var_with_comparison_1(), associate_plusminus(), associate_pointerplus(), break_up_subtract_bb(), build_new_reduction(), can_propagate_from(), chain_of_csts_start(), check_all_va_list_escapes(), check_bool_pattern(), check_for_plus_in_loops(), check_for_plus_in_loops_1(), check_pow(), collect_object_sizes_for(), combinable_refs_p(), combine_cond_exprs(), combine_conversions(), compute_avail(), compute_complex_assign_jump_func(), cond_expr_object_size(), constant_pointer_difference(), convert_mult_to_fma(), convert_plusminus_to_widen(), copy_bb(), copy_loop_headers(), defcodefor_name(), derive_constant_upper_bound_assign(), destroy_loop_vec_info(), determine_invariantness_stmt(), difference_cannot_overflow_p(), dump_binary_rhs(), dump_gimple_assign(), dump_ternary_rhs(), dump_unary_rhs(), eliminate_redundant_comparison(), eliminated_by_inlining_prob(), estimate_num_insns(), evaluate_stmt(), execute_cse_reciprocals(), execute_optimize_bswap(), execute_optimize_stdarg(), execute_optimize_widening_mul(), expand_call_inline(), expand_call_stmt(), expand_complex_move(), expand_complex_operations_1(), expand_cond_expr_using_cmove(), expand_gimple_cond(), expand_gimple_stmt_1(), expand_omp_atomic_fetch_op(), expand_simple_operations(), expand_vector_operations_1(), expr_equal_p(), expr_expected_value_1(), extract_range_from_assignment(), find_assert_locations_1(), find_associative_operation_root(), find_bswap_1(), find_candidates_in_block(), find_equal_ptrs(), find_func_aliases(), find_interesting_uses_stmt(), find_replaceable_in_bb(), find_use_stmt(), fold_assignment_stmt(), fold_gimple_assign(), fold_predicate_in(), fold_stmt_1(), follow_ssa_edge_in_rhs(), forward_propagate_addr_expr_1(), forward_propagate_comparison(), forward_propagate_into_comparison(), forward_propagate_into_cond(), get_def_for_expr(), get_def_for_expr_class(), get_initial_def_for_reduction(), get_maxval_strlen(), get_name_for_bit_test(), get_prop_source_stmt(), get_unary_op(), get_val_for(), gimple_assign_nonnegative_warnv_p(), gimple_assign_nonzero_warnv_p(), gimple_assign_rhs_to_tree(), gimple_assign_unary_nop_p(), gimple_could_trap_p_1(), gimple_divmod_fixed_value(), gimple_divmod_fixed_value_transform(), gimple_divmod_values_to_profile(), gimple_fold_stmt_to_constant_1(), gimple_mod_pow2(), gimple_mod_pow2_value_transform(), gimple_mod_subtract(), gimple_mod_subtract_transform(), gimple_val_nonnegative_real_p(), handle_builtin_memcpy(), infer_loop_bounds_from_pointer_arith(), init_dont_simulate_again(), init_range_entry(), init_vn_nary_op_from_stmt(), initialize_hash_element(), insert_init_stmt(), insert_initializers(), interpret_gimple_assign(), interpret_rhs_expr(), ipa_analyze_indirect_call_uses(), is_division_by(), is_gcond_subset_of(), is_reassociable_op(), is_reduction_operation_p(), is_replaceable_p(), jump_function_from_stmt(), legal_cast_p(), likely_value(), linearize_expr(), linearize_expr_tree(), lookup_logical_inverted_value(), lower_vec_perm(), mf_xform_statements(), minmax_replacement(), negate_value(), normalize_cond_1(), optimize_bitfield_assignment_op(), or_var_with_comparison_1(), parse_predicate(), phiprop_insert_phi(), plus_stmt_object_size(), process_assignment(), propagate_constants_for_unrolling(), propagate_into_all_uses(), propagate_with_phi(), reassociate_bb(), reassociate_to_the_same_stmt(), recognize_bits_test(), recognize_single_bit_test(), record_equivalences_from_incoming_edge(), record_increment(), ref_maybe_used_by_stmt_p(), register_edge_assert_for(), register_edge_assert_for_1(), register_edge_assert_for_2(), remove_range_assertions(), replace_mult_candidate(), replace_one_candidate(), replace_profitable_candidates(), repropagate_negates(), rewrite_bittest(), rewrite_expr_tree_parallel(), rewrite_use_nonlinear_expr(), rhs_to_tree(), same_bool_comparison_p(), same_succ_hash(), search_for_addr_array(), should_break_up_subtract(), simple_iv_increment_p(), simplify_binary_expression(), simplify_bit_ops_using_ranges(), simplify_bitfield_ref(), simplify_bitwise_binary(), simplify_bitwise_binary_boolean(), simplify_cond_using_ranges(), simplify_conversion_from_bitmask(), simplify_conversion_using_ranges(), simplify_div_or_mod_using_ranges(), simplify_gimple_switch(), simplify_not_neg_expr(), simplify_permutation(), simplify_rotate(), simplify_stmt_using_ranges(), simplify_truth_ops_using_ranges(), simplify_unary_expression(), simplify_vector_constructor(), slsr_process_add(), split_constant_offset_1(), ssa_forward_propagate_and_combine(), stmt_cost(), stmt_has_constants(), stmt_may_generate_copy(), stmt_overflow_infinity(), strlen_optimize_stmt(), substitute_and_fold(), thread_private_new_memory(), truth_valued_ssa_name(), try_to_simplify(), type_conversion_p(), undistribute_ops_list(), update_range_test(), va_list_counter_bump(), vect_build_slp_tree(), vect_build_slp_tree_1(), vect_check_gather(), vect_create_epilog_for_reduction(), vect_create_new_slp_node(), vect_get_and_check_slp_defs(), vect_get_smallest_scalar_type(), vect_handle_widen_op_by_const(), vect_is_simple_reduction_1(), vect_is_slp_reduction(), vect_mark_stmts_to_be_vectorized(), vect_model_reduction_cost(), vect_operation_fits_smaller_type(), vect_pattern_recog_1(), vect_recog_bool_pattern(), vect_recog_divmod_pattern(), vect_recog_dot_prod_pattern(), vect_recog_mixed_size_cond_pattern(), vect_recog_over_widening_pattern(), vect_recog_rotate_pattern(), vect_recog_vector_vector_shift_pattern(), vect_recog_widen_mult_pattern(), vect_recog_widen_shift_pattern(), vect_recog_widen_sum_pattern(), vector_element(), vectorizable_assignment(), vectorizable_condition(), vectorizable_conversion(), vectorizable_live_operation(), vectorizable_load(), vectorizable_operation(), vectorizable_reduction(), vectorizable_shift(), verify_gimple_assign_binary(), verify_gimple_assign_single(), verify_gimple_assign_ternary(), verify_gimple_assign_unary(), visit_assignment(), visit_use(), vn_get_expr_for(), vn_get_stmt_kind(), vn_nary_length_from_stmt(), vn_reference_lookup_3(), vn_reference_maybe_forwprop_address(), vrp_stmt_computes_nonzero(), widening_mult_conversion_strippable_p(), and zero_one_operation().

bool gimple_assign_rhs_could_trap_p ( gimple  )
tree gimple_assign_rhs_to_tree ( gimple  )
In cfgexpand.c.   
static void gimple_assign_set_nontemporal_move ( )
inlinestatic
Sets nontemporal move flag of GS to NONTEMPORAL.   

Referenced by mark_nontemporal_store().

static void gimple_assign_set_rhs3 ( )
inlinestatic
Set RHS to be the third operand on the RHS of assignment statement GS.   

Referenced by combine_cond_exprs(), forward_propagate_into_cond(), gimple_assign_set_rhs_with_ops_1(), gimple_build_assign_with_ops(), and lower_vec_perm().

void gimple_assign_set_rhs_from_tree ( gimple_stmt_iterator ,
tree   
)
void gimple_assign_set_rhs_with_ops_1 ( gimple_stmt_iterator gsi,
enum tree_code  code,
tree  op1,
tree  op2,
tree  op3 
)
Set the RHS of assignment statement pointed-to by GSI to CODE with
   operands OP1, OP2 and OP3.

   NOTE: The statement pointed-to by GSI may be reallocated if it
   did not have enough operand slots.   

References get_gimple_rhs_num_ops(), gimple_assign_lhs(), gimple_assign_set_lhs(), gimple_assign_set_rhs1(), gimple_assign_set_rhs2(), gimple_assign_set_rhs3(), gimple_init_singleton(), gimple_num_ops(), gimple_set_num_ops(), gimple_set_subcode(), gimple_size(), gsi_replace(), gsi_stmt(), and memcpy().

Referenced by convert_plusminus_to_widen(), gimple_assign_set_rhs_from_tree(), simplify_bitwise_binary(), and simplify_vector_constructor().

static bool gimple_assign_single_p ( )
inlinestatic
Return true if GS is an assignment with a singleton RHS, i.e.,
   there is no operator associated with the assignment itself.
   Unlike gimple_assign_copy_p, this predicate returns true for
   any RHS operand, including those that perform an operation
   and do not have the semantics of a copy, such as COND_EXPR.   

Referenced by build_accesses_from_assign(), can_propagate_from(), ccp_fold_stmt(), check_for_plus_in_loops_1(), classify_partition(), collect_object_sizes_for(), compute_complex_assign_jump_func(), cond_if_else_store_replacement_1(), cond_store_replacement(), copy_prop_visit_stmt(), determine_known_aggregate_parts(), eliminate_bb(), execute_update_addresses_taken(), expand_block_tm(), expand_call_inline(), expand_vector_operations_1(), extr_type_from_vtbl_ptr_store(), find_candidates_in_block(), find_func_aliases(), find_func_clobbers(), find_replaceable_in_bb(), find_return_bb(), get_ancestor_addr_info(), get_default_value(), get_maxval_strlen(), get_mem_ref_of_assignment(), get_rank(), get_rhs_or_phi_arg(), get_ssa_def_if_simple_copy(), gimple_assign_copy_p(), gimple_assign_ssa_name_copy_p(), gimplify_and_update_call_from_tree(), handle_pointer_plus(), has_stmt_been_instrumented_p(), hoist_adjacent_loads(), init_vn_nary_op_from_stmt(), insert_debug_temp_for_var_def(), ipa_analyze_indirect_call_uses(), ipa_get_stmt_member_ptr_load_param(), ipa_tm_scan_irr_block(), is_replaceable_p(), is_vptr_store(), lhs_of_dominating_assert(), load_from_unmodified_param(), lower_sequence_tm(), mark_all_reaching_defs_necessary_1(), may_propagate_copy_into_stmt(), maybe_instrument_assignment(), movement_possibility(), nt_init_block(), optimize_stmt(), predicate_mem_writes(), propagate_necessity(), propagate_rhs_into_lhs(), propagate_tree_value_into_stmt(), propagate_with_phi(), ptr_parm_has_direct_uses(), record_equivalences_from_stmt(), record_temporary_equivalences_from_stmts_at_dest(), ref_maybe_used_by_stmt_p(), remove_dead_stmt(), replace_ref_with(), simple_mem_ref_in_stmt(), simplify_builtin_call(), sra_ipa_modify_assign(), sra_modify_assign(), stmt_may_clobber_ref_p_1(), strlen_optimize_stmt(), substitute_and_fold(), transform_statements(), tree_loop_distribution(), unmodified_parm(), unmodified_parm_or_parm_agg_item(), vectorizable_assignment(), vectorizable_store(), visit_assignment(), vn_reference_lookup_3(), walk_stmt_load_store_addr_ops(), warn_uninit(), warn_uninitialized_vars(), and will_be_nonconstant_predicate().

bool gimple_assign_ssa_name_copy_p ( gimple  )
bool gimple_assign_unary_nop_p ( gimple  )
static basic_block gimple_bb ( )
inlinestatic
Return the basic block holding statement G.   

Referenced by add_autoinc_candidates(), add_dependency(), add_exit_phi(), add_exit_phis_var(), adjust_debug_stmts_now(), adjust_iv_update_pos(), analyze_scalar_evolution_1(), cgraph_redirect_edge_call_stmt_to_callee(), cgraph_update_edges_for_call_stmt_node(), chain_of_csts_start(), check_forbidden_calls(), check_loop_closed_ssa_use(), collect_switch_conv_info(), compare_ops(), compute_cases_per_edge(), compute_complex_ancestor_jump_func(), consider_split(), copy_prop_visit_cond_stmt(), create_new_def_for(), create_phi_basis(), determine_biv_step(), determine_max_movement(), do_invalidate(), dr_indices_valid_in_loop(), dse_optimize_stmt(), eliminate(), emit_case_bit_tests(), expand_call_tm(), expand_case(), expand_simple_operations(), expand_transaction(), expr_invariant_in_loop_p(), expr_invariant_in_region_p(), extract_true_false_args_from_phi(), final_range_test_p(), find_basis_for_candidate(), find_def_preds(), find_subloop_latch_edge_by_ivs(), find_uninit_use(), find_uses_to_rename_stmt(), find_uses_to_rename_use(), fixup_noreturn_call(), forward_propagate_into_gimple_cond(), gen_inbound_check(), get_initial_def_for_induction(), get_iv(), get_rank(), get_references_in_stmt(), gimple_divmod_fixed_value(), gimple_equal_p(), gimple_ic(), gimple_ic_transform(), gimple_mod_pow2(), gimple_mod_subtract(), gimple_stringop_fixed_value(), gimple_value_profile_transformations(), gsi_for_phi_node(), gsi_for_stmt(), hoist_adjacent_loads(), if_convertible_gimple_assign_stmt_p(), independent_of_stmt_p(), inhibit_phi_insertion(), insert_out_of_ssa_copy_on_edge(), insert_stmt_after(), instantiate_scev_name(), ipa_analyze_indirect_call_uses(), ipa_tm_note_irrevocable(), ipa_uninstrument_transaction(), is_reassociable_op(), is_use_properly_guarded(), iv_elimination_compare(), loop_carried_phi(), loop_containing_stmt(), loop_depth_of_name(), loop_phi_node_p(), make_eh_dispatch_edges(), make_eh_edges(), mark_bivs(), mark_parm_dereference(), mark_use_interesting(), may_eliminate_iv(), maybe_optimize_range_tests(), maybe_record_sincos(), maybe_skip_until(), mf_build_check_statement_for(), ncd_of_cand_and_phis(), nearest_common_dominator_of_uses(), need_fake_edge_p(), not_dominated_by(), optimize_stmt(), outermost_invariant_loop(), outermost_invariant_loop_for_expr(), param_change_prob(), phi_add_costs(), phi_arg_in_outermost_loop(), phi_rank(), predicate_scalar_phi(), prepare_def_site_for(), prepare_use_sites_for(), process_ssa_edge_worklist(), process_use(), propagate_necessity(), propagate_rhs_into_lhs(), record_increment(), record_invariant(), remove_exits_and_undefined_stmts(), remove_prop_source_from_use(), remove_redundant_iv_tests(), replace_phi_edge_with_variable(), replace_reciprocal(), rewrite_close_phi_out_of_ssa(), rewrite_cross_bb_scalar_deps(), rewrite_debug_stmt_uses(), rewrite_degenerate_phi(), rewrite_phi_out_of_ssa(), sese_bad_liveouts_use(), sese_build_liveouts_use(), set_level(), set_var_live_on_entry(), shrink_wrap_one_built_in_call(), simulate_stmt(), slsr_process_phi(), split_bb_make_tm_edge(), split_bbs_on_noreturn_calls(), split_reduction_stmt(), statement_sink_location(), stmt_after_inc_pos(), stmt_after_ip_normal_pos(), stmt_dominates_stmt_p(), stmt_in_inner_loop_p(), stmt_in_sese_p(), stmt_local_def(), suitable_component_p(), transaction_invariant_address_p(), tree_function_versioning(), tree_may_unswitch_on(), update_debug_stmt(), update_dep_bb(), vect_create_data_ref_ptr(), vect_create_epilog_for_reduction(), vect_get_constant_vectors(), vect_get_vec_def_for_operand(), vect_is_simple_reduction_1(), vect_is_simple_use(), vect_is_slp_reduction(), vect_loop_kill_debug_uses(), vect_recog_rotate_pattern(), vect_setup_realignment(), vect_stmt_relevant_p(), vectorizable_load(), vectorizable_reduction(), verify_eh_dispatch_edge(), verify_eh_edges(), verify_live_on_entry(), verify_ssa(), visit_cond_stmt(), vn_phi_insert(), and vn_phi_lookup().

static void gimple_bind_add_seq ( )
inlinestatic
Append a sequence of statements to the end of a GIMPLE_BIND's body.   

Referenced by lower_omp_critical(), lower_omp_master(), lower_omp_ordered(), and lower_omp_taskreg().

static void gimple_bind_add_stmt ( )
inlinestatic
Append a statement to the end of a GIMPLE_BIND's body.   

Referenced by lower_omp_critical(), lower_omp_master(), lower_omp_ordered(), and lower_omp_taskreg().

static void gimple_bind_append_vars ( )
inlinestatic
Append VARS to the set of variables declared in the GIMPLE_BIND
   statement GS.   

Referenced by lower_omp_critical(), lower_omp_for(), lower_omp_master(), lower_omp_ordered(), lower_omp_sections(), and lower_omp_single().

static tree gimple_bind_block ( )
inlinestatic
Return the TREE_BLOCK node associated with GIMPLE_BIND statement
   GS.  This is analogous to the BIND_EXPR_BLOCK field in trees.   

Referenced by convert_nonlocal_reference_stmt(), copy_gimple_bind(), declare_vars(), finalize_nesting_tree_1(), gimple_copy(), gimplify_function_tree(), lower_gimple_bind(), lower_omp_taskreg(), and replace_locals_stmt().

static gimple_seq* gimple_bind_body_ptr ( )
inlinestatic
vec<gimple> gimple_bind_expr_stack ( void  )
Return the stack of bindings created during gimplification.   

References gimplify_ctx::bind_expr_stack.

static void gimple_bind_set_block ( )
inlinestatic
Set BLOCK to be the TREE_BLOCK node associated with GIMPLE_BIND
   statement GS.   

Referenced by gimple_build_bind(), gimple_copy(), gimplify_function_tree(), and replace_locals_stmt().

static void gimple_bind_set_body ( )
inlinestatic
static void gimple_bind_set_vars ( )
inlinestatic
Set VARS to be the set of variables declared in the GIMPLE_BIND
   statement GS.   

Referenced by declare_vars(), gimple_build_bind(), gimple_copy(), and replace_locals_stmt().

gimple_seq gimple_body ( tree  )
gimple gimple_build_asm_vec ( const char *  string,
vec< tree, va_gc > *  inputs,
vec< tree, va_gc > *  outputs,
vec< tree, va_gc > *  clobbers,
vec< tree, va_gc > *  labels 
)
Build a GIMPLE_ASM statement.

   STRING is the assembly code.
   NINPUT is the number of register inputs.
   NOUTPUT is the number of register outputs.
   NCLOBBERS is the number of clobbered registers.
   INPUTS is a vector of the input register parameters.
   OUTPUTS is a vector of the output register parameters.
   CLOBBERS is a vector of the clobbered register parameters.
   LABELS is a vector of destination labels.   

References gimple_asm_set_clobber_op(), gimple_asm_set_input_op(), gimple_asm_set_label_op(), gimple_asm_set_output_op(), gimple_build_asm_1(), and vec_safe_length().

Referenced by gimplify_asm_expr().

gimple gimple_build_assign_stat ( tree  ,
tree  MEM_STAT_DECL 
)
gimple gimple_build_assign_with_ops ( enum  tree_code,
tree  ,
tree  ,
tree  CXX_MEM_STAT_INFO 
)
gimple gimple_build_assign_with_ops ( enum  tree_code,
tree  ,
tree  ,
tree  ,
tree  CXX_MEM_STAT_INFO 
)
gimple gimple_build_bind ( tree  ,
gimple_seq  ,
tree   
)
gimple gimple_build_call ( tree  ,
unsigned  ,
  ... 
)
gimple gimple_build_call_from_tree ( tree  )
gimple gimple_build_call_internal ( enum  internal_fn,
unsigned  ,
  ... 
)
gimple gimple_build_call_internal_vec ( enum  internal_fn,
vec< tree  
)
gimple gimple_build_call_valist ( tree  ,
unsigned  ,
va_list   
)
gimple gimple_build_call_vec ( tree  ,
vec< tree  
)
gimple gimple_build_catch ( tree  ,
gimple_seq   
)
gimple gimple_build_cdt ( tree  ,
tree   
)
gimple gimple_build_cond_from_tree ( tree  ,
tree  ,
tree   
)
gimple gimple_build_debug_bind_stat ( tree  ,
tree  ,
gimple  MEM_STAT_DECL 
)
gimple gimple_build_debug_source_bind_stat ( tree  ,
tree  ,
gimple  MEM_STAT_DECL 
)
gimple gimple_build_eh_dispatch ( int  )
gimple gimple_build_eh_else ( gimple_seq  ,
gimple_seq   
)
gimple gimple_build_eh_filter ( tree  ,
gimple_seq   
)
gimple gimple_build_eh_must_not_throw ( tree  )
gimple gimple_build_goto ( tree  dest)
gimple gimple_build_label ( tree  label)
gimple gimple_build_omp_atomic_load ( tree  ,
tree   
)
gimple gimple_build_omp_atomic_store ( tree  )
gimple gimple_build_omp_continue ( tree  ,
tree   
)
gimple gimple_build_omp_critical ( gimple_seq  ,
tree   
)
gimple gimple_build_omp_for ( gimple_seq  body,
int  kind,
tree  clauses,
size_t  collapse,
gimple_seq  pre_body 
)
Build a GIMPLE_OMP_FOR statement.

   BODY is sequence of statements inside the for loop.
   KIND is the `for' variant.
   CLAUSES, are any of the OMP loop construct's clauses: private, firstprivate,
   lastprivate, reductions, ordered, schedule, and nowait.
   COLLAPSE is the collapse count.
   PRE_BODY is the sequence of statements that are loop invariant.   

References gimple_statement_omp_for::collapse, ggc_internal_cleared_vec_alloc_stat(), gimple_omp_for_set_clauses(), gimple_omp_for_set_kind(), gimple_omp_for_set_pre_body(), gimple_omp_set_body(), and gimple_statement_omp_for::iter.

Referenced by create_parallel_loop(), gimplify_omp_for(), and remap_gimple_stmt().

gimple gimple_build_omp_master ( gimple_seq  )
gimple gimple_build_omp_ordered ( gimple_seq  )
gimple gimple_build_omp_parallel ( gimple_seq  body,
tree  clauses,
tree  child_fn,
tree  data_arg 
)
Build a GIMPLE_OMP_PARALLEL statement.

   BODY is sequence of statements which are executed in parallel.
   CLAUSES, are the OMP parallel construct's clauses.
   CHILD_FN is the function created for the parallel threads to execute.
   DATA_ARG are the shared data argument(s).   

References gimple_omp_parallel_set_child_fn(), gimple_omp_parallel_set_clauses(), gimple_omp_parallel_set_data_arg(), and gimple_omp_set_body().

Referenced by create_parallel_loop(), gimplify_omp_parallel(), and remap_gimple_stmt().

gimple gimple_build_omp_return ( bool  )
gimple gimple_build_omp_section ( gimple_seq  )
gimple gimple_build_omp_sections ( gimple_seq  ,
tree   
)
gimple gimple_build_omp_sections_switch ( void  )
Build a GIMPLE_OMP_SECTIONS_SWITCH.   

Referenced by lower_omp_sections().

gimple gimple_build_omp_single ( gimple_seq  ,
tree   
)
gimple gimple_build_omp_task ( gimple_seq  body,
tree  clauses,
tree  child_fn,
tree  data_arg,
tree  copy_fn,
tree  arg_size,
tree  arg_align 
)
Build a GIMPLE_OMP_TASK statement.

   BODY is sequence of statements which are executed by the explicit task.
   CLAUSES, are the OMP parallel construct's clauses.
   CHILD_FN is the function created for the parallel threads to execute.
   DATA_ARG are the shared data argument(s).
   COPY_FN is the optional function for firstprivate initialization.
   ARG_SIZE and ARG_ALIGN are size and alignment of the data block.   

References gimple_omp_set_body(), gimple_omp_task_set_arg_align(), gimple_omp_task_set_arg_size(), gimple_omp_task_set_child_fn(), gimple_omp_task_set_clauses(), gimple_omp_task_set_copy_fn(), and gimple_omp_task_set_data_arg().

Referenced by gimplify_omp_task(), and remap_gimple_stmt().

gimple gimple_build_predict ( enum  br_predictor,
enum  prediction 
)
gimple gimple_build_resx ( int  )
gimple gimple_build_return ( tree  )
gimple gimple_build_switch ( tree  ,
tree  ,
vec< tree  
)
gimple gimple_build_switch_nlabels ( unsigned  ,
tree  ,
tree   
)
gimple gimple_build_transaction ( gimple_seq  ,
tree   
)
gimple_statement_try* gimple_build_try ( gimple_seq  eval,
gimple_seq  cleanup,
enum gimple_try_flags  kind 
)
Build a GIMPLE_TRY statement.

   EVAL is the expression to evaluate.
   CLEANUP is the cleanup expression.
   KIND is either GIMPLE_TRY_CATCH or GIMPLE_TRY_FINALLY depending on
   whether this is a try/catch or a try/finally respectively.   

References gimple_set_subcode(), GIMPLE_TRY_CATCH, GIMPLE_TRY_FINALLY, gimple_try_set_cleanup(), and gimple_try_set_eval().

Referenced by gimplify_bind_expr(), gimplify_cleanup_point_expr(), gimplify_expr(), gimplify_function_tree(), honor_protect_cleanup_actions(), lower_transaction(), maybe_catch_exception(), mx_register_decls(), and remap_gimple_stmt().

gimple gimple_build_wce ( gimple_seq  )
static tree gimple_call_addr_fndecl ( )
inlinestatic
Given a valid GIMPLE_CALL function address return the FUNCTION_DECL
   associated with the callee if known.  Otherwise return NULL_TREE.   

Referenced by eliminate_bb(), get_fi_for_callee(), and gimple_fold_call().

static bool gimple_call_alloca_for_var_p ( )
inlinestatic
Return true of S is a call to builtin_alloca emitted for VLA objects.   

Referenced by expand_call_stmt(), and inline_forbidden_p_stmt().

static tree gimple_call_arg ( )
inlinestatic
Return the argument at position INDEX for call statement GS.   

Referenced by acceptable_pow_call(), adjust_last_stmt(), adjust_simduid_builtins(), alloc_object_size(), bit_value_assume_aligned(), call_may_clobber_ref_p_1(), ccp_fold_stmt(), check_all_array_refs(), check_builtin_call(), check_pow(), compute_object_sizes(), copy_reference_ops_from_call(), decrement_power(), dump_gimple_call(), dump_gimple_call_args(), eliminate_tail_call(), eliminate_unnecessary_stmts(), estimate_num_insns(), evaluate_stmt(), execute_cse_sincos(), execute_fold_all_builtins(), execute_optimize_stdarg(), execute_optimize_widening_mul(), execute_update_addresses_taken(), expand_block_edges(), expand_call_stmt(), expand_LOAD_LANES(), expand_STORE_LANES(), expr_expected_value_1(), extract_range_basic(), find_func_aliases_for_builtin_call(), find_func_aliases_for_call(), find_func_clobbers(), find_tail_calls(), fold_builtin_alloca_with_align(), gen_conditions_for_pow(), gen_shrink_wrap_conditions(), get_mem_refs_of_builtin_call(), get_references_in_stmt(), get_string_length(), gimple_call_copy_skip_args(), gimple_call_nonnegative_warnv_p(), gimple_check_call_args(), gimple_equal_p(), gimple_fold_builtin(), gimple_fold_call(), gimple_fold_stmt_to_constant_1(), gimple_stringop_fixed_value(), gimple_stringops_transform(), gimple_stringops_values_to_profile(), gimple_val_nonnegative_real_p(), handle_builtin_memcpy(), handle_builtin_strcat(), handle_builtin_strchr(), handle_builtin_strcpy(), handle_builtin_strlen(), handle_const_call(), handle_lhs_call(), handle_pure_call(), handle_rhs_call(), infer_loop_bounds_from_array(), initialize_hash_element(), initialize_inlined_parameters(), instrument_builtin_call(), instrument_strlen_call(), ipa_compute_jump_functions_for_edge(), ipa_modify_call_arguments(), lower_builtin_setjmp(), lower_stmt(), move_stmt_r(), note_simd_array_uses(), optimize_stack_restore(), optimize_stdarg_builtin(), param_change_prob(), pass_through_call(), propagate_necessity(), ptr_parm_has_direct_uses(), ref_maybe_used_by_call_p_1(), remap_gimple_stmt(), same_handler_p(), same_succ_hash(), scan_function(), set_cond_stmt_execution_predicate(), simplify_builtin_call(), stmt_is_power_of_op(), stmt_kills_ref_p_1(), strip_predict_hints(), tm_memopt_accumulate_memops(), tm_memopt_value_number(), validate_call(), validate_gimple_arglist(), vect_analyze_data_refs(), vect_get_constant_vectors(), vect_mark_stmts_to_be_vectorized(), vect_recog_pow_pattern(), vectorizable_call(), vectorizable_live_operation(), verify_gimple_call(), vn_reference_lookup_3(), walk_gimple_op(), and walk_stmt_load_store_addr_ops().

int gimple_call_arg_flags ( const_gimple  ,
unsigned   
)
bool gimple_call_builtin_p ( gimple  ,
enum  built_in_class 
)
static tree* gimple_call_chain_ptr ( )
inlinestatic
Return a pointer to the static chain for call statement GS.   

Referenced by walk_gimple_op().

static struct pt_solution* gimple_call_clobber_set ( )
staticread
Return a pointer to the points-to solution for the set of call-used
   variables of the call CALL.   

Referenced by call_may_clobber_ref_p_1(), compute_points_to_sets(), dump_gimple_call(), gimple_call_reset_alias_info(), and ipa_pta_execute().

static void gimple_call_copy_flags ( )
inlinestatic
Copy all the GF_CALL_* flags from ORIG_CALL to DEST_CALL.   

Referenced by copy_bb(), gimple_call_copy_skip_args(), and ipa_modify_call_arguments().

gimple gimple_call_copy_skip_args ( gimple  ,
bitmap   
)
int gimple_call_flags ( const_gimple  )
static tree* gimple_call_fn_ptr ( )
inlinestatic
Return a pointer to the tree node representing the function called by call
   statement GS.   

Referenced by walk_gimple_op().

static tree gimple_call_fndecl ( )
inlinestatic
If a given GIMPLE_CALL's callee is a FUNCTION_DECL, return it.
   Otherwise return NULL.  This function is analogous to
   get_callee_fndecl in tree land.   

Referenced by acceptable_pow_call(), adjust_last_stmt(), alloc_object_size(), branch_prob(), build_cgraph_edges(), call_may_clobber_ref_p_1(), cgraph_clone_edge(), cgraph_redirect_edge_call_stmt_to_callee(), cgraph_set_call_stmt(), cgraph_update_edges_for_call_stmt_node(), check_call(), compute_object_sizes(), convert_callers(), convert_gimple_call(), copy_bb(), decrement_power(), do_warn_unused_result(), dse_optimize_stmt(), eliminate_unnecessary_stmts(), estimate_num_insns(), evaluate_stmt(), examine_call_tm(), execute_cse_reciprocals(), execute_cse_sincos(), execute_cse_sincos_1(), execute_fixup_cfg(), execute_fold_all_builtins(), execute_optimize_stdarg(), execute_optimize_widening_mul(), execute_return_slot_opt(), expand_block_edges(), expand_call_stmt(), expand_call_tm(), expr_expected_value_1(), extract_range_basic(), find_duplicate(), find_func_aliases_for_builtin_call(), find_func_aliases_for_call(), find_func_clobbers(), find_replaceable_in_bb(), find_tail_calls(), fold_call_stmt(), fold_marked_statements(), gen_shrink_wrap_conditions(), get_mem_refs_of_builtin_call(), get_string_length(), gimple_alloca_call_p(), gimple_call_builtin_p(), gimple_call_flags(), gimple_call_nonnegative_warnv_p(), gimple_call_same_target_p(), gimple_could_trap_p_1(), gimple_fold_builtin(), gimple_fold_call(), gimple_ic_transform(), gimple_indirect_call_to_profile(), gimple_regimplify_operands(), gimple_stringop_fixed_value(), gimple_stringops_transform(), gimple_stringops_values_to_profile(), gimple_val_nonnegative_real_p(), if_convertible_stmt_p(), inline_forbidden_p_stmt(), instrument_builtin_call(), instrument_gimple(), instrument_strlen_call(), ipa_modify_call_arguments(), ipa_profile_generate_summary(), ipa_pta_execute(), ipa_tm_decrement_clone_counts(), ipa_tm_diagnose_transaction(), ipa_tm_scan_calls_block(), ipa_tm_transform_calls_redirect(), is_call_dce_candidate(), is_ctrl_altering_stmt(), is_gimple_builtin_call(), is_tm_load(), is_tm_simple_load(), is_tm_simple_store(), is_tm_store(), loop_body_includes_call(), lower_eh_constructs_2(), lower_stmt(), mark_all_reaching_defs_necessary_1(), mark_stmt_if_obviously_necessary(), maybe_instrument_call(), move_stmt_r(), need_fake_edge_p(), nonfreeing_call_p(), optimize_omp_library_calls(), optimize_stack_restore(), optimize_stdarg_builtin(), optimize_stmt(), pass_through_call(), propagate_necessity(), rebuild_cgraph_edges(), record_temporary_equivalences_from_stmts_at_dest(), ref_maybe_used_by_call_p_1(), remap_gimple_stmt(), scan_function(), scan_omp_1_stmt(), simplify_builtin_call(), ssa_forward_propagate_and_combine(), stmt_cost(), stmt_interesting_for_vrp(), stmt_is_power_of_op(), stmt_kills_ref_p_1(), strip_predict_hints(), strlen_optimize_stmt(), surely_varying_stmt_p(), tm_region_init_1(), tree_bb_level_predictions(), tree_estimate_loop_size(), vect_recog_pow_pattern(), vectorizable_function(), verify_cgraph_node(), verify_gimple_call(), visit_bb(), and vrp_visit_stmt().

static bool gimple_call_from_thunk_p ( )
inlinestatic
Return true if GIMPLE_CALL S is a jump from a thunk.   

Referenced by expand_call_stmt().

static tree gimple_call_lhs ( )
inlinestatic
Return the LHS of call statement GS.   

Referenced by acceptable_pow_call(), ccp_fold_stmt(), ccp_visit_stmt(), check_forbidden_calls(), copy_bb(), copy_reference_ops_from_call(), dest_safe_for_nrv_p(), do_warn_unused_result(), dump_gimple_call(), eliminate_redundant_computations(), eliminate_tail_call(), eliminate_unnecessary_stmts(), estimate_function_body_sizes(), estimate_num_insns(), execute_cse_reciprocals(), execute_cse_sincos(), execute_cse_sincos_1(), execute_optimize_widening_mul(), execute_return_slot_opt(), expand_call_inline(), expand_call_stmt(), expand_call_tm(), expand_complex_move(), expand_LOAD_LANES(), expand_STORE_LANES(), find_func_aliases_for_builtin_call(), find_func_aliases_for_call(), find_tail_calls(), finish_update_gimple_call(), fixup_noreturn_call(), fold_builtin_alloca_with_align(), get_default_value(), get_mem_refs_of_builtin_call(), get_string_length(), gimple_call_copy_skip_args(), gimple_check_call_matching_types(), gimple_fold_builtin(), gimple_get_lhs(), gimple_ic(), gimple_stringop_fixed_value(), gimplify_and_update_call_from_tree(), handle_builtin_memcpy(), handle_builtin_strcat(), handle_builtin_strchr(), handle_builtin_strcpy(), handle_builtin_strlen(), handle_rhs_call(), infer_loop_bounds_from_array(), init_dont_simulate_again(), initialize_hash_element(), insert_clobbers_for_var(), instrument_builtin_call(), instrument_strlen_call(), ipa_modify_call_arguments(), ipa_sra_modify_function_body(), ipa_tm_insert_gettmclone_call(), ipa_tm_scan_irr_block(), is_call_dce_candidate(), lower_builtin_setjmp(), lower_eh_constructs_2(), mark_stmt_if_obviously_necessary(), may_propagate_copy_into_stmt(), movement_possibility(), note_simd_array_uses(), optimize_stmt(), propagate_op_to_single_use(), propagate_tree_value_into_stmt(), record_temporary_equivalences_from_stmts_at_dest(), replace_removed_params_ssa_names(), rewrite_cross_bb_scalar_deps(), same_handler_p(), scan_function(), simplify_builtin_call(), sra_modify_function_body(), stmt_may_clobber_ref_p_1(), strip_predict_hints(), surely_varying_stmt_p(), update_call_from_tree(), vect_create_vectorized_promotion_stmts(), vect_get_vec_def_for_operand(), vect_is_simple_use(), vect_mark_relevant(), vect_recog_pow_pattern(), vect_remove_slp_scalar_calls(), vect_setup_realignment(), vectorizable_call(), vectorizable_live_operation(), verify_gimple_call(), visit_assignment(), visit_use(), walk_gimple_op(), and walk_stmt_load_store_addr_ops().

static tree* gimple_call_lhs_ptr ( )
inlinestatic
Return a pointer to the LHS of call statement GS.   

Referenced by get_references_in_stmt(), ipa_sra_modify_function_body(), sra_modify_function_body(), and walk_gimple_op().

static bool gimple_call_noreturn_p ( )
inlinestatic
static bool gimple_call_nothrow_p ( )
inlinestatic
Return true if S is a nothrow call.   

Referenced by expand_call_stmt(), ipa_tm_insert_gettmclone_call(), stmt_could_throw_p(), and vect_build_slp_tree_1().

static unsigned gimple_call_num_args ( )
inlinestatic
Return the number of arguments used by call statement GS.   

Referenced by alloc_object_size(), bit_value_assume_aligned(), call_may_clobber_ref_p_1(), callsite_has_enough_arguments_p(), ccp_fold_stmt(), check_all_array_refs(), check_pow(), compute_object_sizes(), convert_tramp_reference_stmt(), copy_bb(), copy_reference_ops_from_call(), dump_gimple_call(), dump_gimple_call_args(), estimate_function_body_sizes(), estimate_num_insns(), execute_update_addresses_taken(), expand_call_stmt(), expr_expected_value_1(), find_func_aliases_for_call(), find_func_clobbers(), find_tail_calls(), fold_call_stmt(), get_references_in_stmt(), get_string_length(), gimple_call_copy_skip_args(), gimple_call_nonnegative_warnv_p(), gimple_check_call_args(), gimple_equal_p(), gimple_fold_builtin(), gimple_fold_builtin_snprintf_chk(), gimple_fold_builtin_sprintf_chk(), gimple_fold_call(), gimple_fold_stmt_to_constant_1(), handle_builtin_strcpy(), handle_const_call(), handle_lhs_call(), handle_pure_call(), handle_rhs_call(), infer_loop_bounds_from_array(), initialize_hash_element(), initialize_inlined_parameters(), instrument_builtin_call(), ipa_compute_jump_functions_for_edge(), ipa_sra_modify_function_body(), lower_stmt(), optimize_omp_library_calls(), optimize_stack_restore(), optimize_stdarg_builtin(), pass_through_call(), propagate_necessity(), ptr_parm_has_direct_uses(), ref_maybe_used_by_call_p_1(), same_handler_p(), same_succ_hash(), scan_function(), set_cond_stmt_execution_predicate(), simplify_builtin_call(), sra_modify_function_body(), strip_predict_hints(), validate_call(), validate_gimple_arglist(), vect_build_slp_tree(), vect_build_slp_tree_1(), vect_create_new_slp_node(), vect_get_and_check_slp_defs(), vect_mark_stmts_to_be_vectorized(), vectorizable_call(), verify_gimple_call(), walk_gimple_op(), and walk_stmt_load_store_addr_ops().

void gimple_call_reset_alias_info ( gimple  )
int gimple_call_return_flags ( const_gimple  )
static bool gimple_call_return_slot_opt_p ( )
inlinestatic
static tree gimple_call_return_type ( )
inlinestatic
bool gimple_call_same_target_p ( const_gimple  ,
const_gimple   
)
static void gimple_call_set_alloca_for_var ( )
inlinestatic
If FOR_VAR is true, GIMPLE_CALL S is a call to builtin_alloca that
   is known to be emitted for VLA objects.  Those are wrapped by
   stack_save/stack_restore calls and hence can't lead to unbounded
   stack growth even when they occur in loops.   

Referenced by gimple_build_call_from_tree().

static void gimple_call_set_chain ( )
inlinestatic
Set CHAIN to be the static chain for call statement GS.   

Referenced by convert_gimple_call(), gimple_build_call_from_tree(), gimple_call_copy_skip_args(), and ipa_modify_call_arguments().

static void gimple_call_set_fn ( )
inlinestatic
Set FN to be the function called by call statement GS.   

Referenced by eliminate_bb(), gimple_fold_call(), ipa_tm_insert_gettmclone_call(), and tm_memopt_transform_stmt().

static void gimple_call_set_fntype ( )
inlinestatic
static void gimple_call_set_from_thunk ( )
inlinestatic
If FROM_THUNK_P is true, mark GIMPLE_CALL S as being the jump from a
   thunk to the thunked-to function.   

Referenced by expand_thunk(), and gimple_build_call_from_tree().

static void gimple_call_set_internal_fn ( )
inlinestatic
Set internal function FN to be the function called by call statement GS.   

Referenced by gimple_build_call_internal_1(), and input_gimple_stmt().

static void gimple_call_set_nothrow ( )
inlinestatic
If NOTHROW_P is true, GIMPLE_CALL S is a call that is known to not throw
   even if the called function can throw in other cases.   

Referenced by gimple_build_call_from_tree(), and ipa_tm_insert_gettmclone_call().

static void gimple_call_set_return_slot_opt ( )
inlinestatic
If RETURN_SLOT_OPT_P is true mark GIMPLE_CALL S as valid for return
   slot optimization.  This transformation uses the target of the call
   expansion as the return slot for calls that return in memory.   

Referenced by execute_return_slot_opt(), gimple_build_call_from_tree(), and split_function().

static void gimple_call_set_tail ( )
inlinestatic
If TAIL_P is true, mark call statement S as being a tail call
   (i.e., a call just before the exit of a function).  These calls are
   candidate for tail call optimization.   

Referenced by expand_block_edges(), expand_gimple_basic_block(), expand_thunk(), gimple_build_call_from_tree(), and optimize_tail_call().

static void gimple_call_set_va_arg_pack ( )
inlinestatic
If PASS_ARG_PACK_P is true, GIMPLE_CALL S is a stdarg call that needs the
   argument pack in its argument list.   

Referenced by copy_bb(), and gimple_build_call_from_tree().

static bool gimple_call_tail_p ( )
inlinestatic
Return true if GIMPLE_CALL S is marked as a tail call.   

Referenced by dump_gimple_call(), expand_call_stmt(), expand_gimple_basic_block(), and vect_build_slp_tree_1().

static struct pt_solution* gimple_call_use_set ( )
staticread
Return a pointer to the points-to solution for the set of call-used
   variables of the call CALL.   

Referenced by compute_points_to_sets(), dump_gimple_call(), gimple_call_reset_alias_info(), ipa_pta_execute(), and ref_maybe_used_by_call_p_1().

static bool gimple_call_va_arg_pack_p ( )
inlinestatic
Return true if GIMPLE_CALL S is a stdarg call that needs the
   argument pack in its argument list.   

Referenced by copy_bb(), dump_gimple_call_args(), expand_call_stmt(), and fold_call_stmt().

bool gimple_can_coalesce_p ( tree  ,
tree   
)
static gimple_seq gimple_catch_handler ( )
inlinestatic
Return the GIMPLE sequence representing the body of the handler of
   GIMPLE_CATCH statement GS.   

Referenced by collect_finally_tree(), do_warn_unused_result(), dump_gimple_catch(), estimate_num_insns(), gimple_copy(), gimple_try_catch_may_fallthru(), lower_catch(), refactor_eh_r(), remap_gimple_stmt(), and verify_gimple_in_seq_2().

static gimple_seq* gimple_catch_handler_ptr ( )
inlinestatic
Return a pointer to the GIMPLE sequence representing the body of
   the handler of GIMPLE_CATCH statement GS.   

Referenced by lower_omp_1(), lower_try_catch(), replace_goto_queue_1(), and walk_gimple_stmt().

static void gimple_catch_set_handler ( )
inlinestatic
Set HANDLER to be the body of GIMPLE_CATCH GS.   

Referenced by gimple_build_catch(), and gimple_copy().

static void gimple_catch_set_types ( )
inlinestatic
Set T to be the set of types handled by GIMPLE_CATCH GS.   

Referenced by gimple_build_catch(), and gimple_copy().

static tree gimple_catch_types ( )
inlinestatic
Return the types handled by GIMPLE_CATCH statement GS.   

Referenced by dump_gimple_catch(), gimple_copy(), lower_catch(), and remap_gimple_stmt().

static tree* gimple_catch_types_ptr ( )
inlinestatic
Return a pointer to the types handled by GIMPLE_CATCH statement GS.   

Referenced by walk_gimple_op().

void gimple_check_failed ( const_gimple  ,
const char *  ,
int  ,
\const char *  ,
enum  gimple_code,
\enum  tree_code 
)
static enum gimple_code gimple_code ( )
inlinestatic
Return the code for GIMPLE statement G.   
bool gimple_compare_field_offset ( tree  ,
tree   
)
static enum tree_code gimple_cond_code ( )
inlinestatic
Return the code of the predicate computed by conditional statement GS.   

Referenced by abs_replacement(), add_conditions_to_domain(), associate_equivalences_with_edges(), bound_difference(), canonicalize_comparison(), ccp_fold(), check_forbidden_calls(), cleanup_control_expr_graph(), compute_complex_ancestor_jump_func(), conditional_replacement(), copy_prop_visit_cond_stmt(), create_parallel_loop(), dump_gimple_cond(), eliminate_bb(), estimate_num_insns(), evaluate_stmt(), expand_gimple_cond(), find_conditional_asserts(), fold_cond_expr_cond(), fold_gimple_cond(), fold_predicate_in(), forward_propagate_into_gimple_cond(), ifcombine_ifandif(), init_range_entry(), initialize_hash_element(), ipa_analyze_indirect_call_uses(), is_comparison_with_loop_invariant_p(), is_gcond_subset_of(), is_pred_expr_subset_of(), loop_niter_by_eval(), maybe_optimize_range_tests(), minmax_replacement(), move_computations_stmt(), normalize_cond(), normalize_preds(), number_of_iterations_exit(), optimize_stmt(), predicate_bbs(), predict_extra_loop_exits(), propagate_rhs_into_lhs(), recognize_bits_test(), recognize_single_bit_test(), record_edge_info(), rewrite_bittest(), set_cond_stmt_execution_predicate(), simplify_bitwise_binary(), simplify_cond_using_ranges(), simplify_control_stmt_condition(), simplify_stmt_for_jump_threading(), simplify_using_entry_checks(), simplify_using_initial_conditions(), stmt_simple_for_scop_p(), tree_may_unswitch_on(), tree_predict_by_opcode(), use_pred_not_overlap_with_undef_path_pred(), value_replacement(), verify_gimple_stmt(), and vrp_visit_cond_stmt().

static tree gimple_cond_false_label ( )
inlinestatic
Return the label used by conditional statement GS when its
   predicate evaluates to false.   

Referenced by cleanup_dead_labels(), diagnose_sb_2(), dump_gimple_cond(), make_cond_expr_edges(), maybe_record_in_goto_queue(), and verify_gimple_stmt().

static bool gimple_cond_false_p ( )
inlinestatic
Check if conditional statement GS is of the form 'if (1 != 1)',
   'if (0 != 0)', 'if (1 == 0)' or 'if (0 == 1)'  

Referenced by tree_may_unswitch_on(), and tree_unswitch_single_loop().

void gimple_cond_get_ops_from_tree ( tree  cond,
enum tree_code code_p,
tree lhs_p,
tree rhs_p 
)
static tree gimple_cond_lhs ( )
inlinestatic
Return the LHS of the predicate computed by conditional statement GS.   

Referenced by abs_replacement(), add_condition_to_pbb(), associate_equivalences_with_edges(), bound_difference(), canonicalize_comparison(), ccp_fold(), cleanup_control_expr_graph(), compute_complex_ancestor_jump_func(), conditional_replacement(), copy_prop_visit_cond_stmt(), create_empty_loop_on_edge(), create_parallel_loop(), dump_gimple_cond(), eliminate_bb(), evaluate_stmt(), expand_complex_operations_1(), expand_gimple_cond(), find_conditional_asserts(), find_params_in_bb(), fold_cond_expr_cond(), fold_gimple_cond(), fold_predicate_in(), forward_propagate_into_gimple_cond(), fp_predicate(), gimple_equal_p(), identify_jump_threads(), ifcombine_ifandif(), init_dont_simulate_again(), init_range_entry(), initialize_hash_element(), ipa_analyze_indirect_call_uses(), is_comparison_with_loop_invariant_p(), is_gcond_subset_of(), is_pred_expr_subset_of(), loop_niter_by_eval(), maybe_optimize_range_tests(), minmax_replacement(), move_computations_stmt(), normalize_cond(), normalize_preds(), number_of_iterations_exit(), optimize_stmt(), phi_result_unknown_predicate(), predicate_bbs(), predict_extra_loop_exits(), propagate_rhs_into_lhs(), recognize_bits_test(), recognize_single_bit_test(), record_edge_info(), rewrite_bittest(), set_cond_stmt_execution_predicate(), simplify_bitwise_binary(), simplify_cond_using_ranges(), simplify_control_stmt_condition(), simplify_stmt_for_jump_threading(), simplify_using_entry_checks(), simplify_using_initial_conditions(), stmt_could_throw_1_p(), transform_to_exit_first_loop(), tree_estimate_loop_size(), tree_may_unswitch_on(), tree_predict_by_opcode(), tree_ssa_phiopt_worker(), use_pred_not_overlap_with_undef_path_pred(), value_replacement(), verify_gimple_stmt(), and vrp_visit_cond_stmt().

static tree* gimple_cond_lhs_ptr ( )
inlinestatic
Return the pointer to the LHS of the predicate computed by conditional
   statement GS.   

Referenced by expand_omp_for_init_counts(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_omp_simd(), extract_cond_operands(), gimple_regimplify_operands(), and lower_omp_1().

static void gimple_cond_make_false ( )
inlinestatic
static void gimple_cond_make_true ( )
inlinestatic
static tree gimple_cond_rhs ( )
inlinestatic
Return the RHS operand of the predicate computed by conditional GS.   

Referenced by abs_replacement(), add_condition_to_pbb(), associate_equivalences_with_edges(), bound_difference(), canonicalize_comparison(), ccp_fold(), check_forbidden_calls(), cleanup_control_expr_graph(), compute_complex_ancestor_jump_func(), conditional_replacement(), copy_prop_visit_cond_stmt(), create_parallel_loop(), dump_gimple_cond(), eliminate_bb(), evaluate_stmt(), expand_complex_operations_1(), expand_gimple_cond(), find_conditional_asserts(), find_params_in_bb(), fold_cond_expr_cond(), fold_gimple_cond(), fold_predicate_in(), forward_propagate_into_gimple_cond(), gimple_equal_p(), identify_jump_threads(), ifcombine_ifandif(), init_dont_simulate_again(), init_range_entry(), initialize_hash_element(), ipa_analyze_indirect_call_uses(), is_comparison_with_loop_invariant_p(), is_gcond_subset_of(), is_pred_expr_subset_of(), loop_niter_by_eval(), maybe_optimize_range_tests(), minmax_replacement(), move_computations_stmt(), normalize_cond(), normalize_preds(), number_of_iterations_exit(), optimize_stmt(), phi_result_unknown_predicate(), predicate_bbs(), predict_extra_loop_exits(), propagate_rhs_into_lhs(), recognize_bits_test(), recognize_single_bit_test(), record_edge_info(), rewrite_bittest(), set_cond_stmt_execution_predicate(), simplify_bitwise_binary(), simplify_cond_using_ranges(), simplify_control_stmt_condition(), simplify_stmt_for_jump_threading(), simplify_using_entry_checks(), simplify_using_initial_conditions(), transform_to_exit_first_loop(), tree_estimate_loop_size(), tree_may_unswitch_on(), tree_predict_by_opcode(), use_pred_not_overlap_with_undef_path_pred(), value_replacement(), verify_gimple_stmt(), and vrp_visit_cond_stmt().

static tree* gimple_cond_rhs_ptr ( )
inlinestatic
Return the pointer to the RHS operand of the predicate computed by
   conditional GS.   

Referenced by expand_omp_for_init_counts(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_omp_simd(), extract_cond_operands(), gimple_regimplify_operands(), and lower_omp_1().

static void gimple_cond_set_condition ( )
inlinestatic
Set the code, LHS and RHS of GIMPLE_COND STMT from CODE, LHS and RHS.   

Referenced by gimple_cond_set_condition_from_tree().

void gimple_cond_set_condition_from_tree ( gimple  ,
tree   
)
static void gimple_cond_set_false_label ( )
inlinestatic
Set LABEL to be the label used by conditional statement GS when its
   predicate evaluates to false.   

Referenced by cleanup_dead_labels(), gimple_build_cond(), and make_cond_expr_edges().

static void gimple_cond_set_true_label ( )
inlinestatic
Set LABEL to be the label used by conditional statement GS when its
   predicate evaluates to true.   

Referenced by cleanup_dead_labels(), gimple_build_cond(), and make_cond_expr_edges().

static tree gimple_cond_true_label ( )
inlinestatic
Return the label used by conditional statement GS when its
   predicate evaluates to true.   

Referenced by cleanup_dead_labels(), diagnose_sb_2(), dump_gimple_cond(), make_cond_expr_edges(), maybe_record_in_goto_queue(), and verify_gimple_stmt().

static bool gimple_cond_true_p ( )
inlinestatic
Check if conditional statemente GS is of the form 'if (1 == 1)',
  'if (0 == 0)', 'if (1 != 0)' or 'if (0 != 1)'  

Referenced by tree_may_unswitch_on(), and tree_unswitch_single_loop().

gimple gimple_copy ( gimple  )
bool gimple_could_trap_p ( gimple  )
bool gimple_could_trap_p_1 ( gimple  ,
bool  ,
bool   
)
gimple gimple_current_bind_expr ( void  )
Return the first element of the stack of bindings.   

References gimplify_ctx::bind_expr_stack.

static tree gimple_debug_bind_get_value ( )
inlinestatic
static tree* gimple_debug_bind_get_value_ptr ( )
inlinestatic
Return a pointer to the value bound to the variable in a
   GIMPLE_DEBUG bind statement.   

Referenced by copy_debug_stmt(), eliminate_local_variables_stmt(), execute_update_addresses_taken(), and parse_ssa_operands().

static bool gimple_debug_bind_has_value_p ( )
inlinestatic
Return true if the GIMPLE_DEBUG bind statement is bound to a
   value.   

Referenced by copy_debug_stmt(), execute_update_addresses_taken(), expand_gimple_basic_block(), mark_stmt_if_obviously_necessary(), parse_ssa_operands(), and verify_ssa().

static void gimple_debug_bind_set_value ( )
inlinestatic
Set the value bound to the variable in a GIMPLE_DEBUG bind
   statement.   

Referenced by copy_debug_stmt(), fold_stmt_1(), and gimple_build_debug_bind_stat().

static void gimple_debug_bind_set_var ( )
inlinestatic
Set the variable bound in a GIMPLE_DEBUG bind statement.   

Referenced by copy_debug_stmt(), gimple_build_debug_bind_stat(), and separate_decls_in_region_debug().

static tree gimple_debug_source_bind_get_value ( )
inlinestatic
Return the value bound to the variable in a GIMPLE_DEBUG source bind
   statement.   

Referenced by copy_debug_stmt(), dump_gimple_debug(), expand_gimple_basic_block(), maybe_move_debug_stmts_to_successors(), remap_gimple_stmt(), and rewrite_debug_stmt_uses().

static tree* gimple_debug_source_bind_get_value_ptr ( )
inlinestatic
Return a pointer to the value bound to the variable in a
   GIMPLE_DEBUG source bind statement.   

Referenced by copy_debug_stmt().

static tree gimple_debug_source_bind_get_var ( )
inlinestatic
static bool gimple_debug_source_bind_p ( )
inlinestatic
static void gimple_debug_source_bind_set_value ( )
inlinestatic
Set the value bound to the variable in a GIMPLE_DEBUG source bind
   statement.   

Referenced by gimple_build_debug_source_bind_stat().

static void gimple_debug_source_bind_set_var ( )
inlinestatic
Set the variable bound in a GIMPLE_DEBUG source bind statement.   

Referenced by copy_debug_stmt(), gimple_build_debug_source_bind_stat(), and separate_decls_in_region_debug().

const char* gimple_decl_printable_name ( tree  ,
int   
)
static int gimple_eh_dispatch_region ( )
inlinestatic
static void gimple_eh_dispatch_set_region ( )
inlinestatic
Set REGION to be the region number for GIMPLE_EH_DISPATCH GS.   

Referenced by input_gimple_stmt(), move_stmt_r(), and remap_gimple_stmt().

static gimple_seq* gimple_eh_else_e_body_ptr ( )
inlinestatic
static gimple_seq* gimple_eh_else_n_body_ptr ( )
inlinestatic
GIMPLE_EH_ELSE accessors.   

Referenced by lower_stmt(), replace_goto_queue_1(), and walk_gimple_stmt().

static void gimple_eh_else_set_e_body ( )
inlinestatic
static void gimple_eh_else_set_n_body ( )
inlinestatic
static gimple_seq gimple_eh_filter_failure ( )
inlinestatic
static gimple_seq* gimple_eh_filter_failure_ptr ( )
inlinestatic
Return a pointer to the sequence of statement to execute when
   GIMPLE_EH_FILTER statement fails.   

Referenced by lower_eh_filter(), lower_omp_1(), lower_try_catch(), replace_goto_queue_1(), and walk_gimple_stmt().

static void gimple_eh_filter_set_failure ( )
inlinestatic
Set FAILURE to be the sequence of statements to execute on failure
   for GIMPLE_EH_FILTER GS.   

Referenced by gimple_build_eh_filter(), and gimple_copy().

static void gimple_eh_filter_set_types ( )
inlinestatic
Set TYPES to be the set of types handled by GIMPLE_EH_FILTER GS.   

Referenced by gimple_build_eh_filter(), and gimple_copy().

static tree gimple_eh_filter_types ( )
inlinestatic
Return the types handled by GIMPLE_EH_FILTER statement GS.   

Referenced by dump_gimple_eh_filter(), gimple_copy(), lower_eh_filter(), and remap_gimple_stmt().

static tree* gimple_eh_filter_types_ptr ( )
inlinestatic
Return a pointer to the types handled by GIMPLE_EH_FILTER statement
   GS.   

Referenced by walk_gimple_op().

static tree gimple_eh_must_not_throw_fndecl ( )
inlinestatic
Get the function decl to be called by the MUST_NOT_THROW region.   

Referenced by dump_gimple_eh_must_not_throw(), lower_eh_must_not_throw(), and output_gimple_stmt().

static void gimple_eh_must_not_throw_set_fndecl ( )
inlinestatic
Set the function decl to be called by GS to DECL.   

Referenced by gimple_build_eh_must_not_throw(), and input_gimple_stmt().

static enum tree_code gimple_expr_code ( )
inlinestatic
Return the tree code for the expression computed by STMT.  This is
   only valid for GIMPLE_COND, GIMPLE_CALL and GIMPLE_ASSIGN.  For
   GIMPLE_CALL, return CALL_EXPR as the expression code for
   consistency.  This is useful when the caller needs to deal with the
   three kinds of computation that GIMPLE supports.   

Referenced by complex_visit_stmt(), compute_complex_assign_jump_func(), expand_complex_operations_1(), expand_gimple_stmt_1(), gimple_assign_rhs_to_tree(), gimple_equal_p(), gimple_regimplify_operands(), init_dont_simulate_again(), stmt_could_throw_1_p(), and vect_get_constant_vectors().

tree gimple_extract_devirt_binfo_from_cst ( tree  ,
tree   
)
static const char* gimple_filename ( )
inlinestatic
Return the file name of the location of STMT.   

Referenced by branch_prob(), and inline_small_functions().

tree gimple_fold_builtin ( gimple  )
alias_set_type gimple_get_alias_set ( tree  )
tree gimple_get_lhs ( const_gimple  )
tree gimple_get_virt_method_for_binfo ( HOST_WIDE_INT  ,
tree   
)
static void gimple_goto_set_dest ( )
inlinestatic
Set DEST to be the destination of the unconditonal jump GS.   

Referenced by cleanup_dead_labels(), factor_computed_gotos(), and gimple_build_goto().

bool gimple_has_body_p ( tree  )
static bool gimple_has_mem_ops ( )
inlinestatic
static bool gimple_has_ops ( )
inlinestatic
Return true if GIMPLE statement G has register or memory operands.   

Referenced by gimple_copy().

bool gimple_has_side_effects ( const_gimple  )
static bool gimple_has_substatements ( )
inlinestatic
Return true if statement G has sub-statements.  This is only true for
   High GIMPLE statements.   

Referenced by gimple_copy(), lower_sequence_no_tm(), lower_sequence_tm(), remap_gimple_stmt(), and walk_gimple_stmt().

static bool gimple_in_transaction ( )
inlinestatic
Return true if STMT is in a transaction.   

Referenced by movement_possibility().

static void gimple_init_singleton ( )
inlinestatic
Make statement G a singleton sequence.   

Referenced by gimple_alloc_stat(), gimple_assign_set_rhs_with_ops_1(), gimple_copy(), and make_phi_node().

bool gimple_ior_addresses_taken ( bitmap  ,
gimple   
)
static void gimple_label_set_label ( )
inlinestatic
Set LABEL to be the LABEL_DECL node used by GIMPLE_LABEL statement
   GS.   

Referenced by gimple_build_label().

static int gimple_lineno ( )
inlinestatic
Return the line number of the location of STMT.   

Referenced by branch_prob(), and inline_small_functions().

static location_t gimple_location ( )
inlinestatic
Return location information for statement G.   

Referenced by add_field_for_reduction(), adjust_bool_pattern(), assign_discriminators(), attempt_builtin_powi(), branch_prob(), build_arrays(), build_one_array(), canonicalize_loop_induction_variables(), ccp_fold(), check_all_array_refs(), check_counter(), check_ic_target(), check_omp_nesting_restrictions(), cleanup_control_expr_graph(), combine_cond_expr_cond(), cond_if_else_store_replacement_1(), cond_store_replacement(), conditional_replacement(), convert_gimple_call(), convert_local_reference_stmt(), convert_mult_to_widen(), convert_nonlocal_reference_stmt(), convert_plusminus_to_widen(), copy_bb(), copy_prop_visit_cond_stmt(), create_omp_child_function(), create_phi_for_local_result(), create_task_copyfn(), diagnose_tm_1(), diagnose_tm_1_op(), do_switchconv(), do_warn_aggressive_loop_optimizations(), do_warn_unused_result(), eliminate_tail_call(), execute_cse_sincos(), execute_warn_function_return(), expand_asm_stmt(), expand_assign_tm(), expand_call_inline(), expand_call_stmt(), expand_call_tm(), expand_complex_div_wide(), expand_expr_real_1(), expand_gimple_basic_block(), expand_gimple_cond(), expand_gimple_stmt(), expand_gimple_stmt_1(), expand_omp(), expand_omp_atomic_fetch_op(), expand_omp_atomic_load(), expand_omp_atomic_store(), expand_parallel_call(), expand_task_call(), expand_transaction(), expand_vector_condition(), expand_vector_parallel(), expand_vector_piecewise(), extract_omp_for_data(), find_bb_location(), find_loop_location(), finish_update_gimple_call(), fold_call_stmt(), fold_cond_expr_cond(), fold_gimple_assign(), fold_gimple_cond(), fold_undefer_overflow_warnings(), forward_propagate_addr_expr_1(), forward_propagate_into_cond(), frob_into_branch_around(), gen_inbound_check(), gen_parallel_loop(), generate_memcpy_builtin(), generate_memset_builtin(), get_lineno(), get_string_length(), get_ws_args_for(), gimple_assign_rhs_to_tree(), gimple_build_debug_bind_stat(), gimple_build_debug_source_bind_stat(), gimple_call_copy_skip_args(), gimple_can_merge_blocks_p(), gimple_fold_builtin(), gimple_fold_builtin_snprintf_chk(), gimple_fold_builtin_sprintf_chk(), gimple_fold_stmt_to_constant_1(), gimplify_and_update_call_from_tree(), gimplify_build1(), gimplify_build2(), gimplify_build3(), gsi_replace(), handle_builtin_memcpy(), handle_builtin_strcat(), handle_builtin_strchr(), handle_builtin_strcpy(), handle_builtin_strlen(), handle_unscalarized_data_in_subtree(), honor_protect_cleanup_actions(), init_range_entry(), init_tmp_var(), init_tmp_var_with_call(), initialize_reductions(), input_gimple_stmt(), insert_initializers(), instrument_builtin_call(), instrument_expr(), instrument_func_exit(), instrument_strlen_call(), introduce_cast_before_cand(), ipa_modify_call_arguments(), ipa_tm_diagnose_tm_safe(), ipa_tm_diagnose_transaction(), ipa_tm_scan_irr_block(), is_replaceable_p(), load_assign_lhs_subreplacements(), lower_builtin_setjmp(), lower_catch(), lower_eh_constructs_2(), lower_eh_must_not_throw(), lower_emutls_stmt(), lower_gimple_return(), lower_omp_1(), lower_omp_critical(), lower_omp_master(), lower_omp_single_copy(), lower_omp_single_simple(), lower_omp_taskreg(), lower_try_finally_copy(), lower_try_finally_dup_block(), lower_try_finally_fallthru_label(), lower_try_finally_nofallthru(), lower_try_finally_onedest(), lower_try_finally_switch(), lower_vec_perm(), make_blocks(), make_cond_expr_edges(), make_goto_expr_edges(), maybe_instrument_assignment(), maybe_instrument_call(), maybe_record_in_goto_queue(), mf_xform_statements(), mx_xfn_xform_decls(), number_of_iterations_exit(), optimize_stdarg_builtin(), optimize_stmt(), output_gimple_stmt(), phiprop_insert_phi(), pp_gimple_stmt_1(), predicate_bbs(), propagate_rhs_into_lhs(), reassociate_bb(), record_edge_info(), remove_exits_and_undefined_stmts(), replace_conditional_candidate(), replace_goto_queue_cond_clause(), replace_mult_candidate(), replace_one_candidate(), replace_profitable_candidates(), rewrite_add_phi_arguments(), rewrite_update_phi_arguments(), rhs_to_tree(), save_tmp_var(), scan_omp_1_stmt(), scan_omp_parallel(), scan_omp_single(), scan_omp_task(), set_location_for_edge(), shrink_wrap_one_built_in_call(), simplify_abs_using_ranges(), simplify_bitwise_binary(), simplify_cond_using_ranges(), simplify_div_or_mod_using_ranges(), sra_ipa_modify_assign(), sra_modify_assign(), sra_modify_constructor_assign(), sra_modify_expr(), ssa_forward_propagate_and_combine(), task_copyfn_remap_type(), tree_forwarder_block_p(), update_call_from_tree(), update_range_test(), vect_finish_stmt_generation(), verify_gimple_in_cfg(), vrp_evaluate_conditional(), walk_gimple_omp_for(), walk_gimple_stmt(), and warn_uninit().

static const location_t* gimple_location_ptr ( )
inlinestatic
Return pointer to location information for statement G.   

Referenced by check_all_array_refs().

static bool gimple_modified_p ( )
inlinestatic
Return true if statement G has operands and the modified field has
   been set.   

Referenced by associate_plusminus(), initialize_flags_in_bb(), optimize_stmt(), update_stmt_operands(), verify_imm_links(), and verify_ssa().

static bool gimple_no_warning_p ( )
inlinestatic
Return true if no warnings should be emitted for statement STMT.   

Referenced by combine_cond_expr_cond(), execute_warn_function_return(), fold_undefer_overflow_warnings(), output_gimple_stmt(), and warn_uninit().

static tree gimple_omp_atomic_load_lhs ( )
inlinestatic
Get the LHS of an atomic load.   

Referenced by dump_gimple_omp_atomic_load(), and expand_omp_atomic().

static tree* gimple_omp_atomic_load_lhs_ptr ( )
inlinestatic
Return a pointer to the LHS of an atomic load.   

Referenced by walk_gimple_op().

static tree gimple_omp_atomic_load_rhs ( )
inlinestatic
Get the RHS of an atomic load.   

Referenced by dump_gimple_omp_atomic_load(), and expand_omp_atomic().

static tree* gimple_omp_atomic_load_rhs_ptr ( )
inlinestatic
Return a pointer to the RHS of an atomic load.   

Referenced by gimple_regimplify_operands(), lower_omp_1(), and walk_gimple_op().

static void gimple_omp_atomic_load_set_lhs ( )
inlinestatic
Set the LHS of an atomic load.   

Referenced by gimple_build_omp_atomic_load().

static void gimple_omp_atomic_load_set_rhs ( )
inlinestatic
Set the RHS of an atomic load.   

Referenced by gimple_build_omp_atomic_load().

static bool gimple_omp_atomic_need_value_p ( )
inlinestatic
Return true if OMP atomic load/store statement G has the
   GF_OMP_ATOMIC_NEED_VALUE flag set.   

Referenced by dump_gimple_omp_atomic_load(), dump_gimple_omp_atomic_store(), expand_omp_atomic_fetch_op(), and expand_omp_atomic_store().

static void gimple_omp_atomic_set_need_value ( )
inlinestatic
Set the GF_OMP_ATOMIC_NEED_VALUE flag on G.   

Referenced by gimplify_omp_atomic().

static void gimple_omp_atomic_store_set_val ( )
inlinestatic
Set the value being stored in an atomic store.   

Referenced by gimple_build_omp_atomic_store().

static tree gimple_omp_atomic_store_val ( )
inlinestatic
Return the value being stored in an atomic store.   

Referenced by dump_gimple_omp_atomic_store(), and expand_omp_atomic().

static tree* gimple_omp_atomic_store_val_ptr ( )
inlinestatic
Return a pointer to the value being stored in an atomic store.   

Referenced by walk_gimple_op().

static tree gimple_omp_continue_control_def ( )
inlinestatic
Get the definition of the control variable in a GIMPLE_OMP_CONTINUE.   

Referenced by dump_gimple_omp_continue(), expand_omp_for_generic(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), and expand_omp_sections().

static tree* gimple_omp_continue_control_def_ptr ( )
inlinestatic
The same as above, but return the address.   

Referenced by walk_gimple_op().

static tree gimple_omp_continue_control_use ( )
inlinestatic
Get the use of the control variable in a GIMPLE_OMP_CONTINUE.   

Referenced by dump_gimple_omp_continue(), expand_omp_for_generic(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), and expand_omp_sections().

static tree* gimple_omp_continue_control_use_ptr ( )
inlinestatic
The same as above, but return the address.   

Referenced by walk_gimple_op().

static void gimple_omp_continue_set_control_def ( )
inlinestatic
Set the definition of the control variable in a GIMPLE_OMP_CONTINUE.   

Referenced by gimple_build_omp_continue().

static void gimple_omp_continue_set_control_use ( )
inlinestatic
Set the use of the control variable in a GIMPLE_OMP_CONTINUE.   

Referenced by gimple_build_omp_continue().

static tree gimple_omp_critical_name ( )
inlinestatic
Return the name associated with OMP_CRITICAL statement GS.   

Referenced by check_omp_nesting_restrictions(), dump_gimple_omp_critical(), gimple_copy(), lower_omp_critical(), and remap_gimple_stmt().

static tree* gimple_omp_critical_name_ptr ( )
inlinestatic
Return a pointer to the name associated with OMP critical statement GS.   

Referenced by walk_gimple_op().

static void gimple_omp_critical_set_name ( )
inlinestatic
Set NAME to be the name associated with OMP critical statement GS.   

Referenced by gimple_build_omp_critical(), and gimple_copy().

static tree* gimple_omp_for_clauses_ptr ( )
inlinestatic
Return a pointer to the OMP_FOR GS.   

Referenced by convert_local_reference_stmt(), convert_nonlocal_reference_stmt(), and walk_gimple_op().

static size_t gimple_omp_for_collapse ( )
inlinestatic
static enum tree_code gimple_omp_for_cond ( )
inlinestatic
Return the condition code associated with OMP_FOR GS.   

Referenced by dump_gimple_omp_for(), extract_omp_for_data(), gimple_copy(), and remap_gimple_stmt().

static tree gimple_omp_for_final ( )
inlinestatic
Return the final value for OMP_FOR GS.   

Referenced by dump_gimple_omp_for(), extract_omp_for_data(), gimple_copy(), and remap_gimple_stmt().

static tree* gimple_omp_for_final_ptr ( )
inlinestatic
Return a pointer to the final value for OMP_FOR GS.   

Referenced by lower_omp_for(), scan_omp_for(), walk_gimple_omp_for(), and walk_gimple_op().

static tree gimple_omp_for_incr ( )
inlinestatic
Return the increment value for OMP_FOR GS.   

Referenced by dump_gimple_omp_for(), extract_omp_for_data(), gimple_copy(), lower_omp_for(), remap_gimple_stmt(), and walk_gimple_omp_for().

static tree* gimple_omp_for_incr_ptr ( )
inlinestatic
Return a pointer to the increment value for OMP_FOR GS.   

Referenced by scan_omp_for(), and walk_gimple_op().

static tree gimple_omp_for_index ( )
inlinestatic
Return the index variable for OMP_FOR GS.   

Referenced by dump_gimple_omp_for(), extract_omp_for_data(), gimple_copy(), and remap_gimple_stmt().

static tree* gimple_omp_for_index_ptr ( )
inlinestatic
Return a pointer to the index variable for OMP_FOR GS.   

Referenced by scan_omp_for(), walk_gimple_omp_for(), and walk_gimple_op().

static tree gimple_omp_for_initial ( )
inlinestatic
Return the initial value for OMP_FOR GS.   

Referenced by dump_gimple_omp_for(), extract_omp_for_data(), gimple_copy(), and remap_gimple_stmt().

static tree* gimple_omp_for_initial_ptr ( )
inlinestatic
Return a pointer to the initial value for OMP_FOR GS.   

Referenced by lower_omp_for(), scan_omp_for(), walk_gimple_omp_for(), and walk_gimple_op().

static gimple_seq gimple_omp_for_pre_body ( )
inlinestatic
Return the sequence of statements to execute before the OMP_FOR
   statement GS starts.   

Referenced by diagnose_sb_1(), dump_gimple_omp_for(), estimate_num_insns(), gimple_copy(), lower_omp_for(), remap_gimple_stmt(), and walk_gimple_omp_for().

static gimple_seq* gimple_omp_for_pre_body_ptr ( )
inlinestatic
Return a pointer to the sequence of statements to execute before the OMP_FOR
   statement GS starts.   

Referenced by convert_gimple_call(), diagnose_sb_2(), lower_omp_for(), scan_omp_for(), walk_gimple_omp_for(), and walk_gimple_stmt().

static void gimple_omp_for_set_clauses ( )
inlinestatic
Set CLAUSES to be the list of clauses associated with OMP_FOR GS.   

Referenced by gimple_build_omp_for(), gimple_copy(), and lower_rec_input_clauses().

static void gimple_omp_for_set_cond ( )
inlinestatic
Set COND to be the condition code for OMP_FOR GS.   

Referenced by create_parallel_loop(), gimple_copy(), gimplify_omp_for(), and remap_gimple_stmt().

static void gimple_omp_for_set_final ( )
inlinestatic
Set FINAL to be the final value for OMP_FOR GS.   

Referenced by create_parallel_loop(), gimple_copy(), gimplify_omp_for(), and remap_gimple_stmt().

static void gimple_omp_for_set_incr ( )
inlinestatic
Set INCR to be the increment value for OMP_FOR GS.   

Referenced by create_parallel_loop(), gimple_copy(), gimplify_omp_for(), and remap_gimple_stmt().

static void gimple_omp_for_set_index ( )
inlinestatic
Set INDEX to be the index variable for OMP_FOR GS.   

Referenced by create_parallel_loop(), gimple_copy(), gimplify_omp_for(), and remap_gimple_stmt().

static void gimple_omp_for_set_initial ( )
inlinestatic
Set INITIAL to be the initial value for OMP_FOR GS.   

Referenced by create_parallel_loop(), gimple_copy(), gimplify_omp_for(), and remap_gimple_stmt().

static void gimple_omp_for_set_kind ( )
inlinestatic
Set the OMP for kind.   

Referenced by gimple_build_omp_for().

static void gimple_omp_for_set_pre_body ( )
inlinestatic
Set PRE_BODY to be the sequence of statements to execute before the
   OMP_FOR statement GS starts.   

Referenced by gimple_build_omp_for(), gimple_copy(), lower_omp_for(), and walk_gimple_omp_for().

static tree gimple_omp_parallel_child_fn ( )
inlinestatic
Return the child function used to hold the body of OMP_PARALLEL GS.   

Referenced by build_cgraph_edges(), dump_gimple_omp_parallel(), expand_parallel_call(), gimple_copy(), remap_gimple_stmt(), and remove_exit_barrier().

static tree* gimple_omp_parallel_child_fn_ptr ( )
inlinestatic
Return a pointer to the child function used to hold the body of
   OMP_PARALLEL GS.   

Referenced by walk_gimple_op().

static tree gimple_omp_parallel_clauses ( )
inlinestatic
static tree* gimple_omp_parallel_clauses_ptr ( )
inlinestatic
Return a pointer to the clauses associated with OMP_PARALLEL GS.   

Referenced by walk_gimple_op().

static bool gimple_omp_parallel_combined_p ( )
inlinestatic
Return true if OMP parallel statement G has the
   GF_OMP_PARALLEL_COMBINED flag set.   

Referenced by determine_parallel_type(), and lower_omp_taskreg().

static tree gimple_omp_parallel_data_arg ( )
inlinestatic
Return the artificial argument used to send variables and values
   from the parent to the children threads in OMP_PARALLEL GS.   

Referenced by dump_gimple_omp_parallel(), expand_parallel_call(), gimple_copy(), and remap_gimple_stmt().

static tree* gimple_omp_parallel_data_arg_ptr ( )
inlinestatic
Return a pointer to the data argument for OMP_PARALLEL GS.   

Referenced by walk_gimple_op().

static void gimple_omp_parallel_set_child_fn ( )
inlinestatic
Set CHILD_FN to be the child function for OMP_PARALLEL GS.   

Referenced by gimple_build_omp_parallel(), gimple_copy(), and scan_omp_parallel().

static void gimple_omp_parallel_set_clauses ( )
inlinestatic
Set CLAUSES to be the list of clauses associated with OMP_PARALLEL
   GS.   

Referenced by gimple_build_omp_parallel(), and gimple_copy().

static void gimple_omp_parallel_set_combined_p ( )
inlinestatic
Set the GF_OMP_PARALLEL_COMBINED field in G depending on the boolean
   value of COMBINED_P.   

Referenced by lower_omp_taskreg().

static void gimple_omp_parallel_set_data_arg ( )
inlinestatic
Set DATA_ARG to be the data argument for OMP_PARALLEL GS.   

Referenced by gimple_build_omp_parallel(), and gimple_copy().

static bool gimple_omp_return_nowait_p ( )
inlinestatic
static void gimple_omp_return_set_nowait ( )
inlinestatic
Set the nowait flag on OMP_RETURN statement S.   

Referenced by gimple_build_omp_return(), and remove_exit_barrier().

static bool gimple_omp_section_last_p ( )
inlinestatic
Return true if OMP section statement G has the GF_OMP_SECTION_LAST
   flag set.   

Referenced by expand_omp_sections().

static void gimple_omp_section_set_last ( )
inlinestatic
Set the GF_OMP_SECTION_LAST flag on G.   

Referenced by lower_omp_sections().

static tree gimple_omp_sections_clauses ( )
inlinestatic
Return the clauses associated with OMP_SECTIONS GS.   

Referenced by dump_gimple_omp_sections(), gimple_copy(), lower_omp_sections(), remap_gimple_stmt(), and scan_omp_sections().

static tree* gimple_omp_sections_clauses_ptr ( )
inlinestatic
Return a pointer to the clauses associated with OMP_SECTIONS GS.   

Referenced by convert_local_reference_stmt(), convert_nonlocal_reference_stmt(), and walk_gimple_op().

static tree gimple_omp_sections_control ( )
inlinestatic
Return the control variable associated with the GIMPLE_OMP_SECTIONS
   in GS.   

Referenced by dump_gimple_omp_sections(), expand_omp_sections(), and gimple_copy().

static tree* gimple_omp_sections_control_ptr ( )
inlinestatic
Return a pointer to the clauses associated with the GIMPLE_OMP_SECTIONS
   GS.   

Referenced by walk_gimple_op().

static void gimple_omp_sections_set_clauses ( )
inlinestatic
Set CLAUSES to be the set of clauses associated with OMP_SECTIONS
   GS.   

Referenced by gimple_build_omp_sections(), and gimple_copy().

static void gimple_omp_sections_set_control ( )
inlinestatic
Set CONTROL to be the set of clauses associated with the
   GIMPLE_OMP_SECTIONS in GS.   

Referenced by gimple_copy(), and lower_omp_sections().

static void gimple_omp_set_subcode ( )
inlinestatic
Set the subcode for OMP statement S to SUBCODE.   

Referenced by expand_omp_taskreg(), and gimplify_omp_parallel().

static tree gimple_omp_single_clauses ( )
inlinestatic
Return the clauses associated with OMP_SINGLE GS.   

Referenced by dump_gimple_omp_single(), expand_omp_single(), lower_omp_single(), lower_omp_single_copy(), remap_gimple_stmt(), and scan_omp_single().

static tree* gimple_omp_single_clauses_ptr ( )
inlinestatic
Return a pointer to the clauses associated with OMP_SINGLE GS.   

Referenced by convert_local_reference_stmt(), convert_nonlocal_reference_stmt(), and walk_gimple_op().

static void gimple_omp_single_set_clauses ( )
inlinestatic
Set CLAUSES to be the clauses associated with OMP_SINGLE GS.   

Referenced by gimple_build_omp_single().

static unsigned gimple_omp_subcode ( )
inlinestatic
Return the subcode for OMP statement S.   
static tree gimple_omp_task_arg_align ( )
inlinestatic
Return align of the data block in bytes in OMP_TASK GS.   

Referenced by expand_task_call(), gimple_copy(), and remap_gimple_stmt().

static tree* gimple_omp_task_arg_align_ptr ( )
inlinestatic
Return a pointer to the data block align for OMP_TASK GS.   

Referenced by walk_gimple_op().

static tree gimple_omp_task_arg_size ( )
inlinestatic
Return size of the data block in bytes in OMP_TASK GS.   

Referenced by dump_gimple_omp_task(), expand_task_call(), gimple_copy(), and remap_gimple_stmt().

static tree* gimple_omp_task_arg_size_ptr ( )
inlinestatic
Return a pointer to the data block size for OMP_TASK GS.   

Referenced by walk_gimple_op().

static tree gimple_omp_task_child_fn ( )
inlinestatic
Return the child function used to hold the body of OMP_TASK GS.   

Referenced by build_cgraph_edges(), dump_gimple_omp_task(), expand_task_call(), gimple_copy(), and remap_gimple_stmt().

static tree* gimple_omp_task_child_fn_ptr ( )
inlinestatic
Return a pointer to the child function used to hold the body of
   OMP_TASK GS.   

Referenced by walk_gimple_op().

static tree gimple_omp_task_clauses ( )
inlinestatic
static tree* gimple_omp_task_clauses_ptr ( )
inlinestatic
Return a pointer to the clauses associated with OMP_TASK GS.   

Referenced by walk_gimple_op().

static tree gimple_omp_task_copy_fn ( )
inlinestatic
Return the copy function used to hold the body of OMP_TASK GS.   

Referenced by build_cgraph_edges(), create_task_copyfn(), dump_gimple_omp_task(), expand_task_call(), finalize_task_copyfn(), gimple_copy(), and remap_gimple_stmt().

static tree* gimple_omp_task_copy_fn_ptr ( )
inlinestatic
Return a pointer to the copy function used to hold the body of
   OMP_TASK GS.   

Referenced by walk_gimple_op().

static tree gimple_omp_task_data_arg ( )
inlinestatic
Return the artificial argument used to send variables and values
   from the parent to the children threads in OMP_TASK GS.   

Referenced by dump_gimple_omp_task(), expand_task_call(), gimple_copy(), and remap_gimple_stmt().

static tree* gimple_omp_task_data_arg_ptr ( )
inlinestatic
Return a pointer to the data argument for OMP_TASK GS.   

Referenced by walk_gimple_op().

static void gimple_omp_task_set_arg_align ( )
inlinestatic
Set ARG_SIZE to be the data block align for OMP_TASK GS.   

Referenced by gimple_build_omp_task(), gimple_copy(), and scan_omp_task().

static void gimple_omp_task_set_arg_size ( )
inlinestatic
Set ARG_SIZE to be the data block size for OMP_TASK GS.   

Referenced by gimple_build_omp_task(), gimple_copy(), and scan_omp_task().

static void gimple_omp_task_set_child_fn ( )
inlinestatic
Set CHILD_FN to be the child function for OMP_TASK GS.   

Referenced by gimple_build_omp_task(), gimple_copy(), and scan_omp_task().

static void gimple_omp_task_set_clauses ( )
inlinestatic
Set CLAUSES to be the list of clauses associated with OMP_TASK
   GS.   

Referenced by gimple_build_omp_task(), and gimple_copy().

static void gimple_omp_task_set_copy_fn ( )
inlinestatic
Set CHILD_FN to be the copy function for OMP_TASK GS.   

Referenced by create_omp_child_function(), gimple_build_omp_task(), and gimple_copy().

static void gimple_omp_task_set_data_arg ( )
inlinestatic
Set DATA_ARG to be the data argument for OMP_TASK GS.   

Referenced by gimple_build_omp_task(), and gimple_copy().

static tree gimple_omp_taskreg_child_fn ( )
inlinestatic
Return the child function used to hold the body of OMP_TASK GS.   

Referenced by expand_omp_taskreg().

static tree* gimple_omp_taskreg_child_fn_ptr ( )
inlinestatic
Return a pointer to the child function used to hold the body of
   OMP_TASK GS.   
static tree gimple_omp_taskreg_clauses ( )
inlinestatic
static tree* gimple_omp_taskreg_clauses_ptr ( )
inlinestatic
Return a pointer to the clauses associated with OMP_TASK GS.   

Referenced by convert_local_reference_stmt(), and convert_nonlocal_reference_stmt().

static tree gimple_omp_taskreg_data_arg ( )
inlinestatic
Return the artificial argument used to send variables and values
   from the parent to the children threads in OMP_TASK GS.   

Referenced by expand_omp_taskreg().

static tree* gimple_omp_taskreg_data_arg_ptr ( )
inlinestatic
Return a pointer to the data argument for OMP_TASK GS.   
static void gimple_omp_taskreg_set_child_fn ( )
inlinestatic
Set CHILD_FN to be the child function for OMP_TASK GS.   
static void gimple_omp_taskreg_set_clauses ( )
inlinestatic
Set CLAUSES to be the list of clauses associated with OMP_TASK
   GS.   

Referenced by convert_gimple_call(), convert_local_reference_stmt(), and convert_nonlocal_reference_stmt().

static void gimple_omp_taskreg_set_data_arg ( )
inlinestatic
Set DATA_ARG to be the data argument for OMP_TASK GS.   

Referenced by lower_omp_taskreg().

static tree* gimple_ops ( )
inlinestatic
Return the array of operands for statement GS.   
static unsigned gimple_phi_capacity ( )
inlinestatic
Return the maximum number of arguments supported by GIMPLE_PHI GS.   

Referenced by add_phi_arg(), allocate_phi_node(), phi_arg_index_from_use(), release_phi_node(), reserve_phi_args_for_new_edge(), and resize_phi_node().

static unsigned gimple_phi_num_args ( )
inlinestatic
Return the number of arguments in GIMPLE_PHI GS.  This must always
   be exactly the number of incoming edges for the basic block holding
   GS.   

Referenced by add_phi_arg(), all_phi_incrs_profitable(), analyze_evolution_in_loop(), analyze_initial_condition(), and_comparisons_1(), apply_return_prediction(), calculate_live_on_exit(), can_skip_redundant_opnd(), canonicalize_loop_closed_ssa(), ccp_visit_phi_node(), check_final_bb(), check_for_plus_in_loops_1(), collect_dfa_stats(), collect_object_sizes_for(), collect_phi_def_edges(), complex_visit_phi(), compute_complex_ancestor_jump_func(), compute_uninit_opnds_pos(), consider_split(), copy_prop_visit_phi_node(), create_outofssa_var_map(), create_phi_basis(), degenerate_phi_p(), degenerate_phi_result(), detect_commutative_reduction(), determine_max_movement(), do_invalidate(), dump_gimple_phi(), edge_initial_value_for_loop_phi(), eliminate_bb(), eliminate_useless_phis(), execute_late_warn_uninitialized(), execute_sm_if_changed(), execute_update_addresses_taken(), expand_simple_operations(), expr_expected_value_1(), find_bb_for_arg(), find_decls_types_in_node(), find_func_aliases(), follow_ssa_edge_in_condition_phi(), follow_ssa_edge_inner_loop_phi(), get_continuation_for_phi(), get_maxval_strlen(), hoist_adjacent_loads(), if_convertible_phi_p(), initial_value_for_loop_phi(), initialize_hash_element(), insert_backedge_copies(), interpret_condition_phi(), ipa_analyze_indirect_call_uses(), make_close_phi_nodes_unique(), move_computations_stmt(), movement_possibility(), ncd_with_phi(), op_iter_init_phiuse(), or_comparisons_1(), output_phi(), phi_add_costs(), phi_arg_in_outermost_loop(), phi_contains_arg(), phi_incr_cost(), phi_rank(), predicate_for_phi_result(), predicate_scalar_phi(), predict_extra_loop_exits(), propagate_constants_for_unrolling(), propagate_necessity(), prune_uninit_phi_opnds_in_unrealizable_paths(), record_equivalences_from_phis(), record_phi_increments(), release_phi_node(), remove_dead_inserted_code(), remove_duplicate_close_phi(), remove_phi_arg_num(), rename_ssa_copies(), replace_phi_args_in(), resize_phi_node(), rewrite_close_phi_out_of_ssa(), rewrite_phi_out_of_ssa(), rewrite_reductions_out_of_ssa(), rewrite_trees(), rewrite_update_phi_arguments(), scalar_close_phi_node_p(), simple_copy_phi_p(), simple_iv_increment_p(), slsr_process_phi(), strlen_enter_block(), thread_private_new_memory(), update_phi_components(), vect_analyze_loop_operations(), vect_create_epilog_for_reduction(), vect_is_simple_reduction_1(), verify_gimple_in_cfg(), verify_gimple_phi(), verify_live_on_entry(), verify_phi_args(), visit_bb(), visit_phi(), vn_phi_insert(), vn_phi_lookup(), vrp_visit_phi_node(), walk_aliased_vdefs_1(), walk_stmt_load_store_addr_ops(), and walk_use_def_chains_1().

static tree gimple_phi_result ( )
inlinestatic
Return the SSA name created by GIMPLE_PHI GS.   

Referenced by all_phi_incrs_profitable(), and_comparisons_1(), bb_has_non_vop_phi(), build_new_reduction(), can_skip_redundant_opnd(), ccp_initialize(), ccp_visit_phi_node(), cleanup_empty_eh_merge_phis(), close_phi_written_to_memory(), complex_visit_phi(), compute_avail(), compute_points_to_sets(), consider_split(), copy_prop_visit_phi_node(), create_outofssa_var_map(), create_phi_basis(), degenerate_phi_result(), destroy_loop(), detect_commutative_reduction(), dump_gimple_phi(), dump_phi_nodes(), eliminate_build(), eliminate_redundant_computations(), eliminate_unnecessary_stmts(), eliminate_useless_phis(), execute_late_warn_uninitialized(), expand_omp_for_static_chunk(), find_assert_locations_1(), find_basis_for_candidate(), find_func_aliases(), find_uninit_use(), find_uses_to_rename_bb(), forward_edge_to_pdom(), generate_loops_for_partition(), get_lhs_or_phi_result(), get_maxval_strlen(), gimple_dump_bb_for_graph(), gimple_duplicate_bb(), gimple_make_forwarder_block(), gimple_merge_blocks(), hoist_adjacent_loads(), if_convertible_phi_p(), init_copy_prop(), init_dont_simulate_again(), initialize_hash_element(), insert_backedge_copies(), insert_clobber_before_stack_restore(), ipa_pta_execute(), lookup_avail_expr(), lowest_cost_path(), mark_virtual_phi_result_for_renaming(), merge_phi_nodes(), move_computations_stmt(), movement_possibility(), ncd_with_phi(), op_iter_init_phiuse(), or_comparisons_1(), output_bb(), output_function(), phi_add_costs(), phi_incr_cost(), phi_rank(), predicate_for_phi_result(), predicate_scalar_phi(), prepare_block_for_update(), propagate_constants_for_unrolling(), propagate_necessity(), propagate_rhs_into_lhs(), prune_uninit_phi_opnds_in_unrealizable_paths(), record_equivalences_from_phis(), record_phi_increments(), record_temporary_equivalences_from_phis(), reduction_phi_p(), reinstall_phi_args(), release_last_vdef(), remove_dead_phis(), remove_duplicate_close_phi(), remove_invariant_phi(), remove_phi_node(), remove_simple_copy_phi(), remove_unused_locals(), rename_ssa_copies(), replace_block_by(), replace_removed_params_ssa_names(), replace_uncond_cands_and_profitable_phis(), reserve_phi_args_for_new_edge(), rewrite_add_phi_arguments(), rewrite_close_phi_out_of_ssa(), rewrite_commutative_reductions_out_of_ssa_loop(), rewrite_degenerate_phi(), rewrite_enter_block(), rewrite_phi_out_of_ssa(), rewrite_reductions_out_of_ssa(), rewrite_trees(), rewrite_update_enter_block(), rewrite_update_phi_arguments(), same_phi_alternatives_1(), same_succ_hash(), scalar_close_phi_node_p(), simple_copy_phi_p(), simulate_stmt(), sink_clobbers(), slpeel_tree_peel_loop_to_edge(), split_function(), ssa_redirect_edge(), stmt_has_scalar_dependences_outside_loop(), stmt_interesting_for_vrp(), stmt_may_generate_copy(), strlen_enter_block(), thread_private_new_memory(), total_savings(), translate_scalar_reduction_to_array(), translate_scalar_reduction_to_array_for_stmt(), unsplit_eh(), update_phi_components(), value_replacement(), var_is_used_for_virtual_call_p(), vect_get_and_check_slp_defs(), vect_is_simple_use(), vect_update_ivs_after_vectorizer(), verify_gimple_in_cfg(), verify_gimple_phi(), verify_non_ssa_vars(), verify_phi_args(), verify_ssa(), visit_bb(), vn_phi_insert(), vn_phi_lookup(), vop_phi(), and warn_uninitialized_phi().

static tree* gimple_phi_result_ptr ( )
inlinestatic
Return a pointer to the SSA name created by GIMPLE_PHI GS.   

Referenced by add_exit_phi(), canonicalize_loop_closed_ssa(), gimple_duplicate_bb(), and sese_add_exit_phis_edge().

static void gimple_phi_set_arg ( )
inlinestatic
Set PHIARG to be the argument corresponding to incoming edge INDEX
   for GIMPLE_PHI GS.   
static void gimple_phi_set_result ( )
inlinestatic
Set RESULT to be the SSA name created by GIMPLE_PHI GS.   

Referenced by gimple_make_forwarder_block(), make_phi_node(), replace_removed_params_ssa_names(), and slpeel_tree_peel_loop_to_edge().

static enum prediction gimple_predict_outcome ( )
inlinestatic
Return the outcome of GIMPLE_PREDICT statement GS.   

Referenced by pp_gimple_stmt_1(), and tree_bb_level_predictions().

static enum br_predictor gimple_predict_predictor ( )
inlinestatic
Return the predictor of GIMPLE_PREDICT statement GS.   

Referenced by pp_gimple_stmt_1(), and tree_bb_level_predictions().

static void gimple_predict_set_outcome ( )
inlinestatic
Set the outcome of GIMPLE_PREDICT statement GS to OUTCOME.   

Referenced by gimple_build_predict().

static void gimple_predict_set_predictor ( )
inlinestatic
Set the predictor of GIMPLE_PREDICT statement GS to PREDICT.   

Referenced by gimple_build_predict().

static bool gimple_references_memory_p ( )
inlinestatic
tree gimple_register_canonical_type ( tree  )
void gimple_replace_lhs ( gimple  ,
tree   
)
static int gimple_resx_region ( )
inlinestatic
Return the region number for GIMPLE_RESX GS.   

Referenced by dump_gimple_resx(), lower_resx(), mark_reachable_handlers(), move_stmt_r(), output_gimple_stmt(), and remap_gimple_stmt().

static void gimple_resx_set_region ( )
inlinestatic
Set REGION to be the region number for GIMPLE_RESX GS.   

Referenced by input_gimple_stmt(), move_stmt_r(), and remap_gimple_stmt().

static tree* gimple_return_retval_ptr ( )
inlinestatic
Return a pointer to the return value for GIMPLE_RETURN GS.   

Referenced by ipa_sra_modify_function_body(), mf_xform_statements(), and sra_modify_function_body().

static void gimple_return_set_retval ( )
inlinestatic
Set RETVAL to be the return value for GIMPLE_RETURN GS.   

Referenced by adjust_return_value(), expand_complex_comparison(), expand_complex_move(), gimple_build_return(), and split_function().

void gimple_seq_add_seq ( gimple_seq ,
gimple_seq   
)
void gimple_seq_add_stmt ( gimple_seq ,
gimple   
)
void gimple_seq_add_stmt_without_update ( gimple_seq ,
gimple   
)
Link gimple statement GS to the end of the sequence *SEQ_P.  If
   *SEQ_P is NULL, a new sequence is allocated.  This function is
   similar to gimple_seq_add_stmt, but does not scan the operands.
   During gimplification, we need to manipulate statement sequences
   before the def/use vectors have been constructed.   

Referenced by append_pattern_def_seq(), gimplify_seq_add_stmt(), instrument_expr(), and instrument_mem_region_access().

gimple_seq gimple_seq_alloc ( void  )
static gimple_seq gimple_seq_alloc_with_stmt ( )
inlinestatic
Allocate a new sequence and initialize its first element with STMT.   

Referenced by add_phi_node_to_bb(), expand_call_tm(), honor_protect_cleanup_actions(), lower_transaction(), and maybe_catch_exception().

gimple_seq gimple_seq_copy ( gimple_seq  )
void gimple_seq_free ( gimple_seq  )
static gimple gimple_seq_last_stmt ( )
inlinestatic
Return the last statement in GIMPLE sequence S.   

Referenced by adjust_return_value(), dump_function_to_file(), gimple_seq_may_fallthru(), gimplify_assign(), and lower_try_finally_switch().

static void gimple_seq_set_first ( )
inlinestatic
Set the first node in GIMPLE sequence *PS to FIRST.   

Referenced by gsi_insert_seq_nodes_after(), gsi_insert_seq_nodes_before(), gsi_set_stmt(), gsi_split_seq_after(), and gsi_split_seq_before().

static void gimple_seq_set_last ( )
inlinestatic
static void gimple_seq_set_location ( )
inlinestatic
Set the location of all statements in SEQ to LOC.   

Referenced by build_check_stmt().

static bool gimple_seq_singleton_p ( )
inlinestatic
void gimple_set_bb ( gimple  ,
basic_block   
)
void gimple_set_body ( tree  ,
gimple_seq   
)
static void gimple_set_has_volatile_ops ( )
inlinestatic
void gimple_set_lhs ( gimple  ,
tree   
)
static void gimple_set_location ( )
inlinestatic
Set location information for statement G.   

Referenced by adjust_bool_pattern(), annotate_one_with_location(), attempt_builtin_powi(), build_and_insert_binop(), build_and_insert_call(), build_and_insert_cast(), build_and_insert_ref(), build_check_stmt(), build_ref_for_offset(), build_tm_load(), build_tm_store(), cond_store_replacement(), conditional_replacement(), copy_bb(), create_add_on_incoming_edge(), create_parallel_loop(), do_goto_redirection(), do_return_redirection(), execute_cse_sincos(), expand_assign_tm(), expand_call_tm(), expand_transaction(), finish_update_gimple_call(), frob_into_branch_around(), gen_emutls_addr(), generate_subtree_copies(), gimple_build_debug_bind_stat(), gimple_build_debug_source_bind_stat(), gimple_call_copy_skip_args(), gimplify_expr(), gimplify_modify_expr(), gsi_replace(), init_subtree_with_zero(), init_tmp_var(), init_tmp_var_with_call(), input_gimple_stmt(), insert_backedge_copies(), insert_initializers(), instrument_expr(), instrument_func_entry(), instrument_func_exit(), instrument_mem_region_access(), instrument_strlen_call(), introduce_cast_before_cand(), ipa_modify_call_arguments(), load_assign_lhs_subreplacements(), lower_builtin_setjmp(), lower_eh_constructs_2(), lower_emutls_1(), lower_function_body(), lower_gimple_return(), lower_resx(), lower_try_finally_copy(), lower_try_finally_dup_block(), lower_try_finally_nofallthru(), lower_try_finally_onedest(), lower_try_finally_switch(), make_blocks(), maybe_instrument_call(), mf_build_check_statement_for(), mf_decl_cache_locals(), mx_register_decls(), phiprop_insert_phi(), powi_as_mults(), powi_as_mults_1(), reassociate_bb(), remove_exits_and_undefined_stmts(), replace_mult_candidate(), replace_one_candidate(), save_tmp_var(), simplify_bitwise_binary(), sra_modify_expr(), update_call_from_tree(), and vect_finish_stmt_generation().

static void gimple_set_modified ( )
inlinestatic
static void gimple_set_no_warning ( )
inlinestatic
Set the no_warning flag of STMT to NO_WARNING.   

Referenced by copy_loop_headers(), gimple_build_call_from_tree(), gimplify_expr(), and gimplify_return_expr().

static void gimple_set_num_ops ( )
inlinestatic
Set the number of operands for statement GS.   

Referenced by gimple_alloc_stat(), gimple_assign_set_rhs_with_ops_1(), and simplify_permutation().

static void gimple_set_op ( )
inlinestatic
Set operand I of statement GS to OP.   

Referenced by gimple_build_call_1(), gimple_copy(), gimple_regimplify_operands(), and input_gimple_stmt().

static void gimple_set_use_ops ( )
inlinestatic
Set USE to be the set of USE operands for statement G.   

Referenced by finalize_ssa_uses(), free_stmt_operands(), and gimple_copy().

static void gimple_set_visited ( )
inlinestatic
tree gimple_signed_type ( tree  )
static enum gimple_statement_structure_enum gimple_statement_structure ( )
inlinestatic
Return which GSS code is used by GS.   

Referenced by gt_ggc_mx(), gt_pch_nx(), and walk_gimple_op().

static bool gimple_store_p ( )
inlinestatic
static tree* gimple_switch_index_ptr ( )
inlinestatic
Return a pointer to the index variable for the switch statement GS.   

Referenced by gimple_regimplify_operands(), and propagate_tree_value_into_stmt().

static void gimple_switch_set_default_label ( )
inlinestatic
Set the default label for a switch statement.   

Referenced by gimple_build_switch_nlabels().

static void gimple_switch_set_index ( )
inlinestatic
Set INDEX to be the index variable for switch statement GS.   

Referenced by gimple_build_switch_nlabels(), and simplify_gimple_switch().

static void gimple_switch_set_label ( )
inlinestatic
Set the label number INDEX to LABEL.  0 is always the default label.   

Referenced by execute_vrp(), gimple_build_switch(), group_case_labels_stmt(), and simplify_gimple_switch_label_vec().

static void gimple_switch_set_num_labels ( )
inlinestatic
Set NLABELS to be the number of labels for the switch statement GS.   

Referenced by execute_vrp(), group_case_labels_stmt(), and simplify_gimple_switch_label_vec().

static gimple_seq gimple_transaction_body ( )
inlinestatic
static gimple_seq* gimple_transaction_body_ptr ( )
inlinestatic
Return a pointer to the body for the GIMPLE_TRANSACTION statement GS.   

Referenced by lower_omp_1(), lower_stmt(), lower_transaction(), and walk_gimple_stmt().

static tree gimple_transaction_label ( )
inlinestatic
Return the label associated with a GIMPLE_TRANSACTION.   

Referenced by cleanup_dead_labels(), dump_gimple_transaction(), make_edges(), output_gimple_stmt(), remap_gimple_stmt(), and verify_gimple_transaction().

static tree* gimple_transaction_label_ptr ( )
inlinestatic

Referenced by walk_gimple_op().

static void gimple_transaction_set_body ( )
inlinestatic
Set BODY to be the body for the GIMPLE_TRANSACTION statement GS.   

Referenced by gimple_build_transaction(), gimple_copy(), and lower_transaction().

static void gimple_transaction_set_label ( )
inlinestatic
Set the label associated with a GIMPLE_TRANSACTION.   

Referenced by cleanup_dead_labels(), gimple_build_transaction(), gimple_redirect_edge_and_branch(), input_gimple_stmt(), and lower_transaction().

static void gimple_transaction_set_subcode ( )
inlinestatic
static unsigned int gimple_transaction_subcode ( )
inlinestatic
static bool gimple_try_catch_is_cleanup ( )
inlinestatic
Return the GIMPLE_TRY_CATCH_IS_CLEANUP flag.   

Referenced by honor_protect_cleanup_actions().

static gimple_seq* gimple_try_cleanup_ptr ( )
inlinestatic
Return a pointer to the sequence of statements used as the cleanup body for
   GIMPLE_TRY GS.   

Referenced by gimple_try_catch_may_fallthru(), lower_cleanup(), lower_omp_1(), lower_stmt(), lower_try_catch(), replace_goto_queue_1(), and walk_gimple_stmt().

static gimple_seq* gimple_try_eval_ptr ( )
inlinestatic
Return a pointer to the sequence of statements used as the
   body for GIMPLE_TRY GS.   

Referenced by lower_catch(), lower_cleanup(), lower_eh_filter(), lower_eh_must_not_throw(), lower_omp_1(), lower_stmt(), lower_try_catch(), lower_try_finally(), replace_goto_queue_1(), and walk_gimple_stmt().

static enum gimple_try_flags gimple_try_kind ( )
inlinestatic
GIMPLE_TRY accessors.  
Return the kind of try block represented by GIMPLE_TRY GS.  This is
   either GIMPLE_TRY_CATCH or GIMPLE_TRY_FINALLY.   

Referenced by collect_finally_tree(), dump_gimple_try(), gimple_stmt_may_fallthru(), gimple_try_catch_may_fallthru(), honor_protect_cleanup_actions(), lower_eh_constructs_2(), lower_stmt(), lower_try_catch(), optimize_double_finally(), refactor_eh_r(), and remap_gimple_stmt().

static void gimple_try_set_catch_is_cleanup ( )
inlinestatic
Set the GIMPLE_TRY_CATCH_IS_CLEANUP flag.   

Referenced by gimplify_expr().

static void gimple_try_set_cleanup ( )
inlinestatic
Set CLEANUP to be the sequence of statements to use as the cleanup
   body for GIMPLE_TRY GS.   

Referenced by gimple_build_try(), gimple_copy(), honor_protect_cleanup_actions(), lower_catch(), lower_eh_filter(), lower_try_finally(), and optimize_double_finally().

static void gimple_try_set_eval ( )
inlinestatic
Set EVAL to be the sequence of statements to use as the body for
   GIMPLE_TRY GS.   

Referenced by gimple_build_try(), gimple_copy(), and optimize_double_finally().

static void gimple_try_set_kind ( )
inlinestatic
Set the kind of try block represented by GIMPLE_TRY GS.   

Referenced by optimize_double_finally().

tree gimple_unsigned_type ( tree  )
static struct use_optype_d* gimple_use_ops ( )
staticread
Return the set of USE operands for statement G.   

Referenced by finalize_ssa_uses(), free_stmt_operands(), op_iter_init(), and swap_tree_operands().

bool gimple_val_nonnegative_real_p ( tree  )
static def_operand_p gimple_vdef_op ( )
inlinestatic
Return the set of VDEF operand for statement G.   

Referenced by verify_ssa_operands().

static tree* gimple_vdef_ptr ( )
inlinestatic
Return the single VDEF operand of the statement G.   

Referenced by op_iter_next_def().

static bool gimple_visited_p ( )
inlinestatic
Return the visited status for statement STMT.   

Referenced by prop_simulate_again_p(), reassociate_bb(), remove_visited_stmt_chain(), rewrite_uses_p(), and suitable_cond_bb().

static tree gimple_vuse ( )
inlinestatic
Return the single VUSE operand of the statement G.   

Referenced by adjust_last_stmt(), analyze_modified_params(), avail_expr_hash(), bb_no_side_effects_p(), classify_partition(), collect_dfa_stats(), compute_avail(), detect_type_change_1(), determine_max_movement(), do_invalidate(), dump_gimple_mem_ops(), eliminate_bb(), expr_elt_hasher::equal(), finalize_ssa_uses(), find_candidates_in_block(), find_func_clobbers(), find_replaceable_in_bb(), finish_update_gimple_call(), gather_mem_refs_stmt(), gather_memory_references(), get_continuation_for_phi_1(), get_references_in_stmt(), get_string_length(), gimple_call_copy_skip_args(), gimple_copy(), gimplify_and_update_call_from_tree(), gsi_advance_bw_nondebug_nonlocal(), ifcvt_could_trap_p(), local_mem_dependence(), mark_aliased_reaching_defs_necessary(), mark_all_reaching_defs_necessary(), maybe_skip_until(), move_computations_stmt(), op_iter_init(), optimize_stmt(), param_change_prob(), parm_preserved_before_stmt_p(), parm_ref_data_pass_through_p(), parm_ref_data_preserved_p(), prepare_block_for_update(), process_replaceable(), propagate_necessity(), propagate_with_phi(), select_best_block(), simple_mem_ref_in_stmt(), simplify_builtin_call(), sink_clobbers(), sink_code_in_bb(), split_function(), statement_sink_location(), stmt_interesting_for_vrp(), stmt_may_generate_copy(), translate_vuse_through_block(), unlink_stmt_vdef(), unmodified_parm_1(), update_call_from_tree(), value_dies_in_block_x(), vect_finish_stmt_generation(), vectorizable_call(), vectorizable_load(), verify_ssa_operands(), visit_reference_op_call(), visit_reference_op_load(), visit_reference_op_store(), vrp_visit_stmt(), walk_aliased_vdefs_1(), walk_non_aliased_vuses(), and warn_uninitialized_vars().

static use_operand_p gimple_vuse_op ( )
inlinestatic
Return the set of VUSE operand for statement G.   

Referenced by link_use_stmts_after(), rdg_flag_uses(), sink_clobbers(), vect_finish_stmt_generation(), and verify_ssa_operands().

static tree* gimple_vuse_ptr ( )
inlinestatic
Return the single VUSE operand of the statement G.   

Referenced by finalize_ssa_uses().

static gimple_seq gimple_wce_cleanup ( )
inlinestatic
Return the cleanup sequence for cleanup statement GS.   

Referenced by gimple_copy(), gimplify_cleanup_point_expr(), and remap_gimple_stmt().

static bool gimple_wce_cleanup_eh_only ( )
inlinestatic
Return the CLEANUP_EH_ONLY flag for a WCE tuple.   

Referenced by gimplify_cleanup_point_expr().

static gimple_seq* gimple_wce_cleanup_ptr ( )
inlinestatic
Return a pointer to the cleanup sequence for cleanup statement GS.   

Referenced by walk_gimple_stmt().

static void gimple_wce_set_cleanup ( )
inlinestatic
Set CLEANUP to be the cleanup sequence for GS.   

Referenced by gimple_build_wce(), and gimple_copy().

static void gimple_wce_set_cleanup_eh_only ( )
inlinestatic
Set the CLEANUP_EH_ONLY flag for a WCE tuple.   

Referenced by gimple_push_cleanup().

void gimplify_and_update_call_from_tree ( gimple_stmt_iterator ,
tree   
)
In gimple-fold.c.   
gimple gimplify_assign ( tree  ,
tree  ,
gimple_seq  
)
gimple gimplify_body ( tree  ,
bool   
)
enum gimplify_status gimplify_expr ( tree expr_p,
gimple_seq pre_p,
gimple_seq post_p,
bool(*)(tree gimple_test_f,
fallback_t  fallback 
)
Convert the GENERIC expression tree *EXPR_P to GIMPLE.  If the
   expression produces a value to be used as an operand inside a GIMPLE
   statement, the value will be stored back in *EXPR_P.  This value will
   be a tree of class tcc_declaration, tcc_constant, tcc_reference or
   an SSA_NAME.  The corresponding sequence of GIMPLE statements is
   emitted in PRE_P and POST_P.

   Additionally, this process may overwrite parts of the input
   expression during gimplification.  Ideally, it should be
   possible to do non-destructive gimplification.

   EXPR_P points to the GENERIC expression to convert to GIMPLE.  If
      the expression needs to evaluate to a value to be used as
      an operand in a GIMPLE statement, this value will be stored in
      *EXPR_P on exit.  This happens when the caller specifies one
      of fb_lvalue or fb_rvalue fallback flags.

   PRE_P will contain the sequence of GIMPLE statements corresponding
       to the evaluation of EXPR and all the side-effects that must
       be executed before the main expression.  On exit, the last
       statement of PRE_P is the core statement being gimplified.  For
       instance, when gimplifying 'if (++a)' the last statement in
       PRE_P will be 'if (t.1)' where t.1 is the result of
       pre-incrementing 'a'.

   POST_P will contain the sequence of GIMPLE statements corresponding
       to the evaluation of all the side-effects that must be executed
       after the main expression.  If this is NULL, the post
       side-effects are stored at the end of PRE_P.

       The reason why the output is split in two is to handle post
       side-effects explicitly.  In some cases, an expression may have
       inner and outer post side-effects which need to be emitted in
       an order different from the one given by the recursive
       traversal.  For instance, for the expression (*p--)++ the post
       side-effects of '--' must actually occur *after* the post
       side-effects of '++'.  However, gimplification will first visit
       the inner expression, so if a separate POST sequence was not
       used, the resulting sequence would be:

            1   t.1 = *p
            2   p = p - 1
            3   t.2 = t.1 + 1
            4   *p = t.2

       However, the post-decrement operation in line #2 must not be
       evaluated until after the store to *p at line #4, so the
       correct sequence should be:

            1   t.1 = *p
            2   t.2 = t.1 + 1
            3   *p = t.2
            4   p = p - 1

       So, by specifying a separate post queue, it is possible
       to emit the post side-effects in the correct order.
       If POST_P is NULL, an internal queue will be used.  Before
       returning to the caller, the sequence POST_P is appended to
       the main output sequence PRE_P.

   GIMPLE_TEST_F points to a function that takes a tree T and
       returns nonzero if T is in the GIMPLE form requested by the
       caller.  The GIMPLE predicates are in gimple.c.

   FALLBACK tells the function what sort of a temporary we want if
       gimplification cannot produce an expression that complies with
       GIMPLE_TEST_F.

       fb_none means that no temporary should be generated
       fb_rvalue means that an rvalue is OK to generate
       fb_lvalue means that an lvalue is OK to generate
       fb_either means that either is OK, but an lvalue is preferable.
       fb_mayfail means that gimplification may fail (in which case
       GS_ERROR will be returned)

   The return value is either GS_ERROR or GS_ALL_DONE, since this
   function iterates until EXPR is completely gimplified or an error
   occurs.   

References gimplify_ctx::allow_rhs_cond_expr, annotate_all_with_location(), annotate_all_with_location_after(), append_to_statement_list(), build_fold_addr_expr_loc(), build_fold_addr_expr_with_type_loc(), build_int_cst(), create_tmp_var_raw(), current_function_decl, debug_tree(), decl_function_context(), eval(), failure, fb_either, fb_lvalue, fb_mayfail, fb_none, fb_rvalue, fold_convert_loc(), fold_indirect_ref_loc(), g, get_formal_tmp_var(), get_initialized_tmp_var(), gimple_add_tmp_var(), gimple_boolify(), gimple_build_catch(), gimple_build_eh_filter(), gimple_build_goto(), gimple_build_label(), gimple_build_omp_critical(), gimple_build_omp_master(), gimple_build_omp_ordered(), gimple_build_omp_section(), gimple_build_predict(), gimple_build_try(), gimple_seq_add_seq(), gimple_seq_empty_p(), gimple_set_location(), gimple_set_no_warning(), GIMPLE_TRY_CATCH, GIMPLE_TRY_FINALLY, gimple_try_set_catch_is_cleanup(), gimplify_addr_expr(), gimplify_and_add(), gimplify_asm_expr(), gimplify_assign(), gimplify_bind_expr(), gimplify_call_expr(), gimplify_case_label_expr(), gimplify_cleanup_point_expr(), gimplify_compound_expr(), gimplify_compound_literal_expr(), gimplify_compound_lval(), gimplify_cond_expr(), gimplify_conversion(), gimplify_decl_expr(), gimplify_exit_expr(), lang_hooks::gimplify_expr, gimplify_expr(), gimplify_loop_expr(), gimplify_modify_expr(), gimplify_omp_atomic(), gimplify_omp_for(), gimplify_omp_parallel(), gimplify_omp_task(), gimplify_omp_workshare(), gimplify_return_expr(), gimplify_save_expr(), gimplify_scalar_mode_aggregate_compare(), gimplify_self_mod_expr(), gimplify_seq_add_seq(), gimplify_seq_add_stmt(), gimplify_statement_list(), gimplify_switch_expr(), gimplify_target_expr(), gimplify_transaction(), gimplify_va_arg_expr(), gimplify_var_or_parm_decl(), gimplify_variable_sized_compare(), GS_ALL_DONE, GS_ERROR, GS_OK, GS_UNHANDLED, handler(), HOST_WIDE_INT, input_location, internal_error(), gimplify_ctx::into_ssa, is_gimple_addressable(), is_gimple_asm_val(), is_gimple_call_addr(), is_gimple_condexpr(), is_gimple_lvalue(), is_gimple_mem_ref_addr(), is_gimple_mem_rhs(), is_gimple_mem_rhs_or_call(), is_gimple_min_invariant(), is_gimple_min_lval(), is_gimple_reg(), is_gimple_reg_rhs(), is_gimple_reg_rhs_or_call(), is_gimple_stmt(), is_gimple_val(), mark_addressable(), omp_notice_variable(), print_generic_expr(), recalculate_side_effects(), save_expr(), tcc_binary, tcc_comparison, tcc_constant, tcc_declaration, tcc_unary, and useless_type_conversion_p().

Referenced by force_gimple_operand_1(), gimple_regimplify_operands(), gimplify_addr_expr(), gimplify_arg(), gimplify_asm_expr(), gimplify_call_expr(), gimplify_compound_lval(), gimplify_cond_expr(), gimplify_expr(), gimplify_init_constructor(), gimplify_init_ctor_preeval(), gimplify_modify_expr(), gimplify_modify_expr_rhs(), gimplify_omp_atomic(), gimplify_omp_for(), gimplify_one_sizepos(), gimplify_pure_cond_expr(), gimplify_save_expr(), gimplify_scan_omp_clauses(), gimplify_self_mod_expr(), gimplify_stmt(), gimplify_switch_expr(), gimplify_target_expr(), gimplify_va_arg_expr(), goa_stabilize_expr(), internal_get_tmp_var(), lower_lastprivate_clauses(), and std_gimplify_va_arg_expr().

void gimplify_function_tree ( tree  )
void gimplify_one_sizepos ( tree ,
gimple_seq  
)
enum gimplify_status gimplify_self_mod_expr ( tree expr_p,
gimple_seq pre_p,
gimple_seq post_p,
bool  want_value,
tree  arith_type 
)
Gimplify the self modifying expression pointed to by EXPR_P
    (++, --, +=, -=).

    PRE_P points to the list where side effects that must happen before
        *EXPR_P should be stored.

    POST_P points to the list where side effects that must happen after
        *EXPR_P should be stored.

    WANT_VALUE is nonzero iff we want to use the value of this expression
        in another expression.

    ARITH_TYPE is the type the computation should be performed in.   

References convert_to_ptrofftype_loc(), fb_lvalue, fb_rvalue, get_initialized_tmp_var(), gimplify_assign(), gimplify_expr(), gimplify_seq_add_seq(), GS_ALL_DONE, GS_ERROR, GS_OK, is_gimple_lvalue(), and is_gimple_val().

Referenced by gimplify_expr().

enum gimplify_status gimplify_va_arg_expr ( tree ,
gimple_seq ,
gimple_seq  
)
static gimple_stmt_iterator gsi_after_labels ( )
inlinestatic
Return a block statement iterator that points to the first non-label
   statement in block BB.   

Referenced by add_scope_conflicts_1(), branch_prob(), build_and_add_sum(), cleanup_empty_eh(), cond_if_else_store_replacement_1(), cond_store_replacement(), create_final_loads_for_reduction(), create_loads_for_reductions(), create_parallel_loop(), do_regular_insertion(), eliminate_bb(), emit_mfence_after_loop(), execute_cse_reciprocals(), execute_cse_sincos(), execute_cse_sincos_1(), execute_optimize_widening_mul(), expand_omp_atomic_fetch_op(), expand_omp_for_init_counts(), get_initial_def_for_induction(), gimple_can_merge_blocks_p(), gimple_empty_block_p(), gimple_gen_ic_func_profiler(), handle_scalar_deps_crossing_scop_limits(), infinite_empty_loop_p(), insert_gimplified_predicates(), insert_out_of_ssa_copy(), insert_phi_nodes_for(), insert_reciprocals(), insert_stmt_after(), instrument_func_entry(), ipa_tm_insert_irr_call(), maybe_move_debug_stmts_to_successors(), predicate_all_scalar_phis(), propagate_threaded_block_debug_into(), remap_ssa_name(), remove_forwarder_block(), remove_unused_ivs(), replace_ref_with(), rewrite_all_phi_nodes_with_iv(), rewrite_close_phi_out_of_ssa(), rewrite_debug_stmt_uses(), rewrite_degenerate_phi(), rewrite_phi_out_of_ssa(), rewrite_use_nonlinear_expr(), scev_const_prop(), sink_clobbers(), split_function(), sra_ipa_reset_debug_stmts(), statement_sink_location(), substitute_and_fold(), transform_to_exit_first_loop(), translate_scalar_reduction_to_array_for_stmt(), unsplit_eh(), value_replacement(), vect_create_epilog_for_reduction(), and vect_init_vector_1().

void gsi_commit_one_edge_insert ( edge  ,
basic_block  
)
static bool gsi_end_p ( )
inlinestatic
Return true if I is at the end of its sequence.   

Referenced by add_phi_args_after_copy_edge(), add_scope_conflicts_1(), add_successor_phi_arg(), adjust_iv_update_pos(), adjust_simduid_builtins(), analyze_function(), analyze_memory_references(), annotate_all_with_location(), annotate_all_with_location_after(), appears_later_in_bb(), associate_equivalences_with_edges(), bb_no_side_effects_p(), branch_prob(), break_up_subtract_bb(), build_arrays(), build_cgraph_edges(), build_constructors(), build_omp_regions_1(), build_ssa_conflict_graph(), calculate_live_on_exit(), canonicalize_loop_closed_ssa(), canonicalize_loop_ivs(), ccp_initialize(), cgraph_rebuild_references(), check_all_array_refs(), check_all_va_list_escapes(), check_final_bb(), cleanup_control_flow_bb(), cleanup_dead_labels(), cleanup_empty_eh(), cleanup_empty_eh_merge_phis(), cleanup_empty_eh_unsplit(), clear_unused_block_pointer(), coalesce_partitions(), collect_dfa_stats(), collect_finally_tree_1(), combine_blocks(), compute_avail(), compute_object_sizes(), compute_points_to_sets(), cond_if_else_store_replacement_1(), cond_store_replacement(), consider_split(), contains_only_close_phi_nodes(), convert_callers(), convert_control_dep_chain_into_preds(), convert_nl_goto_receiver(), copy_bb(), copy_edges_for_bb(), copy_loop_headers(), copy_phi_args(), copy_phis_for_bb(), count_insns(), count_insns_seq(), cprop_into_successor_phis(), create_add_on_incoming_edge(), create_cond_insert_point(), create_expression_by_pieces(), create_loads_for_reductions(), create_outofssa_var_map(), create_parallel_loop(), decide_copy_try_finally(), delete_unreachable_blocks_update_callgraph(), destroy_bb_vec_info(), destroy_loop(), destroy_loop_vec_info(), determine_invariantness_stmt(), determine_known_aggregate_parts(), determine_max_movement(), determine_set_costs(), discover_nonconstant_array_refs(), do_warn_unused_result(), dom_opt_enter_block(), dse_enter_block(), dump_enumerated_decls(), dump_gimple_bb_header(), dump_gimple_seq(), dump_phi_nodes(), eliminate_bb(), eliminate_build(), eliminate_degenerate_phis_1(), eliminate_local_variables(), eliminate_tail_call(), eliminate_temp_copies(), eliminate_unnecessary_stmts(), eliminate_useless_phis(), empty_body_p(), same_succ_def::equal(), estimate_function_body_sizes(), estimate_num_insns_fn(), estimate_num_insns_seq(), execute_cse_reciprocals(), execute_cse_sincos(), execute_fixup_cfg(), execute_fold_all_builtins(), execute_late_warn_uninitialized(), execute_optimize_bswap(), execute_optimize_stdarg(), execute_optimize_widening_mul(), execute_return_slot_opt(), execute_sm_if_changed(), execute_split_functions(), execute_update_addresses_taken(), expand_block_edges(), expand_block_tm(), expand_call_inline(), expand_gimple_basic_block(), expand_omp_for_generic(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_omp_sections(), expand_omp_taskreg(), expand_vector_operations(), factor_computed_gotos(), fill_always_executed_in(), find_assert_locations_1(), find_bb_location(), find_bivs(), find_candidates_in_block(), find_data_references_in_bb(), find_decls_types_in_node(), find_duplicate(), find_givs_in_bb(), find_interesting_uses(), find_interesting_uses_outside(), find_loop_location(), find_looparound_phi(), find_obviously_necessary_stmts(), find_outermost_region_in_block(), find_replaceable_in_bb(), find_return_bb(), find_retval(), find_subloop_latch_edge_by_ivs(), find_tail_calls(), find_uses_to_rename_bb(), first_non_label_stmt(), first_stmt(), fix_phi_nodes(), flush_pending_stmts(), fold_marked_statements(), forward_edge_to_pdom(), free_bb_predicate(), free_stmt_vec_info(), gather_default_values(), gather_memory_references(), gather_scalar_reductions(), generate_loops_for_partition(), gimple_account_profile_record(), gimple_block_ends_with_call_p(), gimple_block_label(), gimple_can_merge_blocks_p(), gimple_dump_bb_buff(), gimple_dump_bb_for_graph(), gimple_duplicate_bb(), gimple_duplicate_sese_tail(), gimple_empty_block_p(), gimple_expand_calls_inline(), gimple_find_edge_insert_loc(), gimple_find_values_to_profile(), gimple_flow_call_edges_add(), gimple_ic(), gimple_lv_adjust_loop_header_phi(), gimple_make_forwarder_block(), gimple_merge_blocks(), gimple_redirect_edge_and_branch(), gimple_seq_copy(), gimple_split_block(), gimple_split_block_before_cond_jump(), gimple_try_catch_may_fallthru(), gimple_try_redirect_by_replacing_jump(), gimple_value_profile_transformations(), gimple_verify_flow_info(), gimplify_and_return_first(), gimplify_and_update_call_from_tree(), gimplify_cleanup_point_expr(), graphite_copy_stmts_from_block(), gsi_advance_bw_nondebug_nonlocal(), gsi_advance_fw_nondebug_nonlocal(), gsi_for_phi_node(), gsi_move_to_bb_end(), gsi_prev_dom_bb_nondebug(), harmful_stmt_in_bb(), hoist_adjacent_loads(), if_convertible_loop_p_1(), independent_of_stmt_p(), infer_loop_bounds_from_undefined(), infinite_empty_loop_p(), init_copy_prop(), init_dont_simulate_again(), init_tmp_var(), init_tmp_var_with_call(), initialize_flags_in_bb(), input_function(), insert_backedge_copies(), insert_clobbers_for_var(), insert_gimplified_predicates(), insert_init_debug_bind(), insert_initializers(), insert_into_preds_of_block(), insert_out_of_ssa_copy(), insert_out_of_ssa_copy_on_edge(), insert_reciprocals(), insert_stmts(), instrument_memory_accesses(), ipa_analyze_params_uses(), ipa_modify_call_arguments(), ipa_profile_generate_summary(), ipa_pta_execute(), ipa_sra_modify_function_body(), ipa_tm_decrement_clone_counts(), ipa_tm_diagnose_transaction(), ipa_tm_scan_calls_block(), ipa_tm_scan_irr_block(), ipa_tm_transform_calls_1(), ipcp_transform_function(), label_rtx_for_bb(), last_and_only_stmt(), last_stmt(), loop_body_includes_call(), loop_closed_phi_def(), loop_edge_to_cancel(), loop_has_vector_phi_nodes(), loop_only_exit_p(), lower_catch(), lower_eh_constructs_1(), lower_emutls_function_body(), lower_omp(), lower_omp_sections(), lower_sequence(), lower_try_catch(), lower_try_finally_dup_block(), lower_try_finally_onedest(), make_abnormal_goto_edges(), make_blocks(), make_close_phi_nodes_unique(), mark_bivs(), mark_def_sites_block(), mark_reachable_handlers(), maybe_lower_iteration_bound(), maybe_move_debug_stmts_to_successors(), maybe_renumber_stmts_bb(), merge_phi_nodes(), mf_build_check_statement_for(), mf_xform_statements(), move_block_to_fn(), move_computations_stmt(), mx_register_decls(), nb_data_writes_in_bb(), new_bb_vec_info(), new_loop_vec_info(), no_side_effect_bb(), note_simd_array_uses(), nt_init_block(), optimize_clobbers(), optimize_omp_library_calls(), optimize_stack_restore(), optimize_unreachable(), output_bb(), output_function(), phi_alternatives_equal(), phi_args_equal_on_edges(), potentially_threadable_block(), predicate_all_scalar_phis(), predicate_bbs(), predicate_mem_writes(), prepare_block_for_update(), print_global_statistics(), print_graphite_scop_statistics(), propagate_constants_for_unrolling(), propagate_rhs_into_lhs(), propagate_threaded_block_debug_into(), propagate_through_phis(), reassociate_bb(), rebuild_cgraph_edges(), record_edge_info(), record_equivalences_from_phis(), record_temporary_equivalences_from_phis(), record_temporary_equivalences_from_stmts_at_dest(), redirect_all_calls(), redirection_block_p(), refactor_eh_r(), reinstall_phi_args(), release_last_vdef(), remap_gimple_seq(), remove_bb(), remove_conditions_and_labels(), remove_ctrl_stmt_and_useless_edges(), remove_dead_phis(), remove_exit_barrier(), remove_forwarder_block(), remove_forwarder_block_with_phi(), remove_phi_args(), remove_phi_nodes(), remove_range_assertions(), remove_unused_locals(), rename_ssa_copies(), rename_variables_in_bb(), renumber_gimple_stmt_uids(), renumber_gimple_stmt_uids_in_blocks(), replace_goto_queue_stmt_list(), reserve_phi_args_for_new_edge(), rewrite_add_phi_arguments(), rewrite_all_phi_nodes_with_iv(), rewrite_commutative_reductions_out_of_ssa_loop(), rewrite_cross_bb_scalar_deps_out_of_ssa(), rewrite_debug_stmt_uses(), rewrite_enter_block(), rewrite_reductions_out_of_ssa(), rewrite_trees(), rewrite_update_enter_block(), same_phi_alternatives_1(), same_phi_args_p(), same_succ_hash(), save_tmp_var(), scan_function(), scev_const_prop(), scop_ivs_can_be_represented(), separate_decls_in_region(), sese_build_liveouts_bb(), sese_reset_debug_liveouts_bb(), set_location_for_edge(), set_phi_nodes(), should_duplicate_loop_header_p(), simulate_block(), single_non_singleton_phi_for_edges(), sink_clobbers(), sink_code_in_bb(), slpeel_tree_peel_loop_to_edge(), slpeel_update_phi_nodes_for_guard1(), slpeel_update_phi_nodes_for_guard2(), split_critical_edges(), split_function(), split_loop_exit_edge(), sra_modify_function_body(), ssa_forward_propagate_and_combine(), ssa_prop_init(), ssa_redirect_edge(), stmts_from_loop(), strip_predict_hints(), strlen_enter_block(), substitute_and_fold(), suitable_cond_bb(), thread_around_empty_block(), tm_memopt_accumulate_memops(), tm_memopt_transform_blocks(), tm_region_init_1(), transform_statements(), transform_to_exit_first_loop(), tree_bb_level_predictions(), tree_call_cdce(), tree_estimate_loop_size(), tree_estimate_probability_bb(), tree_forwarder_block_p(), tree_loop_distribution(), tree_lower_complex(), tree_nrv(), tree_num_loop_insns(), tree_profiling(), tree_ssa_dominator_optimize(), tree_ssa_phiopt_worker(), tree_ssa_phiprop(), tree_transform_and_unroll_loop(), try_create_reduction_list(), try_generate_gimple_bb(), uncprop_into_successor_phis(), unsplit_eh(), update_debug_stmts(), update_modified_stmts(), update_phi_components(), update_ssa_across_abnormal_edges(), value_dies_in_block_x(), value_replacement(), vect_analyze_data_refs(), vect_analyze_loop_operations(), vect_analyze_scalar_cycles_1(), vect_analyze_stmt(), vect_can_advance_ivs_p(), vect_determine_vectorization_factor(), vect_finish_stmt_generation(), vect_get_single_scalar_iteration_cost(), vect_loop_versioning(), vect_mark_pattern_stmts(), vect_mark_stmts_to_be_vectorized(), vect_pattern_recog(), vect_slp_analyze_bb(), vect_slp_transform_bb(), vect_transform_loop(), vect_update_ivs_after_vectorizer(), verify_bb_vtables(), verify_cgraph_node(), verify_gimple_in_cfg(), verify_gimple_in_seq_2(), verify_histograms(), verify_live_on_entry(), verify_loop_closed_ssa(), verify_non_ssa_vars(), verify_ssa(), visit_bb(), vop_phi(), vrp_initialize(), walk_gimple_seq_mod(), and warn_uninitialized_vars().

gimple_stmt_iterator gsi_for_stmt ( gimple  )
void gsi_insert_after ( gimple_stmt_iterator i,
gimple  stmt,
enum gsi_iterator_update  m 
)
Insert statement STMT after the statement pointed-to by iterator I.
   Update STMT's basic block and scan it for new operands.  M
   specifies how to update iterator I after insertion (see enum
   gsi_iterator_update).   

References gsi_insert_after_without_update(), and update_modified_stmt().

Referenced by abs_replacement(), build_and_add_sum(), build_check_stmt(), build_ref_for_offset(), cond_if_else_store_replacement_1(), cond_store_replacement(), copy_bb(), create_add_on_incoming_edge(), create_call_for_reduction_1(), create_empty_if_region_on_edge(), create_empty_loop_on_edge(), create_iv(), create_loads_and_stores_for_name(), create_loads_for_reductions(), create_parallel_loop(), create_stores_for_reduction(), execute_cse_sincos_1(), execute_fixup_cfg(), execute_optimize_bswap(), execute_sm_if_changed(), expand_call_inline(), expand_call_tm(), expand_complex_div_wide(), expand_omp_for_generic(), expand_omp_for_init_vars(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_omp_sections(), expand_omp_simd(), expand_omp_taskreg(), expand_parallel_call(), expand_thunk(), expand_transaction(), extract_omp_for_update_vars(), factor_computed_gotos(), generate_memcpy_builtin(), generate_memset_builtin(), generate_subtree_copies(), gimple_duplicate_bb(), gimple_duplicate_sese_tail(), gimple_lv_add_condition_to_bb(), gimple_merge_blocks(), gimple_regimplify_operands(), gimple_seq_add_stmt(), graphite_copy_stmts_from_block(), gsi_insert_on_edge_immediate(), gsi_move_after(), init_subtree_with_zero(), input_bb(), insert_backedge_copies(), insert_if_then_before_iter(), insert_init_debug_bind(), insert_init_stmt(), insert_initializers(), insert_reciprocals(), instrument_builtin_call(), instrument_strlen_call(), ipa_tm_insert_gettmclone_call(), load_assign_lhs_subreplacements(), lower_eh_constructs_2(), lower_function_body(), lower_omp_sections(), lower_resx(), lower_transaction(), make_blocks(), maybe_register_def(), sm_set_flag_if_changed::operator()(), process_assert_insertions_for(), reassociate_bb(), remap_ssa_name(), remove_dead_stmt(), replace_goto_queue_cond_clause(), replace_ref_with(), rewrite_stmt(), set_ifsese_condition(), set_prologue_iterations(), slpeel_add_loop_guard(), split_function(), sra_modify_expr(), thunk_adjust(), tm_log_emit_restores(), tree_transform_and_unroll_loop(), unloop_loops(), update_accumulator_with_ops(), and verify_bb_vtables().

void gsi_insert_after_without_update ( gimple_stmt_iterator i,
gimple  stmt,
enum gsi_iterator_update  m 
)
Insert statement STMT after the statement pointed-to by iterator I.
   M specifies how to update iterator I after insertion (see enum
   gsi_iterator_update).

   This function does not scan for new operands.  It is provided for
   the use of the gimplifier, which manipulates statements for which
   def/use information has not yet been constructed.  Most callers
   should use gsi_insert_after.   

References gsi_insert_seq_nodes_after().

Referenced by gimple_seq_add_stmt_without_update(), gimplify_and_update_call_from_tree(), gsi_insert_after(), and save_tmp_var().

void gsi_insert_before ( gimple_stmt_iterator i,
gimple  stmt,
enum gsi_iterator_update  m 
)
Insert statement STMT before the statement pointed-to by iterator I.
   Update STMT's basic block and scan it for new operands.  M
   specifies how to update iterator I after insertion (see enum
   gsi_iterator_update).   

References gsi_insert_before_without_update(), and update_modified_stmt().

Referenced by abs_replacement(), adjust_return_value_with_ops(), attempt_builtin_powi(), build_and_add_sum(), build_and_insert_binop(), build_and_insert_call(), build_and_insert_cast(), build_and_insert_ref(), build_arrays(), build_one_array(), build_ref_for_offset(), build_tm_load(), build_tm_store(), cond_if_else_store_replacement_1(), cond_store_replacement(), conditional_replacement(), convert_nl_goto_receiver(), create_add_on_incoming_edge(), create_final_loads_for_reduction(), create_iv(), create_parallel_loop(), do_regular_insertion(), eliminate_bb(), eliminate_insert(), emit_case_bit_tests(), emit_mfence_after_loop(), execute_cse_sincos(), execute_cse_sincos_1(), execute_optimize_bswap(), execute_sm(), expand_assign_tm(), expand_call_inline(), expand_complex_div_wide(), expand_complex_move(), expand_omp_atomic_mutex(), expand_omp_atomic_pipeline(), expand_omp_build_assign(), expand_omp_for_generic(), expand_omp_for_init_counts(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_transaction(), expand_vector_divmod(), factor_computed_gotos(), gen_def_assigns(), gen_inbound_check(), generate_subtree_copies(), get_initial_def_for_induction(), get_string_length(), gimple_block_label(), gimple_divmod_fixed_value(), gimple_gen_average_profiler(), gimple_gen_ic_func_profiler(), gimple_gen_ic_profiler(), gimple_gen_interval_profiler(), gimple_gen_ior_profiler(), gimple_gen_one_value_profiler(), gimple_gen_pow2_profiler(), gimple_ic(), gimple_merge_blocks(), gimple_mod_pow2(), gimple_mod_subtract(), gimple_stringop_fixed_value(), gsi_insert_on_edge_immediate(), gsi_move_before(), handle_scalar_deps_crossing_scop_limits(), hoist_edge_and_branch_if_true(), ifc_temp_var(), init_subtree_with_zero(), init_tmp_var_with_call(), insert_backedge_copies(), insert_clobber_before_stack_restore(), insert_debug_temp_for_var_def(), insert_init_debug_bind(), insert_initializers(), insert_phi_nodes_for(), insert_reciprocals(), instrument_builtin_call(), instrument_func_entry(), instrument_func_exit(), instrument_strlen_call(), introduce_cast_before_cand(), ipa_modify_call_arguments(), ipa_tm_insert_gettmclone_call(), ipa_tm_insert_irr_call(), issue_prefetch_ref(), label_to_block_fn(), lower_builtin_setjmp(), lower_eh_constructs_2(), lower_eh_dispatch(), lower_gimple_return(), lower_resx(), maybe_instrument_call(), maybe_move_debug_stmts_to_successors(), minmax_replacement(), mx_register_decls(), powi_as_mults(), powi_as_mults_1(), predicate_scalar_phi(), propagate_threaded_block_debug_into(), reassociate_to_the_same_stmt(), remap_ssa_name(), remove_bb(), remove_exits_and_undefined_stmts(), remove_forwarder_block(), remove_unused_ivs(), replace_ref_with(), rewrite_bittest(), rewrite_close_phi_out_of_ssa(), rewrite_debug_stmt_uses(), rewrite_degenerate_phi(), rewrite_phi_with_iv(), rewrite_reciprocal(), rewrite_use_nonlinear_expr(), scev_const_prop(), shrink_wrap_one_built_in_call(), simplify_bitwise_binary(), simplify_float_conversion_using_ranges(), simplify_rotate(), simplify_truth_ops_using_ranges(), sink_clobbers(), slpeel_make_loop_iterate_ntimes(), split_function(), sra_ipa_reset_debug_stmts(), sra_modify_assign(), sra_modify_expr(), substitute_and_fold(), tm_log_emit_saves(), tm_log_emit_stmt(), transform_to_exit_first_loop(), vect_create_data_ref_ptr(), vect_create_epilog_for_reduction(), vect_finish_stmt_generation(), vect_init_vector_1(), vect_is_simple_reduction_1(), vect_setup_realignment(), and vector_element().

void gsi_insert_before_without_update ( gimple_stmt_iterator i,
gimple  stmt,
enum gsi_iterator_update  m 
)
Insert statement STMT before the statement pointed-to by iterator I.
   M specifies how to update iterator I after insertion (see enum
   gsi_iterator_update).

   This function does not scan for new operands.  It is provided for
   the use of the gimplifier, which manipulates statements for which
   def/use information has not yet been constructed.  Most callers
   should use gsi_insert_before.   

References gsi_insert_seq_nodes_before().

Referenced by gsi_insert_before(), init_tmp_var(), and lower_rec_input_clauses().

void gsi_insert_on_edge ( edge  ,
gimple   
)
basic_block gsi_insert_on_edge_immediate ( edge  ,
gimple   
)
void gsi_insert_seq_after_without_update ( gimple_stmt_iterator i,
gimple_seq  seq,
enum gsi_iterator_update  mode 
)
Links sequence SEQ after the statement pointed-to by iterator I.
   MODE is as in gsi_insert_after.

   This function does not scan for new operands.  It is provided for
   the use of the gimplifier, which manipulates statements for which
   def/use information has not yet been constructed.  Most callers
   should use gsi_insert_seq_after.   

References first, gimple_seq_first(), gimple_seq_last(), gsi_insert_seq_nodes_after(), last, and gimple_stmt_iterator_d::seq.

Referenced by gimplify_seq_add_seq(), and gsi_insert_seq_after().

void gsi_insert_seq_before_without_update ( gimple_stmt_iterator i,
gimple_seq  seq,
enum gsi_iterator_update  mode 
)
Inserts the sequence of statements SEQ before the statement pointed
   by iterator I.  MODE indicates what to do with the iterator after
   insertion (see enum gsi_iterator_update).

   This function does not scan for new operands.  It is provided for
   the use of the gimplifier, which manipulates statements for which
   def/use information has not yet been constructed.  Most callers
   should use gsi_insert_seq_before.   

References first, gimple_seq_first(), gimple_seq_last(), gsi_insert_seq_nodes_before(), last, and gimple_stmt_iterator_d::seq.

Referenced by gimplify_cleanup_point_expr(), gsi_insert_seq_before(), and vect_get_constant_vectors().

void gsi_insert_seq_on_edge ( edge  ,
gimple_seq   
)
basic_block gsi_insert_seq_on_edge_immediate ( edge  ,
gimple_seq   
)
static gimple_stmt_iterator gsi_last_1 ( )
inlinestatic
Return a new iterator initially pointing to GIMPLE_SEQ's last statement.   
static gimple_stmt_iterator gsi_last_bb ( )
inlinestatic
Return a new iterator pointing to the last statement in basic block BB.   

Referenced by abs_replacement(), adjust_return_value(), associate_equivalences_with_edges(), build_omp_regions_1(), build_ssa_conflict_graph(), canonicalize_loop_ivs(), cleanup_control_flow_bb(), cleanup_empty_eh_move_lp(), combine_blocks(), cond_if_else_store_replacement_1(), cond_store_replacement(), convert_control_dep_chain_into_preds(), copy_bb(), create_add_on_incoming_edge(), create_canonical_iv(), create_cond_insert_point(), create_empty_if_region_on_edge(), create_empty_loop_on_edge(), create_loads_and_stores_for_name(), create_new_iv(), create_parallel_loop(), create_stores_for_reduction(), determine_max_movement(), dse_enter_block(), eliminate_unnecessary_stmts(), emit_case_bit_tests(), execute_fixup_cfg(), execute_optimize_bswap(), expand_call_inline(), expand_complex_div_wide(), expand_omp_atomic_fetch_op(), expand_omp_atomic_load(), expand_omp_atomic_mutex(), expand_omp_atomic_pipeline(), expand_omp_atomic_store(), expand_omp_for_generic(), expand_omp_for_init_counts(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_omp_sections(), expand_omp_simd(), expand_omp_single(), expand_omp_synch(), expand_omp_taskreg(), expand_parallel_call(), expand_task_call(), expand_thunk(), expand_transaction(), factor_computed_gotos(), find_assert_locations_1(), find_return_bb(), find_tail_calls(), fixup_noreturn_call(), generate_memcpy_builtin(), generate_memset_builtin(), gimple_duplicate_sese_tail(), gimple_find_edge_insert_loc(), gimple_lv_add_condition_to_bb(), gimple_merge_blocks(), gimple_redirect_edge_and_branch(), gimple_try_redirect_by_replacing_jump(), gimple_verify_flow_info(), gsi_move_to_bb_end(), gsi_prev_dom_bb_nondebug(), identify_jump_threads(), insert_backedge_copies(), insert_gimplified_predicates(), insert_init_debug_bind(), insert_init_stmt(), insert_initializers(), instrument_func_exit(), instrument_mem_region_access(), last_stmt(), lower_eh_dispatch(), lower_resx(), make_goto_expr_edges(), maybe_move_debug_stmts_to_successors(), mf_build_check_statement_for(), minmax_replacement(), move_computations_stmt(), optimize_clobbers(), optimize_unreachable(), potentially_threadable_block(), propagate_rhs_into_lhs(), propagate_threaded_block_debug_into(), reassociate_bb(), record_edge_info(), release_last_vdef(), remap_ssa_name(), remove_bb(), remove_ctrl_stmt_and_useless_edges(), remove_exit_barrier(), replace_phi_edge_with_variable(), set_ifsese_condition(), set_location_for_edge(), set_prologue_iterations(), sink_clobbers(), sink_code_in_bb(), slpeel_add_loop_guard(), slpeel_can_duplicate_loop_p(), split_critical_edges(), split_function(), split_reduction_stmt(), split_region_for_bb(), standard_iv_increment_position(), substitute_and_fold(), tm_log_emit_saves(), tm_region_init_1(), tree_forwarder_block_p(), tree_transform_and_unroll_loop(), vect_loop_versioning(), and vect_update_ivs_after_vectorizer().

void gsi_move_after ( gimple_stmt_iterator ,
gimple_stmt_iterator  
)
void gsi_move_before ( gimple_stmt_iterator ,
gimple_stmt_iterator  
)
void gsi_move_to_bb_end ( gimple_stmt_iterator ,
basic_block   
)
static void gsi_next ( )
inlinestatic
Advance the iterator to the next gimple statement.   

Referenced by add_phi_args_after_copy_edge(), add_scope_conflicts_1(), add_successor_phi_arg(), adjust_simduid_builtins(), analyze_function(), analyze_memory_references(), annotate_all_with_location(), annotate_all_with_location_after(), appears_later_in_bb(), bb_no_side_effects_p(), branch_prob(), break_up_subtract_bb(), build_arrays(), build_cgraph_edges(), build_constructors(), build_ssa_conflict_graph(), calculate_live_on_exit(), canonicalize_loop_closed_ssa(), canonicalize_loop_ivs(), ccp_initialize(), cgraph_rebuild_references(), check_all_array_refs(), check_all_va_list_escapes(), check_final_bb(), cleanup_dead_labels(), cleanup_empty_eh(), cleanup_empty_eh_merge_phis(), cleanup_empty_eh_unsplit(), clear_unused_block_pointer(), coalesce_partitions(), collect_dfa_stats(), collect_finally_tree_1(), combine_blocks(), compute_avail(), compute_object_sizes(), compute_points_to_sets(), consider_split(), contains_only_close_phi_nodes(), convert_callers(), copy_bb(), copy_edges_for_bb(), copy_loop_headers(), copy_phi_args(), copy_phis_for_bb(), count_insns(), count_insns_seq(), cprop_into_successor_phis(), create_expression_by_pieces(), create_loads_for_reductions(), create_outofssa_var_map(), create_parallel_loop(), decide_copy_try_finally(), delete_unreachable_blocks_update_callgraph(), destroy_bb_vec_info(), destroy_loop(), destroy_loop_vec_info(), determine_invariantness_stmt(), determine_set_costs(), discover_nonconstant_array_refs(), do_warn_unused_result(), dom_opt_enter_block(), dump_enumerated_decls(), dump_gimple_bb_header(), dump_gimple_seq(), dump_phi_nodes(), eliminate_bb(), eliminate_build(), eliminate_degenerate_phis_1(), eliminate_local_variables(), eliminate_tail_call(), eliminate_temp_copies(), eliminate_unnecessary_stmts(), eliminate_useless_phis(), empty_body_p(), estimate_function_body_sizes(), estimate_num_insns_fn(), estimate_num_insns_seq(), execute_cse_reciprocals(), execute_cse_sincos(), execute_fixup_cfg(), execute_fold_all_builtins(), execute_late_warn_uninitialized(), execute_optimize_stdarg(), execute_optimize_widening_mul(), execute_return_slot_opt(), execute_sm_if_changed(), execute_split_functions(), execute_update_addresses_taken(), expand_assign_tm(), expand_block_edges(), expand_block_tm(), expand_gimple_basic_block(), expand_omp_atomic_fetch_op(), expand_omp_for_generic(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_omp_taskreg(), expand_vector_operations(), fill_always_executed_in(), find_assert_locations_1(), find_bb_location(), find_bivs(), find_candidates_in_block(), find_data_references_in_bb(), find_decls_types_in_node(), find_givs_in_bb(), find_interesting_uses(), find_interesting_uses_outside(), find_loop_location(), find_looparound_phi(), find_obviously_necessary_stmts(), find_outermost_region_in_block(), find_replaceable_in_bb(), find_retval(), find_subloop_latch_edge_by_ivs(), find_tail_calls(), find_uses_to_rename_bb(), first_non_label_stmt(), first_stmt(), fix_phi_nodes(), flush_pending_stmts(), fold_marked_statements(), forward_edge_to_pdom(), forward_propagate_comparison(), free_bb_predicate(), free_stmt_vec_info(), gather_default_values(), gather_memory_references(), gather_scalar_reductions(), gen_inbound_check(), generate_loops_for_partition(), gimple_account_profile_record(), gimple_block_label(), gimple_can_merge_blocks_p(), gimple_dump_bb_buff(), gimple_dump_bb_for_graph(), gimple_duplicate_bb(), gimple_duplicate_sese_tail(), gimple_expand_calls_inline(), gimple_find_edge_insert_loc(), gimple_find_values_to_profile(), gimple_ic(), gimple_lv_adjust_loop_header_phi(), gimple_make_forwarder_block(), gimple_merge_blocks(), gimple_seq_copy(), gimple_split_block(), gimple_try_catch_may_fallthru(), gimple_value_profile_transformations(), gimple_verify_flow_info(), gimplify_and_return_first(), gimplify_and_update_call_from_tree(), gimplify_cleanup_point_expr(), graphite_copy_stmts_from_block(), gsi_for_phi_node(), handle_char_store(), harmful_stmt_in_bb(), hoist_adjacent_loads(), if_convertible_loop_p_1(), independent_of_stmt_p(), infer_loop_bounds_from_undefined(), init_copy_prop(), init_dont_simulate_again(), initialize_flags_in_bb(), input_function(), insert_backedge_copies(), insert_into_preds_of_block(), insert_out_of_ssa_copy(), insert_out_of_ssa_copy_on_edge(), insert_reciprocals(), insert_stmts(), instrument_builtin_call(), instrument_memory_accesses(), ipa_analyze_params_uses(), ipa_profile_generate_summary(), ipa_pta_execute(), ipa_sra_modify_function_body(), ipa_tm_decrement_clone_counts(), ipa_tm_diagnose_transaction(), ipa_tm_scan_calls_block(), ipa_tm_scan_irr_block(), ipa_tm_transform_calls_1(), ipcp_transform_function(), label_rtx_for_bb(), loop_body_includes_call(), loop_closed_phi_def(), loop_edge_to_cancel(), loop_has_vector_phi_nodes(), loop_only_exit_p(), lower_catch(), lower_eh_constructs_2(), lower_emutls_function_body(), lower_omp(), lower_omp_directive(), lower_omp_sections(), lower_stmt(), lower_try_catch(), lower_try_finally_dup_block(), lower_try_finally_onedest(), make_abnormal_goto_edges(), make_blocks(), make_close_phi_nodes_unique(), mark_bivs(), mark_def_sites_block(), mark_reachable_handlers(), maybe_instrument_assignment(), maybe_lower_iteration_bound(), maybe_renumber_stmts_bb(), merge_phi_nodes(), mf_xform_statements(), move_block_to_fn(), move_computations_stmt(), n_of_executions_at_most(), nb_data_writes_in_bb(), new_bb_vec_info(), new_loop_vec_info(), no_side_effect_bb(), note_simd_array_uses(), nt_init_block(), optimize_omp_library_calls(), optimize_stack_restore(), optimize_unreachable(), output_bb(), output_function(), phi_alternatives_equal(), phi_args_equal_on_edges(), predicate_all_scalar_phis(), predicate_bbs(), predicate_mem_writes(), prepare_block_for_update(), print_global_statistics(), print_graphite_scop_statistics(), propagate_constants_for_unrolling(), propagate_rhs_into_lhs(), propagate_threaded_block_debug_into(), propagate_through_phis(), rebuild_cgraph_edges(), record_equivalences_from_phis(), record_temporary_equivalences_from_phis(), record_temporary_equivalences_from_stmts_at_dest(), redirect_all_calls(), redirection_block_p(), reduction_phi_p(), refactor_eh_r(), reinstall_phi_args(), release_last_vdef(), remap_gimple_seq(), remove_conditions_and_labels(), remove_dead_phis(), remove_forwarder_block(), remove_forwarder_block_with_phi(), remove_phi_args(), remove_range_assertions(), remove_unused_locals(), rename_ssa_copies(), rename_variables_in_bb(), renumber_gimple_stmt_uids(), renumber_gimple_stmt_uids_in_blocks(), replace_goto_queue_1(), reserve_phi_args_for_new_edge(), rewrite_add_phi_arguments(), rewrite_close_phi_out_of_ssa(), rewrite_commutative_reductions_out_of_ssa_loop(), rewrite_cross_bb_scalar_deps(), rewrite_cross_bb_scalar_deps_out_of_ssa(), rewrite_debug_stmt_uses(), rewrite_enter_block(), rewrite_phi_with_iv(), rewrite_reductions_out_of_ssa(), rewrite_trees(), rewrite_update_enter_block(), same_phi_alternatives_1(), same_phi_args_p(), same_succ_hash(), scan_function(), scev_const_prop(), scop_ivs_can_be_represented(), separate_decls_in_region(), sese_build_liveouts_bb(), sese_reset_debug_liveouts_bb(), set_phi_nodes(), should_duplicate_loop_header_p(), simulate_block(), single_non_singleton_phi_for_edges(), sink_clobbers(), slpeel_tree_peel_loop_to_edge(), slpeel_update_phi_nodes_for_guard1(), slpeel_update_phi_nodes_for_guard2(), split_function(), split_loop_exit_edge(), sra_modify_assign(), sra_modify_function_body(), ssa_forward_propagate_and_combine(), ssa_prop_init(), ssa_redirect_edge(), stmt_dominates_stmt_p(), stmts_from_loop(), strip_predict_hints(), strlen_enter_block(), substitute_and_fold(), suitable_cond_bb(), tm_memopt_accumulate_memops(), tm_memopt_transform_blocks(), transform_statements(), transform_to_exit_first_loop(), translate_scalar_reduction_to_array_for_stmt(), tree_bb_level_predictions(), tree_call_cdce(), tree_estimate_loop_size(), tree_estimate_probability_bb(), tree_loop_distribution(), tree_lower_complex(), tree_nrv(), tree_num_loop_insns(), tree_profiling(), tree_ssa_dominator_optimize(), tree_ssa_phiopt_worker(), tree_ssa_phiprop(), tree_transform_and_unroll_loop(), try_create_reduction_list(), try_generate_gimple_bb(), uncprop_into_successor_phis(), unsplit_eh(), update_debug_stmts(), update_modified_stmts(), update_phi_components(), update_ssa_across_abnormal_edges(), value_dies_in_block_x(), vect_analyze_data_refs(), vect_analyze_loop_operations(), vect_analyze_scalar_cycles_1(), vect_analyze_stmt(), vect_can_advance_ivs_p(), vect_determine_vectorization_factor(), vect_get_single_scalar_iteration_cost(), vect_loop_versioning(), vect_mark_pattern_stmts(), vect_mark_stmts_to_be_vectorized(), vect_pattern_recog(), vect_slp_analyze_bb(), vect_slp_transform_bb(), vect_transform_loop(), vect_update_ivs_after_vectorizer(), vectorizable_load(), verify_bb_vtables(), verify_cgraph_node(), verify_gimple_in_cfg(), verify_gimple_in_seq_2(), verify_histograms(), verify_live_on_entry(), verify_loop_closed_ssa(), verify_non_ssa_vars(), verify_ssa(), visit_bb(), vop_phi(), vrp_initialize(), walk_gimple_seq_mod(), and warn_uninitialized_vars().

static void gsi_next_nondebug ( )
inlinestatic
static gimple_stmt_iterator gsi_none ( )
inlinestatic
static void gsi_prev_nondebug ( )
inlinestatic
bool gsi_remove ( gimple_stmt_iterator ,
bool   
)
void gsi_replace ( gimple_stmt_iterator ,
gimple  ,
bool   
)
void gsi_replace_with_seq ( gimple_stmt_iterator gsi,
gimple_seq  seq,
bool  update_eh_info 
)
Replace the statement pointed-to by GSI with the sequence SEQ.
   If UPDATE_EH_INFO is true, the exception handling information of
   the original statement is moved to the last statement of the new
   sequence.  If the old statement is an assignment, then so must
   be the last statement of the new sequence, and they must have the
   same LHS.   

References gimple_seq_empty_p(), gsi_insert_seq_before(), gsi_remove(), gsi_replace(), GSI_SAME_STMT, gsi_stmt(), and last.

Referenced by gimplify_and_update_call_from_tree().

static gimple_seq gsi_seq ( )
inlinestatic
Return the sequence associated with this iterator.   

Referenced by initialize_parameter_reductions(), and walk_gimple_omp_for().

void gsi_set_stmt ( gimple_stmt_iterator ,
gimple   
)
gimple_seq gsi_split_seq_after ( gimple_stmt_iterator  )
void gsi_split_seq_before ( gimple_stmt_iterator ,
gimple_seq  
)
static gimple_stmt_iterator gsi_start_1 ( )
inlinestatic
Return a new iterator pointing to GIMPLE_SEQ's first statement.   

Referenced by gsi_start_phis(), and lower_rec_input_clauses().

static gimple_stmt_iterator gsi_start_bb ( )
inlinestatic
Return a new iterator pointing to the first statement in basic block BB.   

Referenced by adjust_simduid_builtins(), analyze_function(), analyze_memory_references(), bb_no_side_effects_p(), branch_prob(), break_up_subtract_bb(), build_cgraph_edges(), build_check_stmt(), ccp_initialize(), cgraph_rebuild_references(), check_all_array_refs(), check_all_va_list_escapes(), cleanup_dead_labels(), cleanup_empty_eh_unsplit(), clear_unused_block_pointer(), collect_dfa_stats(), combine_blocks(), compute_avail(), compute_object_sizes(), compute_points_to_sets(), contains_only_close_phi_nodes(), convert_callers(), copy_bb(), copy_edges_for_bb(), copy_loop_headers(), count_insns(), create_call_for_reduction_1(), create_cond_insert_point(), create_outofssa_var_map(), delete_unreachable_blocks_update_callgraph(), destroy_bb_vec_info(), destroy_loop(), destroy_loop_vec_info(), determine_invariantness_stmt(), discover_nonconstant_array_refs(), dom_opt_enter_block(), dump_enumerated_decls(), dump_gimple_bb_header(), eliminate_bb(), eliminate_local_variables(), estimate_function_body_sizes(), estimate_num_insns_fn(), execute_fixup_cfg(), execute_fold_all_builtins(), execute_optimize_stdarg(), execute_return_slot_opt(), execute_sm_if_changed(), execute_split_functions(), execute_update_addresses_taken(), expand_block_edges(), expand_block_tm(), expand_call_inline(), expand_complex_div_wide(), expand_omp_atomic_pipeline(), expand_omp_for_generic(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_omp_sections(), expand_omp_simd(), expand_omp_taskreg(), expand_parallel_call(), expand_thunk(), expand_vector_operations(), extract_omp_for_update_vars(), factor_computed_gotos(), fill_always_executed_in(), find_bb_location(), find_candidates_in_block(), find_data_references_in_bb(), find_decls_types_in_node(), find_givs_in_bb(), find_interesting_uses(), find_loop_location(), find_obviously_necessary_stmts(), find_outermost_region_in_block(), find_replaceable_in_bb(), find_retval(), find_tail_calls(), find_uses_to_rename_bb(), first_non_label_stmt(), first_stmt(), fold_marked_statements(), gather_memory_references(), gen_inbound_check(), generate_loops_for_partition(), gimple_account_profile_record(), gimple_block_label(), gimple_can_merge_blocks_p(), gimple_dump_bb_buff(), gimple_dump_bb_for_graph(), gimple_duplicate_bb(), gimple_expand_calls_inline(), gimple_find_edge_insert_loc(), gimple_find_values_to_profile(), gimple_merge_blocks(), gimple_split_block(), gimple_value_profile_transformations(), gimple_verify_flow_info(), graphite_copy_stmts_from_block(), gsi_for_stmt(), harmful_stmt_in_bb(), if_convertible_loop_p_1(), infer_loop_bounds_from_undefined(), init_copy_prop(), init_dont_simulate_again(), initialize_flags_in_bb(), input_bb(), input_function(), instrument_memory_accesses(), ipa_analyze_params_uses(), ipa_profile_generate_summary(), ipa_pta_execute(), ipa_sra_modify_function_body(), ipa_tm_decrement_clone_counts(), ipa_tm_diagnose_transaction(), ipa_tm_scan_calls_block(), ipa_tm_scan_irr_block(), ipa_tm_transform_calls_1(), ipcp_transform_function(), label_rtx_for_bb(), label_to_block_fn(), loop_body_includes_call(), loop_edge_to_cancel(), loop_only_exit_p(), lower_emutls_function_body(), lower_resx(), make_abnormal_goto_edges(), mark_def_sites_block(), mark_reachable_handlers(), maybe_lower_iteration_bound(), maybe_renumber_stmts_bb(), mf_build_check_statement_for(), mf_xform_statements(), move_block_to_fn(), move_computations_stmt(), nb_data_writes_in_bb(), new_bb_vec_info(), new_loop_vec_info(), no_side_effect_bb(), note_simd_array_uses(), nt_init_block(), optimize_omp_library_calls(), optimize_unreachable(), output_bb(), output_function(), predicate_bbs(), predicate_mem_writes(), prepare_block_for_update(), print_global_statistics(), print_graphite_scop_statistics(), propagate_constants_for_unrolling(), rebuild_cgraph_edges(), record_temporary_equivalences_from_stmts_at_dest(), redirect_all_calls(), redirection_block_p(), remove_bb(), remove_conditions_and_labels(), remove_forwarder_block(), remove_range_assertions(), remove_unused_locals(), rename_ssa_copies(), rename_variables_in_bb(), renumber_gimple_stmt_uids(), renumber_gimple_stmt_uids_in_blocks(), rewrite_cross_bb_scalar_deps_out_of_ssa(), rewrite_enter_block(), rewrite_update_enter_block(), scan_function(), separate_decls_in_region(), sese_build_liveouts_bb(), sese_reset_debug_liveouts_bb(), should_duplicate_loop_header_p(), simulate_block(), split_bb_make_tm_edge(), split_function(), sra_modify_function_body(), ssa_forward_propagate_and_combine(), ssa_prop_init(), stmt_dominates_stmt_p(), stmts_from_loop(), strip_predict_hints(), strlen_enter_block(), substitute_and_fold(), tm_log_emit_restores(), tm_memopt_accumulate_memops(), tm_memopt_transform_blocks(), transform_statements(), tree_bb_level_predictions(), tree_call_cdce(), tree_estimate_loop_size(), tree_estimate_probability_bb(), tree_loop_distribution(), tree_lower_complex(), tree_nrv(), tree_num_loop_insns(), tree_profiling(), tree_ssa_dominator_optimize(), try_generate_gimple_bb(), unloop_loops(), unsplit_eh(), update_debug_stmts(), value_dies_in_block_x(), vect_analyze_data_refs(), vect_analyze_loop_operations(), vect_determine_vectorization_factor(), vect_get_single_scalar_iteration_cost(), vect_mark_stmts_to_be_vectorized(), vect_pattern_recog(), vect_slp_analyze_bb(), vect_slp_transform_bb(), vect_transform_loop(), verify_cgraph_node(), verify_gimple_in_cfg(), verify_histograms(), verify_loop_closed_ssa(), verify_non_ssa_vars(), verify_ssa(), visit_bb(), vrp_initialize(), and warn_uninitialized_vars().

static gimple_stmt_iterator gsi_start_nondebug_bb ( )
inlinestatic
Return a new iterator pointing to the first non-debug statement in
   basic block BB.   

Referenced by same_succ_def::equal(), same_succ_hash(), split_reduction_stmt(), and thread_around_empty_block().

gimple_stmt_iterator gsi_start_phis ( basic_block  )
In gimple-iterator.c   
static gimple gsi_stmt ( )
inlinestatic
Return the current stmt.   

Referenced by add_phi_args_after_copy_edge(), add_scope_conflicts_1(), add_successor_phi_arg(), adjust_iv_update_pos(), adjust_simduid_builtins(), analyze_memory_references(), annotate_all_with_location(), annotate_all_with_location_after(), appears_later_in_bb(), associate_equivalences_with_edges(), associate_plusminus(), associate_pointerplus(), bb_no_side_effects_p(), branch_prob(), break_up_subtract_bb(), build_and_add_sum(), build_arrays(), build_cgraph_edges(), build_constructors(), build_omp_regions_1(), build_ssa_conflict_graph(), calculate_live_on_exit(), canonicalize_loop_closed_ssa(), canonicalize_loop_ivs(), ccp_fold_stmt(), ccp_initialize(), cgraph_rebuild_references(), check_all_array_refs(), check_all_va_list_escapes(), check_combined_parallel(), check_final_bb(), check_stmt(), cleanup_control_expr_graph(), cleanup_control_flow_bb(), cleanup_dead_labels(), cleanup_empty_eh(), cleanup_empty_eh_merge_phis(), cleanup_empty_eh_move_lp(), cleanup_empty_eh_unsplit(), clear_unused_block_pointer(), coalesce_partitions(), collect_dfa_stats(), collect_finally_tree_1(), combine_blocks(), combine_cond_exprs(), combine_conversions(), compute_avail(), compute_object_sizes(), compute_points_to_sets(), consider_split(), contains_only_close_phi_nodes(), convert_callers(), convert_control_dep_chain_into_preds(), convert_gimple_call(), convert_local_reference_stmt(), convert_nl_goto_receiver(), convert_nl_goto_reference(), convert_nonlocal_reference_stmt(), convert_plusminus_to_widen(), convert_tramp_reference_stmt(), copy_bb(), copy_edges_for_bb(), copy_loop_headers(), copy_phi_args(), copy_phis_for_bb(), count_insns(), count_insns_seq(), cprop_into_successor_phis(), create_add_on_incoming_edge(), create_cond_insert_point(), create_expression_by_pieces(), create_loads_for_reductions(), create_outofssa_var_map(), create_parallel_loop(), decide_copy_try_finally(), delete_unreachable_blocks_update_callgraph(), destroy_bb_vec_info(), destroy_loop(), destroy_loop_vec_info(), determine_invariantness_stmt(), determine_known_aggregate_parts(), determine_max_movement(), determine_set_costs(), diagnose_sb_1(), diagnose_sb_2(), diagnose_tm_1(), discover_nonconstant_array_refs(), do_warn_unused_result(), dse_optimize_stmt(), dump_asserts_for(), dump_enumerated_decls(), dump_gimple_bb_header(), dump_gimple_seq(), dump_phi_nodes(), eliminate_bb(), eliminate_build(), eliminate_degenerate_phis_1(), eliminate_local_variables(), eliminate_local_variables_stmt(), eliminate_redundant_computations(), eliminate_tail_call(), eliminate_temp_copies(), eliminate_unnecessary_stmts(), eliminate_useless_phis(), empty_body_p(), same_succ_def::equal(), estimate_function_body_sizes(), estimate_num_insns_fn(), estimate_num_insns_seq(), examine_assign_tm(), examine_call_tm(), execute_cse_reciprocals(), execute_cse_sincos(), execute_fixup_cfg(), execute_fold_all_builtins(), execute_late_warn_uninitialized(), execute_optimize_bswap(), execute_optimize_stdarg(), execute_optimize_widening_mul(), execute_return_slot_opt(), execute_sm_if_changed(), execute_split_functions(), execute_update_addresses_taken(), expand_assign_tm(), expand_block_edges(), expand_block_tm(), expand_call_tm(), expand_complex_asm(), expand_complex_comparison(), expand_complex_div_wide(), expand_complex_libcall(), expand_complex_move(), expand_complex_operations_1(), expand_gimple_basic_block(), expand_omp_atomic_fetch_op(), expand_omp_atomic_load(), expand_omp_atomic_mutex(), expand_omp_atomic_pipeline(), expand_omp_atomic_store(), expand_omp_for_generic(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_omp_sections(), expand_omp_simd(), expand_omp_single(), expand_omp_synch(), expand_omp_taskreg(), expand_transaction(), expand_vector_condition(), expand_vector_operations(), expand_vector_operations_1(), expand_vector_parallel(), expand_vector_piecewise(), factor_computed_gotos(), fill_always_executed_in(), find_assert_locations_1(), find_bb_location(), find_bivs(), find_candidates_in_block(), find_data_references_in_bb(), find_decls_types_in_node(), find_duplicate(), find_givs_in_bb(), find_interesting_uses(), find_interesting_uses_outside(), find_loop_location(), find_looparound_phi(), find_obviously_necessary_stmts(), find_outermost_region_in_block(), find_replaceable_in_bb(), find_return_bb(), find_retval(), find_subloop_latch_edge_by_ivs(), find_tail_calls(), find_uses_to_rename_bb(), first_non_label_stmt(), first_stmt(), fix_phi_nodes(), fixup_noreturn_call(), flush_pending_stmts(), fold_gimple_assign(), fold_marked_statements(), fold_predicate_in(), fold_stmt_1(), fold_stmt_inplace(), forward_edge_to_pdom(), forward_propagate_addr_expr(), forward_propagate_addr_expr_1(), forward_propagate_comparison(), forward_propagate_into_comparison(), forward_propagate_into_cond(), free_bb_predicate(), free_stmt_vec_info(), gather_default_values(), gather_memory_references(), gather_scalar_reductions(), generate_loops_for_partition(), generate_subtree_copies(), gimple_account_profile_record(), gimple_assign_set_rhs_with_ops_1(), gimple_block_ends_with_call_p(), gimple_block_label(), gimple_can_merge_blocks_p(), gimple_divmod_fixed_value_transform(), gimple_dump_bb_buff(), gimple_dump_bb_for_graph(), gimple_duplicate_bb(), gimple_duplicate_sese_tail(), gimple_empty_block_p(), gimple_expand_builtin_cabs(), gimple_expand_calls_inline(), gimple_find_edge_insert_loc(), gimple_find_values_to_profile(), gimple_flow_call_edges_add(), gimple_fold_call(), gimple_ic(), gimple_ic_transform(), gimple_lv_adjust_loop_header_phi(), gimple_make_forwarder_block(), gimple_merge_blocks(), gimple_mod_pow2_value_transform(), gimple_mod_subtract_transform(), gimple_redirect_edge_and_branch(), gimple_seq_copy(), gimple_split_block(), gimple_split_block_before_cond_jump(), gimple_stringops_transform(), gimple_try_catch_may_fallthru(), gimple_try_redirect_by_replacing_jump(), gimple_value_profile_transformations(), gimple_verify_flow_info(), gimplify_and_return_first(), gimplify_and_update_call_from_tree(), gimplify_build1(), gimplify_build2(), gimplify_build3(), gimplify_cleanup_point_expr(), graphite_copy_stmts_from_block(), gsi_advance_bw_nondebug_nonlocal(), gsi_advance_fw_nondebug_nonlocal(), gsi_for_phi_node(), gsi_move_after(), gsi_move_before(), gsi_move_to_bb_end(), gsi_remove(), gsi_replace(), gsi_replace_with_seq(), gsi_set_stmt(), handle_builtin_memcpy(), handle_builtin_strcat(), handle_builtin_strchr(), handle_builtin_strcpy(), handle_builtin_strlen(), handle_char_store(), handle_pointer_plus(), handle_unscalarized_data_in_subtree(), harmful_stmt_in_bb(), hoist_adjacent_loads(), honor_protect_cleanup_actions(), identify_jump_threads(), if_convertible_loop_p_1(), independent_of_stmt_p(), infer_loop_bounds_from_undefined(), infinite_empty_loop_p(), init_copy_prop(), init_dont_simulate_again(), init_subtree_with_zero(), init_tmp_var(), init_tmp_var_with_call(), initialize_flags_in_bb(), inline_forbidden_p_stmt(), input_function(), insert_backedge_copies(), insert_clobbers_for_var(), insert_debug_temp_for_var_def(), insert_debug_temps_for_defs(), insert_gimplified_predicates(), insert_init_debug_bind(), insert_initializers(), insert_into_preds_of_block(), insert_out_of_ssa_copy(), insert_out_of_ssa_copy_on_edge(), insert_reciprocals(), insert_stmts(), instrument_builtin_call(), instrument_expr(), instrument_func_exit(), instrument_gimple(), instrument_mem_region_access(), instrument_strlen_call(), ipa_analyze_params_uses(), ipa_modify_call_arguments(), ipa_profile_generate_summary(), ipa_pta_execute(), ipa_sra_modify_function_body(), ipa_tm_decrement_clone_counts(), ipa_tm_diagnose_transaction(), ipa_tm_scan_calls_block(), ipa_tm_scan_irr_block(), ipa_tm_transform_calls_1(), ipa_tm_transform_calls_redirect(), ipcp_transform_function(), label_rtx_for_bb(), last_and_only_stmt(), last_stmt(), load_assign_lhs_subreplacements(), loop_body_includes_call(), loop_closed_phi_def(), loop_edge_to_cancel(), loop_has_vector_phi_nodes(), loop_only_exit_p(), lower_builtin_setjmp(), lower_catch(), lower_eh_constructs_2(), lower_emutls_function_body(), lower_gimple_bind(), lower_gimple_return(), lower_omp_1(), lower_omp_critical(), lower_omp_directive(), lower_omp_for(), lower_omp_master(), lower_omp_ordered(), lower_omp_sections(), lower_omp_single(), lower_omp_taskreg(), lower_sequence_no_tm(), lower_sequence_tm(), lower_stmt(), lower_transaction(), lower_try_catch(), lower_try_finally_dup_block(), lower_try_finally_onedest(), lower_vec_perm(), make_abnormal_goto_edges(), make_blocks(), make_close_phi_nodes_unique(), make_goto_expr_edges(), mark_bivs(), mark_def_sites_block(), mark_local_labels_stmt(), mark_reachable_handlers(), maybe_instrument_assignment(), maybe_instrument_call(), maybe_lower_iteration_bound(), maybe_move_debug_stmts_to_successors(), maybe_renumber_stmts_bb(), merge_phi_nodes(), mf_build_check_statement_for(), mf_xform_statements(), move_block_to_fn(), move_computations_stmt(), move_stmt_r(), mx_xfn_xform_decls(), n_of_executions_at_most(), nb_data_writes_in_bb(), new_bb_vec_info(), new_loop_vec_info(), no_side_effect_bb(), note_simd_array_uses(), nt_init_block(), optimize_clobbers(), optimize_double_finally(), optimize_omp_library_calls(), optimize_stack_restore(), optimize_stmt(), optimize_tail_call(), optimize_unreachable(), output_bb(), output_function(), phi_alternatives_equal(), phi_args_equal_on_edges(), potentially_threadable_block(), predicate_all_scalar_phis(), predicate_bbs(), predicate_mem_writes(), prepare_block_for_update(), process_assert_insertions_for(), propagate_constants_for_unrolling(), propagate_rhs_into_lhs(), propagate_threaded_block_debug_into(), propagate_through_phis(), propagate_tree_value_into_stmt(), reassociate_bb(), reassociate_to_the_same_stmt(), rebuild_cgraph_edges(), record_edge_info(), record_equivalences_from_phis(), record_temporary_equivalences_from_phis(), record_temporary_equivalences_from_stmts_at_dest(), redirect_all_calls(), redirection_block_p(), reduction_phi_p(), refactor_eh_r(), register_new_assert_for(), reinstall_phi_args(), release_last_vdef(), remap_gimple_seq(), remove_bb(), remove_conditions_and_labels(), remove_ctrl_stmt_and_useless_edges(), remove_dead_phis(), remove_dead_stmt(), remove_duplicate_close_phi(), remove_exit_barrier(), remove_forwarder_block(), remove_forwarder_block_with_phi(), remove_invariant_phi(), remove_name_from_operation(), remove_phi_args(), remove_phi_node(), remove_range_assertions(), remove_simple_copy_phi(), remove_unused_locals(), rename_ssa_copies(), rename_variables_in_bb(), renumber_gimple_stmt_uids(), renumber_gimple_stmt_uids_in_blocks(), replace_goto_queue_cond_clause(), replace_goto_queue_stmt_list(), replace_locals_stmt(), replace_mult_candidate(), replace_one_candidate(), replace_ref_with(), replace_rhs_if_not_dup(), replace_uses_by(), repropagate_negates(), reserve_phi_args_for_new_edge(), rewrite_add_phi_arguments(), rewrite_bittest(), rewrite_close_phi_out_of_ssa(), rewrite_commutative_reductions_out_of_ssa_loop(), rewrite_cross_bb_scalar_deps(), rewrite_debug_stmt_uses(), rewrite_degenerate_phi(), rewrite_enter_block(), rewrite_phi_out_of_ssa(), rewrite_phi_with_iv(), rewrite_reciprocal(), rewrite_reductions_out_of_ssa(), rewrite_stmt(), rewrite_trees(), rewrite_update_enter_block(), rewrite_use_nonlinear_expr(), same_handler_p(), same_phi_alternatives_1(), same_phi_args_p(), same_succ_hash(), save_tmp_var(), scan_function(), scan_omp_1_stmt(), scan_omp_parallel(), scan_omp_task(), scev_const_prop(), scop_ivs_can_be_represented(), separate_decls_in_region(), sese_build_liveouts_bb(), sese_reset_debug_liveouts_bb(), set_location_for_edge(), set_phi_nodes(), should_duplicate_loop_header_p(), simplify_bit_ops_using_ranges(), simplify_bitfield_ref(), simplify_bitwise_binary(), simplify_bitwise_binary_boolean(), simplify_builtin_call(), simplify_conversion_from_bitmask(), simplify_not_neg_expr(), simplify_permutation(), simplify_rotate(), simplify_stmt_using_ranges(), simplify_truth_ops_using_ranges(), simplify_vector_constructor(), simulate_block(), single_non_singleton_phi_for_edges(), sink_clobbers(), sink_code_in_bb(), slpeel_can_duplicate_loop_p(), slpeel_tree_peel_loop_to_edge(), slpeel_update_phi_nodes_for_guard1(), slpeel_update_phi_nodes_for_guard2(), split_critical_edges(), split_function(), split_loop_exit_edge(), split_reduction_stmt(), split_region_for_bb(), sra_modify_assign(), sra_modify_expr(), sra_modify_function_body(), ssa_forward_propagate_and_combine(), ssa_prop_init(), ssa_redirect_edge(), stmt_dominates_stmt_p(), stmts_from_loop(), strip_predict_hints(), strlen_enter_block(), strlen_optimize_stmt(), substitute_and_fold(), suitable_cond_bb(), thread_around_empty_block(), tm_memopt_accumulate_memops(), tm_memopt_transform_blocks(), tm_region_init_1(), transform_statements(), transform_stmt_to_multiply(), transform_to_exit_first_loop(), tree_bb_level_predictions(), tree_call_cdce(), tree_estimate_loop_size(), tree_estimate_probability_bb(), tree_forwarder_block_p(), tree_loop_distribution(), tree_nrv(), tree_num_loop_insns(), tree_profiling(), tree_ssa_dominator_optimize(), tree_ssa_phiopt_worker(), tree_ssa_phiprop(), tree_transform_and_unroll_loop(), try_create_reduction_list(), try_generate_gimple_bb(), uncprop_into_successor_phis(), unsplit_eh(), update_call_from_tree(), update_complex_assignment(), update_debug_stmts(), update_gimple_call(), update_modified_stmts(), update_phi_components(), update_ssa_across_abnormal_edges(), value_dies_in_block_x(), value_replacement(), vect_analyze_data_refs(), vect_analyze_loop_operations(), vect_analyze_scalar_cycles_1(), vect_analyze_stmt(), vect_can_advance_ivs_p(), vect_create_data_ref_ptr(), vect_determine_vectorization_factor(), vect_finish_stmt_generation(), vect_get_single_scalar_iteration_cost(), vect_loop_versioning(), vect_mark_pattern_stmts(), vect_mark_stmts_to_be_vectorized(), vect_pattern_recog(), vect_pattern_recog_1(), vect_slp_analyze_bb(), vect_slp_transform_bb(), vect_transform_loop(), vect_transform_stmt(), vect_update_ivs_after_vectorizer(), vectorizable_load(), verify_bb_vtables(), verify_cgraph_node(), verify_gimple_in_cfg(), verify_gimple_in_seq_2(), verify_histograms(), verify_live_on_entry(), verify_loop_closed_ssa(), verify_non_ssa_vars(), verify_ssa(), visit_bb(), vop_phi(), vrp_initialize(), walk_gimple_seq_mod(), walk_gimple_stmt(), and warn_uninitialized_vars().

enum gimple_statement_structure_enum gss_for_assign ( enum  tree_code)
static enum gimple_statement_structure_enum gss_for_code ( )
inlinestatic
Return the GSS code used by a GIMPLE code.   

Referenced by gimple_size().

void gt_ggc_mx ( gimple  gs)
hooks for gimple, called once per-traversal.   
void gt_pch_nx ( gimple  gs)
void gt_pch_nx ( gimple  gs,
gt_pointer_operator  op,
void *  cookie 
)
bool is_gimple_address ( const_tree  )
Returns true iff T is a GIMPLE address.   
bool is_gimple_addressable ( tree  )
Returns true iff T is something whose address can be taken.   
bool is_gimple_asm_val ( tree  )
Returns true iff T is a GIMPLE asm statement input.   
static bool is_gimple_assign ( )
inlinestatic
Return true if GS is a GIMPLE_ASSIGN.   

Referenced by adjust_last_stmt(), aff_combination_expand(), and_var_with_comparison(), and_var_with_comparison_1(), associate_plusminus(), associate_pointerplus(), break_up_subtract_bb(), build_ssa_conflict_graph(), can_propagate_from(), check_all_va_list_escapes(), check_bool_pattern(), check_for_plus_in_loops(), combine_cond_exprs(), combine_conversions(), constant_pointer_difference(), convert_mult_to_fma(), convert_plusminus_to_widen(), copy_bb(), copy_loop_headers(), count_uses_and_derefs(), defcodefor_name(), destroy_loop_vec_info(), determine_invariantness_stmt(), dse_optimize_stmt(), eliminate_redundant_comparison(), eliminate_redundant_computations(), execute_cse_reciprocals(), execute_optimize_bswap(), execute_optimize_stdarg(), execute_optimize_widening_mul(), expand_call_inline(), expand_complex_move(), expand_complex_operations_1(), expand_omp_atomic_fetch_op(), expr_coherent_p(), expr_expected_value_1(), find_assert_locations_1(), find_bswap_1(), find_candidates_in_block(), find_equal_ptrs(), find_func_aliases(), find_interesting_uses_op(), find_interesting_uses_stmt(), find_looparound_phi(), find_replaceable_in_bb(), fold_predicate_in(), follow_ssa_with_commutative_ops(), forward_propagate_comparison(), get_default_value(), get_lhs_or_phi_result(), get_name_for_bit_test(), get_prop_source_stmt(), get_rank(), get_single_immediate_use(), get_unary_op(), get_val_for(), gimple_assign_rhs_could_trap_p(), gimple_assign_unary_nop_p(), gimple_could_trap_p_1(), gimple_divmod_fixed_value(), gimple_mod_pow2(), gimple_mod_subtract(), gimple_regimplify_operands(), gimple_val_nonnegative_real_p(), graphite_copy_stmts_from_block(), handle_builtin_memcpy(), infer_loop_bounds_from_array(), infer_loop_bounds_from_pointer_arith(), init_range_entry(), input_gimple_stmt(), insert_debug_temp_for_var_def(), instrument_gimple(), interpret_rhs_expr(), ipa_analyze_indirect_call_uses(), ipa_compute_jump_functions_for_edge(), is_division_by(), is_reassociable_op(), is_reduction_operation_p(), is_replaceable_p(), is_widening_mult_rhs_p(), legal_cast_p(), lookup_logical_inverted_value(), lower_vec_perm(), may_propagate_copy_into_stmt(), movement_possibility(), name_for_ref(), negate_value(), no_side_effect_bb(), sm_set_flag_if_changed::operator()(), optimize_bitfield_assignment_op(), optimize_stmt(), or_var_with_comparison(), or_var_with_comparison_1(), output_gimple_stmt(), parse_predicate(), phiprop_insert_phi(), propagate_constants_for_unrolling(), propagate_into_all_uses(), propagate_tree_value_into_stmt(), propagate_with_phi(), rdg_flag_uses(), reassociate_bb(), recognize_bits_test(), recognize_single_bit_test(), record_equivalences_from_incoming_edge(), record_equivalences_from_stmt(), ref_maybe_used_by_stmt_p(), register_edge_assert_for(), register_edge_assert_for_2(), remove_name_from_operation(), remove_prop_source_from_use(), remove_range_assertions(), remove_visited_stmt_chain(), rename_uses(), replace_ref_with(), replace_removed_params_ssa_names(), repropagate_negates(), rewrite_use_nonlinear_expr(), same_bool_comparison_p(), same_succ_hash(), should_break_up_subtract(), simplify_bitwise_binary_boolean(), simplify_cond_using_ranges(), simplify_conversion_from_bitmask(), simplify_conversion_using_ranges(), simplify_gimple_switch(), simplify_not_neg_expr(), simplify_stmt_using_ranges(), ssa_forward_propagate_and_combine(), statement_sink_location(), stmt_cost(), stmt_could_throw_1_p(), stmt_interesting_for_vrp(), stmt_may_be_vtbl_ptr_store(), stmt_overflow_infinity(), strlen_optimize_stmt(), substitute_and_fold(), thread_private_new_memory(), truth_valued_ssa_name(), type_conversion_p(), undistribute_ops_list(), update_range_test(), va_list_counter_bump(), value_replacement(), vect_build_slp_tree(), vect_build_slp_tree_1(), vect_create_new_slp_node(), vect_finish_stmt_generation(), vect_get_and_check_slp_defs(), vect_get_single_scalar_iteration_cost(), vect_get_smallest_scalar_type(), vect_handle_widen_op_by_const(), vect_is_simple_reduction_1(), vect_is_slp_reduction(), vect_mark_relevant(), vect_mark_stmts_to_be_vectorized(), vect_operation_fits_smaller_type(), vect_pattern_recog_1(), vect_recog_bool_pattern(), vect_recog_divmod_pattern(), vect_recog_dot_prod_pattern(), vect_recog_mixed_size_cond_pattern(), vect_recog_over_widening_pattern(), vect_recog_rotate_pattern(), vect_recog_vector_vector_shift_pattern(), vect_recog_widen_mult_pattern(), vect_recog_widen_shift_pattern(), vect_recog_widen_sum_pattern(), vector_element(), vectorizable_assignment(), vectorizable_condition(), vectorizable_conversion(), vectorizable_live_operation(), vectorizable_load(), vectorizable_operation(), vectorizable_reduction(), vectorizable_shift(), vectorizable_store(), visit_use(), vn_get_expr_for(), vn_reference_lookup_3(), vn_reference_maybe_forwprop_address(), vrp_stmt_computes_nonzero(), vrp_visit_stmt(), and walk_stmt_load_store_addr_ops().

bool is_gimple_builtin_call ( gimple  stmt)
Return TRUE iff stmt is a call to a built-in function.   
static bool is_gimple_call ( )
inlinestatic
Return true if GS is a GIMPLE_CALL.   

Referenced by acceptable_pow_call(), access_precludes_ipa_sra_p(), adjust_simduid_builtins(), alloc_object_size(), branch_prob(), build_cgraph_edges(), call_object_size(), cgraph_create_edge_1(), cgraph_update_edges_for_call_stmt_node(), check_all_array_refs(), check_omp_nesting_restrictions(), cleanup_control_flow_bb(), compute_avail(), compute_points_to_sets(), copy_bb(), count_uses_and_derefs(), dse_optimize_stmt(), eliminate_bb(), eliminate_redundant_computations(), eliminate_tail_call(), eliminate_unnecessary_stmts(), same_succ_def::equal(), estimate_function_body_sizes(), evaluate_stmt(), execute_cse_reciprocals(), execute_cse_sincos(), execute_fixup_cfg(), execute_optimize_stdarg(), execute_optimize_widening_mul(), execute_return_slot_opt(), expand_complex_move(), expand_gimple_basic_block(), expr_expected_value_1(), find_decls_types_in_node(), find_duplicate(), find_func_aliases(), find_func_clobbers(), find_replaceable_in_bb(), find_tail_calls(), fold_marked_statements(), gather_memory_references(), gen_shrink_wrap_conditions(), get_default_value(), get_string_length(), gimple_alloca_call_p(), gimple_block_ends_with_call_p(), gimple_call_builtin_p(), gimple_expand_calls_inline(), gimple_fold_builtin(), gimple_has_side_effects(), gimple_regimplify_operands(), gimple_val_nonnegative_real_p(), gimplify_and_update_call_from_tree(), infer_loop_bounds_from_array(), input_gimple_stmt(), instrument_expr(), instrument_gimple(), instrument_strlen_call(), ipa_analyze_params_uses(), ipa_analyze_stmt_uses(), ipa_pta_execute(), ipa_tm_decrement_clone_counts(), ipa_tm_diagnose_transaction(), ipa_tm_scan_calls_block(), ipa_tm_transform_calls_1(), is_gimple_builtin_call(), is_replaceable_p(), likely_value(), loop_body_includes_call(), make_abnormal_goto_edges(), mark_all_reaching_defs_necessary_1(), may_propagate_copy_into_stmt(), movement_possibility(), need_fake_edge_p(), note_simd_array_uses(), nt_init_block(), optimize_omp_library_calls(), optimize_stack_restore(), optimize_stmt(), output_gimple_stmt(), propagate_necessity(), propagate_op_to_single_use(), propagate_tree_value_into_stmt(), ptr_parm_has_direct_uses(), rebuild_cgraph_edges(), record_temporary_equivalences_from_stmts_at_dest(), redirect_all_calls(), ref_maybe_used_by_stmt_p(), replace_removed_params_ssa_names(), same_handler_p(), same_succ_hash(), scan_omp_1_stmt(), should_duplicate_loop_header_p(), simplify_builtin_call(), stmt_can_make_abnormal_goto(), stmt_cost(), stmt_interesting_for_vrp(), stmt_is_power_of_op(), stmt_kills_ref_p_1(), stmt_may_be_vtbl_ptr_store(), stmt_may_clobber_ref_p_1(), strlen_optimize_stmt(), substitute_and_fold(), surely_varying_stmt_p(), thread_private_new_memory(), transform_statements(), tree_bb_level_predictions(), tree_call_cdce(), tree_estimate_probability_bb(), tree_profiling(), update_call_edge_frequencies(), update_gimple_call(), update_stmt_operands(), vect_analyze_data_refs(), vect_build_slp_tree(), vect_build_slp_tree_1(), vect_create_new_slp_node(), vect_create_vectorized_promotion_stmts(), vect_finish_stmt_generation(), vect_get_and_check_slp_defs(), vect_get_single_scalar_iteration_cost(), vect_get_vec_def_for_operand(), vect_is_simple_reduction_1(), vect_is_slp_reduction(), vect_mark_stmts_to_be_vectorized(), vect_pattern_recog_1(), vect_recog_pow_pattern(), vect_remove_slp_scalar_calls(), vectorizable_call(), verify_cgraph_node(), visit_use(), vrp_visit_stmt(), and walk_stmt_load_store_addr_ops().

bool is_gimple_call_addr ( tree  )
Returns true iff T is a valid call address expression.   
bool is_gimple_condexpr ( tree  )
Returns true iff T is a valid if-statement condition.   
bool is_gimple_constant ( const_tree  )
Returns true iff T is a valid GIMPLE constant.   
static bool is_gimple_debug ( )
inlinestatic
Return true if GS is a GIMPLE_DEBUG statement.   

Referenced by add_scope_conflicts_1(), add_virtual_operand(), adjust_debug_stmts_now(), all_immediate_uses_same_place(), analyze_drs_in_stmts(), branch_prob(), build_cgraph_edges(), build_ssa_conflict_graph(), check_all_va_list_escapes(), check_loop_closed_ssa_stmt(), check_stmt(), cleanup_empty_eh(), clear_unused_block_pointer(), compute_avail(), convert_mult_to_fma(), copy_bb(), copy_edges_for_bb(), create_outofssa_var_map(), decide_copy_try_finally(), discover_nonconstant_array_refs(), dump_enumerated_decls(), dump_gimple_bb_header(), eliminate_local_variables(), eliminate_unnecessary_stmts(), empty_body_p(), execute_cse_reciprocals(), execute_optimize_stdarg(), execute_update_addresses_taken(), expand_gimple_basic_block(), find_assert_locations_1(), find_interesting_uses(), find_replaceable_in_bb(), find_return_bb(), find_tail_calls(), find_uninit_use(), find_uses_to_rename_stmt(), first_stmt(), forward_propagate_addr_expr(), generate_loops_for_partition(), get_expr_operands(), gimple_can_merge_blocks_p(), gimple_empty_block_p(), gimple_has_side_effects(), has_single_use(), has_zero_uses_1(), infinite_empty_loop_p(), input_function(), insert_clobber_before_stack_restore(), insert_init_stmt(), insert_stmt_after(), ipa_analyze_params_uses(), last_stmt(), mark_def_sites(), mark_stmt_necessary(), mark_use_interesting(), maybe_move_debug_stmts_to_successors(), nearest_common_dominator_of_uses(), no_side_effect_bb(), note_simd_array_uses(), num_imm_uses(), optimize_clobbers(), optimize_unreachable(), output_gimple_stmt(), propagate_expr_outside_region(), propagate_threaded_block_debug_into(), ptr_parm_has_direct_uses(), record_temporary_equivalences_from_stmts_at_dest(), redirection_block_p(), release_defs_bitset(), remove_forwarder_block(), remove_phi(), remove_unused_locals(), rename_uses(), rewrite_cross_bb_scalar_deps(), rewrite_stmt(), rewrite_update_stmt(), separate_decls_in_region(), sese_build_liveouts_bb(), sese_reset_debug_liveouts_bb(), set_location_for_edge(), set_var_live_on_entry(), should_duplicate_loop_header_p(), single_imm_use(), single_imm_use_1(), single_nonlooparound_use(), sink_clobbers(), sra_ipa_reset_debug_stmts(), ssa_name_has_uses_outside_loop_p(), statement_sink_location(), stmt_local_def(), stmt_simple_for_scop_p(), stmts_from_loop(), substitute_and_fold(), trivially_conflicts_p(), try_generate_gimple_bb(), unsplit_eh(), update_debug_stmts(), update_range_test(), used_outside_reduction(), value_replacement(), vect_is_simple_reduction_1(), vect_is_slp_reduction(), vect_loop_kill_debug_uses(), vect_mark_relevant(), vect_slp_analyze_bb(), vect_stmt_relevant_p(), verify_gimple_in_cfg(), verify_non_ssa_vars(), visit_bb(), and warn_uninitialized_vars().

bool is_gimple_id ( tree  )
Returns true iff T is any sort of symbol.   
bool is_gimple_invariant_address ( const_tree  )
Returns true iff T is a GIMPLE invariant address.   
bool is_gimple_ip_invariant ( const_tree  )
Returns true iff T is a GIMPLE restricted interprecodural invariant.   
bool is_gimple_ip_invariant_address ( const_tree  )
Returns true iff T is a GIMPLE invariant address at interprocedural
   level.   
bool is_gimple_lvalue ( tree  )
Returns true iff T is any valid GIMPLE lvalue.   
bool is_gimple_mem_ref_addr ( tree  )
Returns true iff T is a valid address operand of a MEM_REF.   
bool is_gimple_min_invariant ( const_tree  )
Returns true iff T is a GIMPLE restricted function invariant.   
bool is_gimple_min_lval ( tree  )
Returns true iff T is a variable or an INDIRECT_REF (of a variable).   
static bool is_gimple_omp ( )
inlinestatic
bool is_gimple_reg ( tree  )
Returns true iff T is a scalar register variable.   
static bool is_gimple_resx ( )
inlinestatic
Return true if GS is a GIMPLE_RESX.   

Referenced by cleanup_empty_eh(), and execute_lower_resx().

static bool is_gimple_sizepos ( )
inlinestatic
Return true if gimplify_one_sizepos doesn't need to gimplify
   expr (when in TYPE_SIZE{,_UNIT} and similar type/decl size/bitsize
   fields).   

Referenced by gimplify_one_sizepos().

bool is_gimple_val ( tree  )
Returns true iff T is a GIMPLE rvalue.   
bool is_gimple_variable ( tree  )
Returns true iff T is any sort of variable.   
void lower_nested_functions ( tree  )
In tree-nested.c.   

Referenced by analyze_function().

tree maybe_fold_and_comparisons ( enum tree_code  code1,
tree  op1a,
tree  op1b,
enum tree_code  code2,
tree  op2a,
tree  op2b 
)
Try to simplify the AND of two comparisons, specified by
   (OP1A CODE1 OP1B) and (OP2B CODE2 OP2B), respectively.
   If this can be simplified to a single expression (without requiring
   introducing more SSA variables to hold intermediate values),
   return the resulting tree.  Otherwise return NULL_TREE.
   If the result expression is non-null, it has boolean type.   

References and_comparisons_1().

Referenced by and_var_with_comparison_1(), eliminate_redundant_comparison(), and ifcombine_ifandif().

tree maybe_fold_or_comparisons ( enum tree_code  code1,
tree  op1a,
tree  op1b,
enum tree_code  code2,
tree  op2a,
tree  op2b 
)
Try to simplify the OR of two comparisons, specified by
   (OP1A CODE1 OP1B) and (OP2B CODE2 OP2B), respectively.
   If this can be simplified to a single expression (without requiring
   introducing more SSA variables to hold intermediate values),
   return the resulting tree.  Otherwise return NULL_TREE.
   If the result expression is non-null, it has boolean type.   

References or_comparisons_1().

Referenced by eliminate_redundant_comparison(), fold_or_predicates(), and or_var_with_comparison_1().

void omp_firstprivatize_variable ( struct gimplify_omp_ctx ,
tree   
)
tree omp_reduction_init ( tree  ,
tree   
)
In omp-low.c.   

Referenced by initialize_reductions(), and lower_rec_input_clauses().

void preprocess_case_label_vec_for_gimple ( vec< tree labels,
tree  index_type,
tree default_casep 
)
Prepare a vector of case labels to be used in a GIMPLE_SWITCH statement.

   LABELS is a vector that contains all case labels to look at.

   INDEX_TYPE is the type of the switch index expression.  Case labels
   in LABELS are discarded if their values are not in the value range
   covered by INDEX_TYPE.  The remaining case label values are folded
   to INDEX_TYPE.

   If a default case exists in LABELS, it is removed from LABELS and
   returned in DEFAULT_CASEP.  If no default case exists, but the
   case labels already cover the whole range of INDEX_TYPE, a default
   case is returned pointing to one of the existing case labels.
   Otherwise DEFAULT_CASEP is set to NULL_TREE.

   DEFAULT_CASEP may be NULL, in which case the above comment doesn't
   apply and no action is taken regardless of whether a default case is
   found or not.   

References build_case_label(), len, sort_case_labels(), tree_int_cst_compare(), and tree_int_cst_equal().

Referenced by gimplify_switch_expr(), and simplify_gimple_switch_label_vec().

void print_gimple_types_stats ( const char *  )
void recalculate_side_effects ( tree  )
static void set_bb_seq ( )
inlinestatic
Sets the sequence of statements in BB to SEQ.   

Referenced by combine_blocks(), create_bb(), gimple_merge_blocks(), and gimple_split_block().

tree tree_ssa_strip_useless_type_conversions ( tree  )
bool tree_ssa_useless_type_conversion ( tree  )
static void update_stmt ( )
inlinestatic
Mark statement S as modified, and update it.   

Referenced by adjust_debug_stmts_now(), adjust_last_stmt(), adjust_return_value(), associate_plusminus(), associate_pointerplus(), break_up_subtract(), build_and_add_sum(), build_arrays(), build_one_array(), canonicalize_comparison(), canonicalize_loop_closed_ssa(), canonicalize_loop_ivs(), cgraph_redirect_edge_call_stmt_to_callee(), combine_cond_exprs(), combine_conversions(), convert_mult_to_widen(), convert_plusminus_to_widen(), copy_debug_stmt(), copy_edges_for_bb(), create_canonical_iv(), create_expression_by_pieces(), create_phi_basis(), eliminate(), eliminate_bb(), eliminate_local_variables_stmt(), eliminate_unnecessary_stmts(), emit_case_bit_tests(), execute_cse_reciprocals(), execute_fixup_cfg(), execute_fold_all_builtins(), execute_sm_if_changed(), execute_update_addresses_taken(), expand_call_tm(), expand_complex_comparison(), expand_complex_libcall(), expand_complex_move(), expand_complex_operations_1(), expand_gimple_basic_block(), expand_omp_taskreg(), expand_vector_condition(), expand_vector_operations_1(), fixup_noreturn_call(), fold_marked_statements(), forward_propagate_addr_expr(), forward_propagate_addr_expr_1(), forward_propagate_comparison(), forward_propagate_into_comparison(), forward_propagate_into_cond(), forward_propagate_into_gimple_cond(), gen_def_assigns(), gen_inbound_check(), generate_subtree_copies(), get_string_length(), gimple_divmod_fixed_value_transform(), gimple_ic(), gimple_mod_pow2_value_transform(), gimple_mod_subtract_transform(), gimple_stringop_fixed_value(), graphite_copy_stmts_from_block(), handle_builtin_strcat(), handle_builtin_strchr(), handle_builtin_strcpy(), handle_builtin_strlen(), handle_pointer_plus(), handle_scalar_deps_crossing_scop_limits(), ifcombine_ifandif(), init_subtree_with_zero(), insert_debug_temp_for_var_def(), insert_stmt_after(), instrument_builtin_call(), ipa_sra_modify_function_body(), ipa_tm_insert_gettmclone_call(), ipcp_transform_function(), linearize_expr(), linearize_expr_tree(), load_assign_lhs_subreplacements(), lower_emutls_stmt(), lower_vec_perm(), mark_def_sites(), move_block_to_fn(), negate_value(), rewrite_mem_ref_loc::operator()(), optimize_unreachable(), phiprop_insert_phi(), predicate_mem_writes(), predicate_scalar_phi(), propagate_expr_outside_region(), propagate_into_all_uses(), propagate_op_to_single_use(), propagate_rhs_into_lhs(), propagate_with_phi(), reassociate_bb(), reassociate_to_the_same_stmt(), remove_conditions_and_labels(), remove_duplicate_close_phi(), remove_exits_and_undefined_stmts(), remove_name_from_operation(), remove_phi(), remove_redundant_iv_tests(), remove_unused_ivs(), replace_mult_candidate(), replace_one_candidate(), replace_reciprocal(), replace_ref(), replace_ref_with(), replace_rhs_if_not_dup(), replace_uses_by(), repropagate_negates(), reset_debug_uses(), rewrite_cross_bb_scalar_dependence(), rewrite_debug_stmt_uses(), rewrite_expr_tree(), rewrite_expr_tree_parallel(), rewrite_update_stmt(), rewrite_use(), separate_decls_in_region_debug(), sese_reset_debug_liveouts_bb(), simplify_abs_using_ranges(), simplify_bit_ops_using_ranges(), simplify_bitfield_ref(), simplify_bitwise_binary(), simplify_bitwise_binary_boolean(), simplify_builtin_call(), simplify_cond_using_ranges(), simplify_conversion_from_bitmask(), simplify_conversion_using_ranges(), simplify_div_or_mod_using_ranges(), simplify_float_conversion_using_ranges(), simplify_gimple_switch(), simplify_not_neg_expr(), simplify_permutation(), simplify_truth_ops_using_ranges(), simplify_vector_constructor(), split_function(), sra_ipa_reset_debug_stmts(), sra_modify_function_body(), ssa_forward_propagate_and_combine(), substitute_and_fold(), transform_stmt_to_copy(), transform_stmt_to_multiply(), transform_to_exit_first_loop(), tree_nrv(), tree_profiling(), tree_transform_and_unroll_loop(), tree_unswitch_single_loop(), try_unroll_loop_completely(), update_complex_assignment(), update_debug_stmt(), update_range_test(), vect_is_simple_reduction_1(), vect_is_slp_reduction(), vect_loop_kill_debug_uses(), and verify_bb_vtables().

static void update_stmt_if_modified ( )
inlinestatic
Update statement S if it has been optimized.   

Referenced by optimize_stmt(), tree_ssa_dominator_optimize(), update_modified_stmt(), and update_modified_stmts().

bool useless_type_conversion_p ( tree  ,
tree   
)

Referenced by adjust_bool_pattern(), build_accesses_from_assign(), build_tm_load(), build_tm_store(), canonicalize_addr_expr(), canonicalize_component_ref(), canonicalize_constructor_val(), ccp_fold_stmt(), combine_conversions(), compute_complex_assign_jump_func(), conditional_replacement(), convert_plusminus_to_widen(), create_expression_by_pieces(), create_mem_ref(), declare_return_variable(), determine_offset(), eliminate_bb(), eliminate_redundant_comparison(), eliminate_redundant_computations(), execute_optimize_bswap(), execute_update_addresses_taken(), expand_omp_atomic_load(), expand_omp_atomic_store(), expand_thunk(), expand_vector_operations_1(), find_tail_calls(), fold_ctor_reference(), fold_gimple_assign(), fold_stmt_1(), forward_propagate_addr_expr_1(), forward_propagate_into_comparison(), generate_memset_builtin(), get_initial_def_for_induction(), gimple_check_call_matching_types(), gimple_fold_indirect_ref(), gimplify_addr_expr(), gimplify_expr(), gimplify_init_constructor(), gimplify_modify_expr(), handle_builtin_strchr(), handle_builtin_strlen(), handle_pointer_plus(), insert_into_preds_of_block(), instrument_builtin_call(), instrument_mem_region_access(), ipa_modify_call_arguments(), ipa_tm_insert_gettmclone_call(), ipcp_transform_function(), load_assign_lhs_subreplacements(), may_propagate_copy(), may_propagate_copy_into_stmt(), maybe_rewrite_mem_ref_base(), non_rewritable_mem_ref_base(), one_pointer_to_useless_type_conversion_p(), optimize_ops_list(), phi_translate_1(), refine_bounds_using_guard(), remap_gimple_op_r(), rename_uses(), replace_mult_candidate(), setup_one_parameter(), simplify_rotate(), simplify_truth_ops_using_ranges(), simplify_vector_constructor(), split_function(), sra_ipa_modify_assign(), sra_ipa_modify_expr(), sra_modify_assign(), sra_modify_expr(), take_address_of(), tree_function_versioning(), tree_nrv(), tree_ssa_useless_type_conversion(), tree_transform_and_unroll_loop(), types_compatible_p(), useless_type_conversion_p(), vect_create_data_ref_ptr(), vect_recog_bool_pattern(), vectorizable_load(), vectorizable_shift(), vectorizable_store(), verify_gimple_assign_binary(), verify_gimple_assign_single(), verify_gimple_assign_ternary(), verify_gimple_assign_unary(), verify_gimple_call(), verify_gimple_comparison(), verify_gimple_phi(), verify_gimple_return(), verify_types_in_gimple_reference(), and visit_reference_op_load().

bool validate_gimple_arglist ( const_gimple  ,
  ... 
)
In builtins.c   
tree walk_gimple_op ( gimple  stmt,
walk_tree_fn  callback_op,
struct walk_stmt_info wi 
)
Helper function of WALK_GIMPLE_STMT.  Walk every tree operand in
   STMT.  CALLBACK_OP and WI are as in WALK_GIMPLE_STMT.

   CALLBACK_OP is called on each operand of STMT via walk_tree.
   Additional parameters to walk_tree must be stored in WI.  For each operand
   OP, walk_tree is called as:

        walk_tree (&OP, CALLBACK_OP, WI, WI->PSET)

   If CALLBACK_OP returns non-NULL for an operand, the remaining
   operands are not scanned.

   The return value is that returned by the last call to walk_tree, or
   NULL_TREE if no CALLBACK_OP is specified.   

References gimple_assign_lhs(), gimple_assign_rhs1(), gimple_assign_rhs_class(), gimple_call_arg(), gimple_call_arg_ptr(), gimple_call_chain_ptr(), gimple_call_fn_ptr(), gimple_call_lhs(), gimple_call_lhs_ptr(), gimple_call_num_args(), gimple_catch_types_ptr(), gimple_eh_filter_types_ptr(), gimple_num_ops(), gimple_omp_atomic_load_lhs_ptr(), gimple_omp_atomic_load_rhs_ptr(), gimple_omp_atomic_store_val_ptr(), gimple_omp_continue_control_def_ptr(), gimple_omp_continue_control_use_ptr(), gimple_omp_critical_name_ptr(), gimple_omp_for_clauses_ptr(), gimple_omp_for_collapse(), gimple_omp_for_final_ptr(), gimple_omp_for_incr_ptr(), gimple_omp_for_index_ptr(), gimple_omp_for_initial_ptr(), gimple_omp_parallel_child_fn_ptr(), gimple_omp_parallel_clauses_ptr(), gimple_omp_parallel_data_arg_ptr(), gimple_omp_sections_clauses_ptr(), gimple_omp_sections_control_ptr(), gimple_omp_single_clauses_ptr(), gimple_omp_task_arg_align_ptr(), gimple_omp_task_arg_size_ptr(), gimple_omp_task_child_fn_ptr(), gimple_omp_task_clauses_ptr(), gimple_omp_task_copy_fn_ptr(), gimple_omp_task_data_arg_ptr(), gimple_op_ptr(), GIMPLE_SINGLE_RHS, gimple_statement_structure(), gimple_transaction_label_ptr(), is_gimple_reg(), is_gimple_reg_type(), walk_stmt_info::is_lhs, walk_stmt_info::pset, walk_stmt_info::val_only, and walk_gimple_asm().

Referenced by check_all_array_refs(), convert_tramp_reference_stmt(), count_uses_and_derefs(), discover_nonconstant_array_refs(), eliminate_local_variables_stmt(), execute_optimize_stdarg(), insert_debug_temp_for_var_def(), lower_emutls_stmt(), lower_omp_1(), note_simd_array_uses(), remap_gimple_stmt(), tree_nrv(), verify_gimple_in_cfg(), and walk_gimple_stmt().

gimple walk_gimple_seq ( gimple_seq  seq,
walk_stmt_fn  callback_stmt,
walk_tree_fn  callback_op,
struct walk_stmt_info wi 
)
Like walk_gimple_seq_mod, but ensure that the head of SEQ isn't
   changed by the callbacks.   

References walk_gimple_seq_mod().

Referenced by copy_gimple_seq_and_replace_locals(), diagnose_omp_structured_block_errors(), diagnose_sb_1(), diagnose_tm_1(), diagnose_tm_blocks(), inline_forbidden_p(), lower_omp_taskreg(), and mf_xform_decls().

gimple walk_gimple_seq_mod ( gimple_seq pseq,
walk_stmt_fn  callback_stmt,
walk_tree_fn  callback_op,
struct walk_stmt_info wi 
)
Walk all the statements in the sequence *PSEQ calling walk_gimple_stmt
   on each one.  WI is as in walk_gimple_stmt.

   If walk_gimple_stmt returns non-NULL, the walk is stopped, and the
   value is stored in WI->CALLBACK_RESULT.  Also, the statement that
   produced the value is returned if this statement has not been
   removed by a callback (wi->removed_stmt).  If the statement has
   been removed, NULL is returned.

   Otherwise, all the statements are walked and NULL returned.   

References walk_stmt_info::callback_result, gsi_end_p(), gsi_next(), gsi_stmt(), walk_stmt_info::removed_stmt, and walk_gimple_stmt().

Referenced by diagnose_omp_structured_block_errors(), diagnose_sb_2(), execute_lower_tm(), lower_transaction(), move_stmt_r(), scan_omp(), walk_body(), walk_gimple_seq(), and walk_gimple_stmt().

tree walk_gimple_stmt ( gimple_stmt_iterator gsi,
walk_stmt_fn  callback_stmt,
walk_tree_fn  callback_op,
struct walk_stmt_info wi 
)
Walk the current statement in GSI (optionally using traversal state
   stored in WI).  If WI is NULL, no state is kept during traversal.
   The callback CALLBACK_STMT is called.  If CALLBACK_STMT indicates
   that it has handled all the operands of the statement, its return
   value is returned.  Otherwise, the return value from CALLBACK_STMT
   is discarded and its operands are scanned.

   If CALLBACK_STMT is NULL or it didn't handle the operands,
   CALLBACK_OP is called on each operand of the statement via
   walk_gimple_op.  If walk_gimple_op returns non-NULL for any
   operand, the remaining operands are not scanned.  In this case, the
   return value from CALLBACK_OP is returned.

   In any other case, NULL_TREE is returned.   

References walk_stmt_info::callback_result, gimple_bind_body_ptr(), gimple_catch_handler_ptr(), gimple_eh_else_e_body_ptr(), gimple_eh_else_n_body_ptr(), gimple_eh_filter_failure_ptr(), gimple_has_location(), gimple_has_substatements(), gimple_location(), gimple_omp_body_ptr(), gimple_omp_for_pre_body_ptr(), gimple_transaction_body_ptr(), gimple_try_cleanup_ptr(), gimple_try_eval_ptr(), gimple_wce_cleanup_ptr(), walk_stmt_info::gsi, gsi_stmt(), input_location, walk_stmt_info::removed_stmt, walk_gimple_op(), walk_gimple_seq_mod(), and walk_stmt_info::want_locations.

Referenced by dump_enumerated_decls(), move_block_to_fn(), and walk_gimple_seq_mod().

bool walk_stmt_load_store_addr_ops ( gimple  stmt,
void *  data,
bool(*)(gimple, tree, void *)  visit_load,
bool(*)(gimple, tree, void *)  visit_store,
bool(*)(gimple, tree, void *)  visit_addr 
)
For the statement STMT call the callbacks VISIT_LOAD, VISIT_STORE and
   VISIT_ADDR if non-NULL on loads, store and address-taken operands
   passing the STMT, the base of the operand and DATA to it.  The base
   will be either a decl, an indirect reference (including TARGET_MEM_REF)
   or the argument of an address expression.
   Returns the results of these callbacks or'ed.   

References get_base_loadstore(), gimple_asm_input_op(), gimple_asm_ninputs(), gimple_asm_noutputs(), gimple_asm_output_op(), gimple_assign_lhs(), gimple_assign_rhs1(), gimple_assign_single_p(), gimple_call_arg(), gimple_call_chain(), gimple_call_lhs(), gimple_call_num_args(), gimple_call_return_slot_opt_p(), gimple_goto_dest(), gimple_num_ops(), gimple_op(), gimple_phi_num_args(), gimple_return_retval(), handled_component_p(), is_gimple_assign(), is_gimple_call(), parse_input_constraint(), and parse_output_constraint().

Referenced by add_scope_conflicts_1(), gimple_ior_addresses_taken(), ipa_analyze_params_uses(), ipa_record_stmt_references(), scan_function(), verify_non_ssa_vars(), visit_bb(), and walk_stmt_load_store_ops().

bool walk_stmt_load_store_ops ( gimple  stmt,
void *  data,
bool(*)(gimple, tree, void *)  visit_load,
bool(*)(gimple, tree, void *)  visit_store 
)
Like walk_stmt_load_store_addr_ops but with NULL visit_addr.  IPA-CP
   should make a faster clone for this case.   

References walk_stmt_load_store_addr_ops().

Referenced by check_stmt().


Variable Documentation

gimple currently_expanding_gimple_stmt
This variable holds the currently expanded gimple statement for purposes
   of comminucating the profile info to the builtin expanders.   

Referenced by expand_builtin_memcpy(), and expand_builtin_memset_args().

int gimple_alloc_counts[]
const char* const gimple_code_name[]
size_t const gimple_ops_offset_[]
Offset in bytes to the location of the operand vector.
   Zero if there is no operand vector for this tuple structure.   
const unsigned char gimple_rhs_class_table[]
enum gimple_statement_structure_enum const gss_for_code_[]
Map GIMPLE codes to GSS codes.