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

Go to the source code of this file.

Functions

static bool gimple_in_ssa_p ()
static tree gimple_vop ()
static void * first_htab_element ()
static bool end_htab_p ()
static void * next_htab_element ()
static unsigned int gimple_stmt_max_uid ()
static void set_gimple_stmt_max_uid ()
static unsigned int inc_gimple_stmt_max_uid ()
static int get_lineno ()
static void delink_imm_use ()
static void link_imm_use_to_list ()
static void link_imm_use ()
static void set_ssa_use_from_ptr ()
static void link_imm_use_stmt ()
static void relink_imm_use ()
static void relink_imm_use_stmt (ssa_use_operand_t *linknode, ssa_use_operand_t *old, gimple stmt)
static bool end_readonly_imm_use_p ()
static use_operand_p first_readonly_imm_use ()
static use_operand_p next_readonly_imm_use ()
bool has_zero_uses_1 (const ssa_use_operand_t *head)
bool single_imm_use_1 (const ssa_use_operand_t *head, use_operand_p *use_p, gimple *stmt)
static bool has_zero_uses ()
static bool has_single_use ()
static bool single_imm_use ()
static unsigned int num_imm_uses ()
static tree get_use_from_ptr ()
static tree get_def_from_ptr ()
static use_operand_p gimple_phi_arg_imm_use_ptr ()
static tree gimple_phi_arg_def ()
static treegimple_phi_arg_def_ptr ()
static edge gimple_phi_arg_edge ()
static source_location gimple_phi_arg_location ()
static source_location gimple_phi_arg_location_from_edge ()
static void gimple_phi_arg_set_location ()
static bool gimple_phi_arg_has_location ()
static gimple_seq phi_nodes ()
static gimple_seqphi_nodes_ptr ()
static void set_phi_nodes ()
static int phi_arg_index_from_use ()
static bool is_global_var ()
static bool may_be_aliased ()
static bool phi_ssa_name_p ()
static struct looploop_containing_stmt ()
static bool op_iter_done ()
static use_operand_p op_iter_next_use ()
static def_operand_p op_iter_next_def ()
static tree op_iter_next_tree ()
static void clear_and_done_ssa_iter ()
static void op_iter_init ()
static use_operand_p op_iter_init_use ()
static def_operand_p op_iter_init_def ()
static tree op_iter_init_tree ()
static tree single_ssa_tree_operand ()
static use_operand_p single_ssa_use_operand ()
static def_operand_p single_ssa_def_operand ()
static bool zero_ssa_operands ()
static int num_ssa_operands ()
static use_operand_p op_iter_init_phiuse (ssa_op_iter *ptr, gimple phi, int flags)
static void delink_stmt_imm_use ()
static tree single_phi_def ()
static use_operand_p op_iter_init_phiuse ()
static def_operand_p op_iter_init_phidef ()
static bool end_imm_use_stmt_p ()
static void end_imm_use_stmt_traverse ()
static use_operand_p move_use_after_head (use_operand_p use_p, use_operand_p head, use_operand_p last_p)
static void link_use_stmts_after ()
static gimple first_imm_use_stmt ()
static gimple next_imm_use_stmt ()
static use_operand_p first_imm_use_on_stmt ()
static bool end_imm_use_on_stmt_p ()
static use_operand_p next_imm_use_on_stmt ()
static bool unmodifiable_var_p ()
static bool ref_contains_array_ref ()
static bool contains_view_convert_expr_p ()
static bool ranges_overlap_p (unsigned HOST_WIDE_INT pos1, unsigned HOST_WIDE_INT size1, unsigned HOST_WIDE_INT pos2, unsigned HOST_WIDE_INT size2)
static struct ssa_operandsgimple_ssa_operands ()
static tree redirect_edge_var_map_def ()
static tree redirect_edge_var_map_result ()
static source_location redirect_edge_var_map_location ()
static tree make_ssa_name ()
static tree copy_ssa_name ()
static tree duplicate_ssa_name ()
static tree make_temp_ssa_name ()
static tree get_addr_base_and_unit_offset_1 (tree exp, HOST_WIDE_INT *poffset, tree(*valueize)(tree))

Function Documentation

static void clear_and_done_ssa_iter ( )
inlinestatic
This functions clears the iterator PTR, and marks it done.  This is normally
   used to prevent warnings in the compile about might be uninitialized
   components.   

References ssa_operand_iterator_d::done, ssa_operand_iterator_d::flags, ssa_operand_iterator_d::i, ssa_operand_iterator_d::iter_type, ssa_operand_iterator_d::numops, ssa_op_iter_none, ssa_operand_iterator_d::stmt, and ssa_operand_iterator_d::uses.

Referenced by DFS(), op_iter_init_phidef(), and op_iter_init_phiuse().

static bool contains_view_convert_expr_p ( )
inlinestatic
Return true if REF has an VIEW_CONVERT_EXPR somewhere in it.   

References handled_component_p().

Referenced by build_access_from_expr_1().

static void delink_stmt_imm_use ( )
inlinestatic
Delink all immediate_use information for STMT.   

References cfun, delink_imm_use(), and ssa_operands_active().

Referenced by expand_gimple_basic_block(), gsi_remove(), and gsi_replace().

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

References cfun, and duplicate_ssa_name_fn().

Referenced by abs_replacement(), create_new_def_for(), gimple_ic(), gimple_stringop_fixed_value(), insert_phi_nodes_for(), minmax_replacement(), separate_decls_in_region_name(), and split_loop_exit_edge().

static bool end_htab_p ( )
inlinestatic
Return current non-empty/deleted slot of the hashtable pointed to by HTI,
   or NULL if we have  reached the end.   

References htab_iterator::limit, and htab_iterator::slot.

static bool end_imm_use_on_stmt_p ( )
inlinestatic
Return TRUE if the last use on the stmt IMM refers to has been visited.   

References immediate_use_iterator_d::imm_use, and immediate_use_iterator_d::iter_node.

Referenced by next_imm_use_on_stmt().

static bool end_imm_use_stmt_p ( )
inlinestatic
Return true is IMM has reached the end of the immediate use stmt list.   

References immediate_use_iterator_d::end_p, and immediate_use_iterator_d::imm_use.

Referenced by first_imm_use_stmt(), and next_imm_use_stmt().

static void end_imm_use_stmt_traverse ( )
inlinestatic
Finished the traverse of an immediate use stmt list IMM by removing the
   placeholder node from the list.   

References delink_imm_use(), and immediate_use_iterator_d::iter_node.

static bool end_readonly_imm_use_p ( )
inlinestatic
Return true is IMM has reached the end of the immediate use list.   

References immediate_use_iterator_d::end_p, and immediate_use_iterator_d::imm_use.

Referenced by first_readonly_imm_use(), and next_readonly_imm_use().

static void* first_htab_element ( )
inlinestatic
Initialize the hashtable iterator HTI to point to hashtable TABLE  

References htab_iterator::htab, htab_iterator::limit, htab_iterator::slot, and table.

static use_operand_p first_imm_use_on_stmt ( )
inlinestatic
This routine will return the first use on the stmt IMM currently refers
   to.   

References immediate_use_iterator_d::imm_use, ssa_use_operand_d::next, and immediate_use_iterator_d::next_imm_name.

static use_operand_p first_readonly_imm_use ( )
inlinestatic
static tree get_addr_base_and_unit_offset_1 ( tree  exp,
HOST_WIDE_INT poffset,
tree(*)(tree valueize 
)
inlinestatic
Returns the base object and a constant BITS_PER_UNIT offset in *POFFSET that
   denotes the starting address of the memory access EXP.
   Returns NULL_TREE if the offset is not constant or any component
   is not BITS_PER_UNIT-aligned.
   VALUEIZE if non-NULL is used to valueize SSA names.  It should return
   its argument or a constant if the argument is known to be constant.   
??? This is a static inline here to avoid the overhead of the indirect calls
   to VALUEIZE.  But is this overhead really that significant?  And should we
   perhaps just rely on WHOPR to specialize the function?   

References array_ref_element_size(), array_ref_low_bound(), component_ref_field_offset(), exp(), double_int::high, HOST_WIDE_INT, integer_zerop(), mem_ref_offset(), and double_int::to_shwi().

Referenced by get_addr_base_and_unit_offset(), and gimple_fold_stmt_to_constant_1().

static tree get_def_from_ptr ( )
inlinestatic
Return the tree pointed-to by DEF.   
static int get_lineno ( )
inlinestatic
Return the line number for EXPR, or return -1 if we have no line
   number information for it.   

References gimple_location().

Referenced by dump_gimple_bb_header().

static tree get_use_from_ptr ( )
inlinestatic
Return the tree pointed-to by USE.   

References ssa_use_operand_d::use.

Referenced by cprop_into_successor_phis(), and gimple_phi_arg_def().

static tree gimple_phi_arg_def ( )
inlinestatic
Return the tree operand for argument I of PHI node GS.   

References get_use_from_ptr(), gimple_phi_arg(), and phi_arg_d::imm_use.

Referenced by all_phi_incrs_profitable(), and_comparisons_1(), can_skip_redundant_opnd(), canonicalize_loop_closed_ssa(), check_final_bb(), cleanup_empty_eh_merge_phis(), close_phi_written_to_memory(), collect_phi_def_edges(), complex_visit_phi(), compute_uninit_opnds_pos(), consider_split(), copy_phi_args(), copy_prop_visit_phi_node(), create_phi_basis(), degenerate_phi_p(), degenerate_phi_result(), detect_commutative_reduction(), do_invalidate(), dump_gimple_phi(), execute_late_warn_uninitialized(), execute_sm_if_changed(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), find_func_aliases(), forward_edge_to_pdom(), gimple_merge_blocks(), hoist_adjacent_loads(), initial_value_for_loop_phi(), initialize_hash_element(), insert_backedge_copies(), maybe_optimize_range_tests(), merge_phi_nodes(), ncd_with_phi(), or_comparisons_1(), output_phi(), phi_add_costs(), phi_alternatives_equal(), phi_args_equal_on_edges(), phi_contains_arg(), phi_incr_cost(), phi_rank(), predicate_scalar_phi(), predict_extra_loop_exits(), propagate_constants_for_unrolling(), prune_uninit_phi_opnds_in_unrealizable_paths(), record_equivalences_from_phis(), record_phi_increments(), remove_dead_phis(), remove_forwarder_block(), remove_forwarder_block_with_phi(), remove_invariant_phi(), remove_simple_copy_phi(), replace_phi_args_in(), rewrite_close_phi_out_of_ssa(), rewrite_phi_out_of_ssa(), same_close_phi_node(), same_phi_alternatives_1(), same_succ_hash(), simple_copy_phi_p(), simple_iv_increment_p(), single_non_singleton_phi_for_edges(), slsr_process_phi(), ssa_redirect_edge(), strlen_enter_block(), suitable_cond_bb(), tree_ssa_phiopt_worker(), unsplit_eh(), update_phi_components(), verify_gimple_in_cfg(), verify_gimple_phi(), verify_live_on_entry(), verify_non_ssa_vars(), visit_bb(), walk_aliased_vdefs_1(), walk_use_def_chains_1(), and warn_uninitialized_phi().

static tree* gimple_phi_arg_def_ptr ( )
inlinestatic
Return a pointer to the tree operand for argument I of PHI node GS.   

References phi_arg_d::def, and gimple_phi_arg().

Referenced by find_decls_types_in_node(), make_phi_node(), and resize_phi_node().

static bool gimple_phi_arg_has_location ( )
inlinestatic
Return TRUE if argument I of phi node GS has a location record.   

References gimple_phi_arg_location().

Referenced by dump_gimple_phi(), and insert_backedge_copies().

static use_operand_p gimple_phi_arg_imm_use_ptr ( )
inlinestatic
static void gimple_phi_arg_set_location ( )
inlinestatic
Set the source location of gimple argument I of phi node GS to LOC.   

References gimple_phi_arg(), and phi_arg_d::locus.

Referenced by add_phi_arg(), make_phi_node(), move_block_to_fn(), remove_phi_arg_num(), reserve_phi_args_for_new_edge(), resize_phi_node(), and rewrite_update_phi_arguments().

static struct ssa_operands* gimple_ssa_operands ( )
staticread
static unsigned int gimple_stmt_max_uid ( )
inlinestatic
Get the number of the next statement uid to be allocated.   

Referenced by fixup_call_stmt_edges_1(), and input_function().

static tree gimple_vop ( )
inlinestatic
bool has_zero_uses_1 ( const ssa_use_operand_t head)
tree-cfg.c  
static unsigned int inc_gimple_stmt_max_uid ( )
inlinestatic
Set the number of the next statement uid to be allocated.   

Referenced by input_function(), output_function(), renumber_gimple_stmt_uids(), and renumber_gimple_stmt_uids_in_blocks().

static void link_imm_use ( )
inlinestatic
Link ssa_imm_use node LINKNODE into the chain for DEF.   

References link_imm_use_to_list(), ssa_use_operand_d::prev, and ssa_use_operand_d::use.

Referenced by link_imm_use_stmt(), relink_imm_use_stmt(), and set_ssa_use_from_ptr().

static void link_imm_use_stmt ( )
inlinestatic
Link ssa_imm_use node LINKNODE into the chain for DEF, with use occurring
   in STMT.   

References link_imm_use(), ssa_use_operand_d::loc, and ssa_use_operand_d::stmt.

Referenced by add_use_op(), and lower_emutls_phi_arg().

static void link_imm_use_to_list ( )
inlinestatic
Link ssa_imm_use node LINKNODE into the chain for LIST.   

References ssa_use_operand_d::next, and ssa_use_operand_d::prev.

Referenced by link_imm_use(), link_use_stmts_after(), and move_use_after_head().

static void link_use_stmts_after ( )
inlinestatic
This routine will relink all uses with the same stmt as HEAD into the list
   immediately following HEAD for iterator IMM.   

References delink_imm_use(), gimple_vuse_op(), is_gimple_reg(), immediate_use_iterator_d::iter_node, link_imm_use_to_list(), move_use_after_head(), and ssa_use_operand_d::prev.

Referenced by first_imm_use_stmt(), and next_imm_use_stmt().

static tree make_ssa_name ( )
inlinestatic
Return an SSA_NAME node for variable VAR defined in statement STMT
   in function cfun.   

References cfun, and make_ssa_name_fn().

Referenced by abs_replacement(), build_and_add_sum(), build_and_insert_cast(), build_arrays(), build_check_stmt(), build_ref_for_offset(), conditional_replacement(), create_call_for_reduction_1(), create_gimple_tmp(), create_iv(), create_parallel_loop(), declare_return_variable(), emit_case_bit_tests(), execute_load_motion(), expand_complex_div_wide(), expand_omp_atomic_pipeline(), expand_omp_for_static_chunk(), expand_omp_taskreg(), expand_parallel_call(), expand_vector_divmod(), force_gimple_operand_1(), gen_conditions_for_pow_int_base(), gen_emutls_addr(), gen_one_condition(), generate_memset_builtin(), get_component_ssa_name(), get_initial_def_for_induction(), get_string_length(), gimple_regimplify_operands(), gimplify_and_update_call_from_tree(), handle_scalar_deps_crossing_scop_limits(), initialize_root_vars(), initialize_root_vars_lm(), instrument_builtin_call(), instrument_expr(), instrument_func_entry(), instrument_mem_region_access(), instrument_strlen_call(), internal_get_tmp_var(), ipa_tm_insert_gettmclone_call(), lower_eh_dispatch(), lower_emutls_1(), lower_resx(), make_phi_node(), maybe_register_def(), permute_vec_elements(), phiprop_insert_phi(), read_vector_array(), reassociate_to_the_same_stmt(), remap_ssa_name(), replace_removed_params_ssa_names(), rewrite_stmt(), separate_decls_in_region(), setup_one_parameter(), simplify_bitwise_binary(), simplify_float_conversion_using_ranges(), simplify_rotate(), simplify_truth_ops_using_ranges(), split_function(), take_address_of(), tm_log_emit_saves(), tree_function_versioning(), tree_optimize_tail_calls_1(), update_alias_info_with_stack_vars(), update_call_from_tree(), vect_create_data_ref_ptr(), vect_create_epilog_for_reduction(), vect_create_mask_and_perm(), vect_create_vectorized_demotion_stmts(), vect_gen_widened_results_half(), vect_get_constant_vectors(), vect_handle_widen_op_by_const(), vect_init_vector(), vect_is_simple_reduction_1(), vect_operation_fits_smaller_type(), vect_recog_over_widening_pattern(), vect_setup_realignment(), vectorizable_assignment(), vectorizable_call(), vectorizable_condition(), vectorizable_conversion(), vectorizable_load(), vectorizable_operation(), vectorizable_reduction(), and vectorizable_shift().

static bool may_be_aliased ( )
inlinestatic
Return true if VAR may be aliased.  A variable is considered as
   maybe aliased if it has its address taken by the local TU
   or possibly by another TU and might be modified through a pointer.   

Referenced by call_may_clobber_ref_p_1(), can_escape(), dump_alias_info(), instrument_expr(), mem_dies_at_call(), ptr_deref_may_alias_decl_p(), ref_may_be_aliased(), and ref_maybe_used_by_call_p_1().

static use_operand_p move_use_after_head ( use_operand_p  use_p,
use_operand_p  head,
use_operand_p  last_p 
)
inlinestatic
Immediate use traversal of uses within a stmt require that all the
   uses on a stmt be sequentially listed.  This routine is used to build up
   this sequential list by adding USE_P to the end of the current list
   currently delimited by HEAD and LAST_P.  The new LAST_P value is
   returned.   

References delink_imm_use(), link_imm_use_to_list(), and ssa_use_operand_d::next.

Referenced by link_use_stmts_after().

static void* next_htab_element ( )
inlinestatic
Advance the hashtable iterator pointed to by HTI to the next element of the
   hashtable.   

References htab_iterator::limit, and htab_iterator::slot.

static use_operand_p next_imm_use_on_stmt ( )
inlinestatic
Bump to the next use on the stmt IMM refers to, return NULL if done.   

References end_imm_use_on_stmt_p(), immediate_use_iterator_d::imm_use, ssa_use_operand_d::next, and immediate_use_iterator_d::next_imm_name.

static gimple next_imm_use_stmt ( )
inlinestatic
static use_operand_p next_readonly_imm_use ( )
inlinestatic
static unsigned int num_imm_uses ( )
inlinestatic
Return the number of nondebug immediate uses of VAR.   

References is_gimple_debug(), and ssa_use_operand_d::next.

Referenced by dump_immediate_uses_for(), and simplify_permutation().

static int num_ssa_operands ( )
inlinestatic
Return the number of operands matching FLAGS in STMT.   

References loop::num.

static bool op_iter_done ( )
inlinestatic
-----------------------------------------------------------------------   
The following set of routines are used to iterator over various type of
   SSA operands.   
Return true if PTR is finished iterating.   

References ssa_operand_iterator_d::done.

Referenced by DFS(), single_ssa_def_operand(), single_ssa_tree_operand(), single_ssa_use_operand(), and zero_ssa_operands().

static def_operand_p op_iter_init_def ( )
inlinestatic
Initialize iterator PTR to the def operands in STMT based on FLAGS. Return
   the first def.   

References ssa_operand_iterator_d::iter_type, op_iter_init(), op_iter_next_def(), and ssa_op_iter_def.

Referenced by single_ssa_def_operand().

static def_operand_p op_iter_init_phidef ( )
inlinestatic
static use_operand_p op_iter_init_phiuse ( ssa_op_iter ptr,
gimple  phi,
int  flags 
)
inlinestatic

Referenced by DFS().

static use_operand_p op_iter_init_phiuse ( )
inlinestatic
static tree op_iter_init_tree ( )
inlinestatic
Initialize iterator PTR to the operands in STMT based on FLAGS. Return
   the first operand as a tree.   

References ssa_operand_iterator_d::iter_type, op_iter_init(), op_iter_next_tree(), and ssa_op_iter_tree.

Referenced by single_ssa_tree_operand(), and zero_ssa_operands().

static use_operand_p op_iter_init_use ( )
inlinestatic
Initialize iterator PTR to the use operands in STMT based on FLAGS. Return
   the first use.   

References ssa_operand_iterator_d::iter_type, op_iter_init(), op_iter_next_use(), and ssa_op_iter_use.

Referenced by DFS(), and single_ssa_use_operand().

static int phi_arg_index_from_use ( )
inlinestatic
Return the phi argument which contains the specified use.   

References gimple_phi_arg(), and gimple_phi_capacity().

static bool phi_ssa_name_p ( )
inlinestatic
PHI nodes should contain only ssa_names and invariants.  A test
   for ssa_name is definitely simpler; don't let invalid contents
   slip in in the meantime.   

References is_gimple_min_invariant().

Referenced by eliminate_build().

static bool ranges_overlap_p ( unsigned HOST_WIDE_INT  pos1,
unsigned HOST_WIDE_INT  size1,
unsigned HOST_WIDE_INT  pos2,
unsigned HOST_WIDE_INT  size2 
)
inlinestatic
Return true, if the two ranges [POS1, SIZE1] and [POS2, SIZE2]
   overlap.  SIZE1 and/or SIZE2 can be (unsigned)-1 in which case the
   range is open-ended.  Otherwise return false.   

References HOST_WIDE_INT.

Referenced by aliasing_component_refs_p(), decl_refs_may_alias_p(), do_structure_copy(), fold_builtin_memory_op(), get_constraint_for_component_ref(), indirect_ref_may_alias_decl_p(), and indirect_refs_may_alias_p().

static tree redirect_edge_var_map_def ( )
inlinestatic
Given an edge_var_map V, return the PHI arg definition.   

References _edge_var_map::def.

Referenced by expand_omp_for_static_chunk(), flush_pending_stmts(), reinstall_phi_args(), and remove_forwarder_block_with_phi().

static source_location redirect_edge_var_map_location ( )
inlinestatic
Given an edge_var_map V, return the PHI arg location.   

References _edge_var_map::locus.

Referenced by expand_omp_for_static_chunk(), flush_pending_stmts(), reinstall_phi_args(), and remove_forwarder_block_with_phi().

static tree redirect_edge_var_map_result ( )
inlinestatic
Given an edge_var_map V, return the PHI result.   

References _edge_var_map::result.

Referenced by expand_omp_for_static_chunk(), reinstall_phi_args(), and remove_forwarder_block_with_phi().

static bool ref_contains_array_ref ( )
inlinestatic
Return true if REF, a handled component reference, has an ARRAY_REF
   somewhere in it.   

References handled_component_p().

static void relink_imm_use ( )
inlinestatic
Relink a new node in place of an old node in the list.   

References ssa_use_operand_d::next, ssa_use_operand_d::prev, and ssa_use_operand_d::use.

Referenced by relink_imm_use_stmt(), and remove_phi_arg_num().

static void relink_imm_use_stmt ( ssa_use_operand_t linknode,
ssa_use_operand_t old,
gimple  stmt 
)
inlinestatic
Relink ssa_imm_use node LINKNODE into the chain for OLD, with use occurring
   in STMT.   

References link_imm_use(), ssa_use_operand_d::loc, relink_imm_use(), and ssa_use_operand_d::stmt.

Referenced by resize_phi_node().

static void set_gimple_stmt_max_uid ( )
inlinestatic
Set the number of the next statement uid to be allocated.   

Referenced by input_function(), output_function(), renumber_gimple_stmt_uids(), and renumber_gimple_stmt_uids_in_blocks().

static void set_ssa_use_from_ptr ( )
inlinestatic
Set the value of a use pointed to by USE to VAL.   

References delink_imm_use(), link_imm_use(), and ssa_use_operand_d::use.

bool single_imm_use_1 ( const ssa_use_operand_t head,
use_operand_p use_p,
gimple stmt 
)
Return true if the var whose chain of uses starts at PTR has a
   single nondebug use.  Set USE_P and STMT to that single nondebug
   use, if so, or to NULL otherwise.   

References is_gimple_debug(), ssa_use_operand_d::loc, ssa_use_operand_d::next, and ssa_use_operand_d::stmt.

Referenced by has_single_use(), and single_imm_use().

static tree single_phi_def ( )
inlinestatic
If there is a single DEF in the PHI node which matches FLAG, return it.
   Otherwise return NULL_DEF_OPERAND_P.   

References is_gimple_reg().

static def_operand_p single_ssa_def_operand ( )
inlinestatic
If there is a single operand in STMT matching FLAGS, return it.  Otherwise
   return NULL.   

References op_iter_done(), op_iter_init_def(), and op_iter_next_def().

Referenced by statement_sink_location().

static tree single_ssa_tree_operand ( )
inlinestatic
If there is a single operand in STMT matching FLAGS, return it.  Otherwise
   return NULL.   

References op_iter_done(), op_iter_init_tree(), and op_iter_next_tree().

static use_operand_p single_ssa_use_operand ( )
inlinestatic
If there is a single operand in STMT matching FLAGS, return it.  Otherwise
   return NULL.   

References op_iter_done(), op_iter_init_use(), and op_iter_next_use().

static bool unmodifiable_var_p ( )
inlinestatic
Return true if VAR cannot be modified by the program.   
static bool zero_ssa_operands ( )
inlinestatic
Return true if there are zero operands in STMT matching the type
   given in FLAGS.   

References op_iter_done(), and op_iter_init_tree().