GCC Middle and Back End API Reference
|
Go to the source code of this file.
Typedefs | |
typedef gimple | gimple_seq_node |
typedef vec< gimple > | gimple_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 *) |
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 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 gimple gimple_seq_node |
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.
enum fallback |
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.
enum gimple_alloc_kind |
enum gimple_code |
enum gimple_debug_subcode |
enum gimple_rhs_class |
enum gimple_try_flags |
enum gimplify_status |
enum gsi_iterator_update |
enum plf_mask |
enum ssa_mode |
void annotate_all_with_location | ( | gimple_seq | , |
location_t | |||
) |
Referenced by finalize_nesting_tree_1(), gimplify_and_update_call_from_tree(), gimplify_expr(), and walk_gimple_omp_for().
|
inlinestatic |
Returns the sequence of statements in BB.
Referenced by adjust_return_value(), combine_blocks(), expand_gimple_basic_block(), gimple_merge_blocks(), inline_forbidden_p(), input_function(), remove_bb(), and verify_bb_vtables().
|
inlinestatic |
|
inlinestatic |
Return true if BB is in a transaction.
Referenced by execute_sm().
Referenced by gimplify_exit_expr(), lower_omp_master(), lower_omp_single_copy(), shortcut_cond_expr(), and shortcut_cond_r().
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().
In gimple.c.
Helper functions to build GIMPLE statements.
Referenced by build_tm_load(), build_tm_store(), execute_sm(), execute_sm_if_changed_flag_set(), expand_call_tm(), expand_complex_div_wide(), expand_omp_atomic_pipeline(), expand_omp_for_init_counts(), expand_omp_for_init_vars(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_thunk(), expand_transaction(), expand_used_vars(), generate_tm_state(), get_replaced_param_substitute(), gimple_divmod_fixed_value(), gimple_mod_pow2(), gimple_mod_subtract(), gimple_regimplify_operands(), gimplify_omp_atomic(), gimplify_parameters(), gimplify_return_expr(), handle_scalar_deps_crossing_scop_limits(), insert_reciprocals(), ipa_tm_insert_gettmclone_call(), mf_build_check_statement_for(), mf_decl_cache_locals(), predcom_tmp_var(), reassociate_to_the_same_stmt(), split_function(), thunk_adjust(), tm_log_add(), and vect_get_new_vect_var().
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().
tree create_tmp_var_name | ( | const char * | ) |
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 | ) |
|
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 * | ) |
Referenced by gimplify_decl_expr(), and gimplify_init_constructor().
void free_gimple_type_tables | ( | void | ) |
Free the gimple type hashtables used for LTO type merging.
tree get_formal_tmp_var | ( | tree | , |
gimple_seq * | |||
) |
|
inlinestatic |
Determine if expression CODE is one of the valid expressions that can be used on the RHS of GIMPLE assignments.
Referenced by aff_combination_expand(), check_all_va_list_escapes(), defcodefor_name(), determine_invariantness_stmt(), difference_cannot_overflow_p(), estimate_num_insns(), estimate_operator_cost(), evaluate_stmt(), execute_optimize_stdarg(), expand_expr_real_2(), expand_gimple_stmt_1(), expand_simple_operations(), expand_vector_operations_1(), expr_equal_p(), expr_expected_value_1(), extract_ops_from_tree_1(), extract_range_from_assignment(), find_interesting_uses_stmt(), find_use_stmt(), fold_assignment_stmt(), fold_gimple_assign(), follow_ssa_edge_in_rhs(), get_gimple_rhs_num_ops(), gimple_assign_nonnegative_warnv_p(), gimple_assign_nonzero_warnv_p(), gimple_assign_rhs_to_tree(), gimple_could_trap_p_1(), gimple_fold_stmt_to_constant_1(), gimple_regimplify_operands(), initialize_hash_element(), interpret_expr(), interpret_rhs_expr(), is_gimple_reg_rhs(), is_gimple_reg_rhs_or_call(), mf_xform_statements(), process_assignment(), propagate_into_all_uses(), reassociate_bb(), rhs_to_tree(), search_for_addr_array(), split_constant_offset(), stmt_has_constants(), stmt_overflow_infinity(), substitute_and_fold(), va_list_counter_bump(), valid_gimple_rhs_p(), vect_check_gather(), vect_create_epilog_for_reduction(), vect_is_simple_reduction_1(), vect_model_reduction_cost(), vectorizable_live_operation(), vectorizable_reduction(), visit_use(), and vn_get_stmt_kind().
unsigned get_gimple_rhs_num_ops | ( | enum | tree_code | ) |
tree get_initialized_tmp_var | ( | tree | , |
gimple_seq * | , | ||
gimple_seq * | |||
) |
void gimple_add_tmp_var | ( | tree | ) |
Miscellaneous helpers.
Referenced by create_new_iv(), create_tmp_var(), gimplify_compound_literal_expr(), gimplify_decl_expr(), gimplify_expr(), gimplify_target_expr(), lower_rec_input_clauses(), and lower_rec_simd_input_clauses().
|
inlinestatic |
Return the allocation kind for a given stmt CODE.
gimple gimple_alloc_stat | ( | enum | gimple_code, |
unsigned | MEM_STAT_DECL | ||
) |
|
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 | ) |
|
inlinestatic |
Return input operand INDEX of GIMPLE_ASM GS.
Referenced by create_outofssa_var_map(), dump_gimple_asm(), execute_update_addresses_taken(), expand_asm_stmt(), find_func_aliases(), fold_stmt_1(), get_asm_expr_operands(), gimple_regimplify_operands(), ipa_sra_modify_function_body(), propagate_necessity(), scan_function(), sra_modify_function_body(), walk_gimple_asm(), and walk_stmt_load_store_addr_ops().
|
inlinestatic |
Return a pointer to input operand INDEX of GIMPLE_ASM GS.
|
inlinestatic |
Return true if asm GS is an ASM_INPUT.
Referenced by expand_asm_stmt(), and need_fake_edge_p().
|
inlinestatic |
Return label operand INDEX of GIMPLE_ASM GS.
Referenced by cleanup_dead_labels(), dump_gimple_asm(), expand_asm_stmt(), gimple_redirect_edge_and_branch(), make_gimple_asm_edges(), and walk_gimple_asm().
|
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().
|
inlinestatic |
Return the number of input operands for GIMPLE_ASM GS.
Referenced by create_outofssa_var_map(), dump_gimple_asm(), execute_update_addresses_taken(), expand_asm_stmt(), find_func_aliases(), fold_stmt_1(), get_asm_expr_operands(), gimple_regimplify_operands(), ipa_sra_modify_function_body(), output_gimple_stmt(), propagate_necessity(), scan_function(), sra_modify_function_body(), walk_gimple_asm(), and walk_stmt_load_store_addr_ops().
|
inlinestatic |
Return the number of label operands for GIMPLE_ASM GS.
Referenced by cleanup_dead_labels(), dump_gimple_asm(), expand_asm_stmt(), gimple_redirect_edge_and_branch(), is_ctrl_altering_stmt(), make_gimple_asm_edges(), output_gimple_stmt(), and walk_gimple_asm().
|
inlinestatic |
Return the number of output operands for GIMPLE_ASM GS.
Referenced by create_outofssa_var_map(), dump_gimple_asm(), execute_update_addresses_taken(), expand_asm_stmt(), expand_complex_asm(), find_func_aliases(), fold_stmt_1(), get_asm_expr_operands(), gimple_regimplify_operands(), input_gimple_stmt(), ipa_sra_modify_function_body(), op_iter_init(), output_gimple_stmt(), scan_function(), sra_modify_function_body(), walk_gimple_asm(), and walk_stmt_load_store_addr_ops().
|
inlinestatic |
Return output operand INDEX of GIMPLE_ASM GS.
Referenced by create_outofssa_var_map(), dump_gimple_asm(), execute_update_addresses_taken(), expand_asm_stmt(), expand_complex_asm(), find_func_aliases(), fold_stmt_1(), get_asm_expr_operands(), gimple_regimplify_operands(), input_gimple_stmt(), ipa_sra_modify_function_body(), scan_function(), sra_modify_function_body(), walk_gimple_asm(), and walk_stmt_load_store_addr_ops().
|
inlinestatic |
Return a pointer to output operand INDEX of GIMPLE_ASM GS.
|
inlinestatic |
Set CLOBBER_OP to be clobber operand INDEX in GIMPLE_ASM GS.
Referenced by gimple_build_asm_vec().
|
inlinestatic |
If INPUT_P is true, mark asm GS as an ASM_INPUT.
Referenced by gimplify_asm_expr().
|
inlinestatic |
Set IN_OP to be input operand INDEX in GIMPLE_ASM GS.
Referenced by gimple_build_asm_vec().
|
inlinestatic |
Set LABEL_OP to be label operand INDEX in GIMPLE_ASM GS.
Referenced by gimple_build_asm_vec().
|
inlinestatic |
Set OUT_OP to be output operand INDEX in GIMPLE_ASM GS.
Referenced by gimple_build_asm_vec().
|
inlinestatic |
If VOLATLE_P is true, mark asm statement GS as volatile.
Referenced by gimplify_asm_expr().
|
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().
|
inlinestatic |
Return true if GS is an asm statement marked volatile.
Referenced by check_stmt(), dump_gimple_asm(), expand_asm_stmt(), get_references_in_stmt(), gimple_could_trap_p_1(), gimple_has_side_effects(), need_fake_edge_p(), record_temporary_equivalences_from_stmts_at_dest(), and stmt_could_throw_p().
|
inlinestatic |
Return true if S is a type-cast assignment.
Referenced by check_all_va_list_escapes(), final_range_test_p(), process_assignment(), register_edge_assert_for_2(), strlen_optimize_stmt(), update_range_test(), va_list_counter_bump(), vect_get_smallest_scalar_type(), vect_recog_rotate_pattern(), and vect_recog_vector_vector_shift_pattern().
bool gimple_assign_copy_p | ( | gimple | ) |
|
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().
|
inlinestatic |
Return a pointer to the LHS of assignment statement GS.
Referenced by find_interesting_uses_stmt(), get_references_in_stmt(), mf_xform_statements(), sm_set_flag_if_changed::operator()(), replace_refs(), simple_mem_ref_in_stmt(), sra_ipa_modify_assign(), and sra_modify_assign().
|
inlinestatic |
Return true if GS is an assignment that loads from its rhs1.
Referenced by estimate_function_body_sizes(), estimate_num_insns(), get_mem_ref_of_assignment(), instrument_gimple(), ipcp_transform_function(), maybe_instrument_assignment(), and will_be_nonconstant_predicate().
|
inlinestatic |
Returns true if GS is a nontemporal move.
Referenced by dump_gimple_assign(), expand_gimple_stmt_1(), and output_gimple_stmt().
|
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().
|
inlinestatic |
Return a pointer to the first operand on the RHS of assignment statement GS.
Referenced by destroy_loop_vec_info(), execute_update_addresses_taken(), extract_cond_operands(), find_interesting_uses_stmt(), get_references_in_stmt(), gimple_regimplify_operands(), linearize_expr_tree(), mf_xform_statements(), replace_refs(), repropagate_negates(), simple_mem_ref_in_stmt(), sra_ipa_modify_assign(), sra_modify_assign(), vect_is_simple_reduction_1(), and vect_is_slp_reduction().
|
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().
|
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().
|
inlinestatic |
Return the third operand on the RHS of assignment statement GS. If GS does not have two operands, NULL is returned instead.
Referenced by combine_cond_exprs(), cond_expr_object_size(), dump_gimple_assign(), dump_ternary_rhs(), expand_gimple_stmt_1(), expand_vector_condition(), extract_range_from_cond_expr(), find_func_aliases(), fold_assignment_stmt(), fold_gimple_assign(), forward_propagate_into_cond(), get_maxval_strlen(), gimple_assign_rhs_to_tree(), gimple_fold_stmt_to_constant_1(), initialize_hash_element(), lower_vec_perm(), rhs_to_tree(), simplify_bitfield_ref(), simplify_permutation(), stmt_has_constants(), thread_private_new_memory(), vect_get_constant_vectors(), vect_is_simple_reduction_1(), vect_model_reduction_cost(), vect_recog_mixed_size_cond_pattern(), vectorizable_condition(), vectorizable_operation(), vectorizable_reduction(), and verify_gimple_assign_ternary().
|
inlinestatic |
Return a pointer to the third operand on the RHS of assignment statement GS.
|
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().
|
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 | ) |
|
inlinestatic |
Set LHS to be the LHS operand of assignment statement GS.
Referenced by create_new_def_for(), execute_update_addresses_taken(), expand_complex_div_wide(), expand_complex_move(), forward_propagate_addr_expr_1(), gen_conditions_for_pow_int_base(), gen_one_condition(), get_initial_def_for_induction(), gimple_assign_set_rhs_with_ops_1(), gimple_build_assign_with_ops(), gimple_set_lhs(), ipa_tm_insert_gettmclone_call(), lower_emutls_1(), read_vector_array(), replace_removed_params_ssa_names(), rewrite_cross_bb_scalar_dependence(), sra_modify_assign(), tm_log_emit_saves(), vect_create_data_ref_ptr(), vect_create_epilog_for_reduction(), vect_create_vectorized_demotion_stmts(), vect_gen_widened_results_half(), vect_init_vector(), vect_setup_realignment(), vectorizable_assignment(), vectorizable_call(), vectorizable_condition(), vectorizable_conversion(), vectorizable_load(), vectorizable_operation(), vectorizable_reduction(), and vectorizable_shift().
|
inlinestatic |
Sets nontemporal move flag of GS to NONTEMPORAL.
Referenced by mark_nontemporal_store().
|
inlinestatic |
Set RHS to be the first operand on the RHS of assignment statement GS.
Referenced by associate_plusminus(), combine_conversions(), convert_mult_to_widen(), copy_bb(), expand_complex_move(), expand_omp_taskreg(), finalize_nesting_tree_1(), fold_stmt_1(), forward_propagate_addr_expr_1(), forward_propagate_into_cond(), gimple_assign_set_rhs_with_ops_1(), gimple_build_assign_with_ops(), insert_init_stmt(), linearize_expr(), negate_value(), predicate_mem_writes(), propagate_with_phi(), rewrite_expr_tree(), rewrite_expr_tree_parallel(), simplify_abs_using_ranges(), simplify_bitfield_ref(), simplify_bitwise_binary(), simplify_bitwise_binary_boolean(), simplify_conversion_from_bitmask(), simplify_conversion_using_ranges(), simplify_div_or_mod_using_ranges(), simplify_float_conversion_using_ranges(), simplify_permutation(), and split_function().
|
inlinestatic |
Set RHS to be the second operand on the RHS of assignment statement GS.
Referenced by associate_plusminus(), combine_cond_exprs(), convert_mult_to_widen(), expand_vector_operations_1(), fold_stmt_1(), forward_propagate_into_cond(), gimple_assign_set_rhs_with_ops_1(), gimple_build_assign_with_ops(), linearize_expr(), negate_value(), rewrite_expr_tree(), rewrite_expr_tree_parallel(), simplify_bitwise_binary(), simplify_bitwise_binary_boolean(), simplify_div_or_mod_using_ranges(), and vect_is_simple_reduction_1().
|
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().
|
inlinestatic |
Set CODE to be the code for the expression computed on the RHS of assignment S.
Referenced by associate_plusminus(), combine_conversions(), convert_mult_to_widen(), execute_cse_reciprocals(), forward_propagate_addr_expr_1(), insert_init_stmt(), replace_reciprocal(), simplify_abs_using_ranges(), simplify_bitwise_binary(), simplify_bitwise_binary_boolean(), simplify_div_or_mod_using_ranges(), simplify_permutation(), and vect_is_simple_reduction_1().
void gimple_assign_set_rhs_from_tree | ( | gimple_stmt_iterator * | , |
tree | |||
) |
|
inlinestatic |
A wrapper around gimple_assign_set_rhs_with_ops_1, for callers which expect to see only a maximum of two operands.
Referenced by associate_plusminus(), associate_pointerplus(), break_up_subtract(), forward_propagate_addr_expr_1(), handle_pointer_plus(), reassociate_to_the_same_stmt(), replace_mult_candidate(), replace_one_candidate(), replace_rhs_if_not_dup(), repropagate_negates(), simplify_bit_ops_using_ranges(), simplify_bitwise_binary(), simplify_truth_ops_using_ranges(), substitute_and_fold(), transform_stmt_to_multiply(), update_complex_assignment(), and update_range_test().
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().
|
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 | ) |
|
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().
|
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().
|
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().
|
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().
|
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().
|
inlinestatic |
Return the GIMPLE sequence contained in the GIMPLE_BIND statement GS.
Referenced by copy_gimple_bind(), do_warn_unused_result(), dump_gimple_bind(), empty_stmt_p(), estimate_num_insns(), finalize_nesting_tree_1(), gimple_copy(), gimple_stmt_may_fallthru(), gimplify_bind_expr(), gimplify_body(), lower_gimple_bind(), lower_omp_critical(), lower_omp_taskreg(), mx_xfn_xform_decls(), and verify_gimple_in_seq_2().
|
inlinestatic |
Referenced by lower_gimple_bind(), lower_omp_1(), and walk_gimple_stmt().
Return the stack of bindings created during gimplification.
References gimplify_ctx::bind_expr_stack.
|
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().
|
inlinestatic |
Set SEQ to be the GIMPLE sequence contained in the GIMPLE_BIND statement GS.
Referenced by finalize_nesting_tree_1(), gimple_build_bind(), gimple_copy(), gimplify_bind_expr(), gimplify_body(), lower_omp_critical(), lower_omp_for(), lower_omp_sections(), lower_omp_single(), and mx_xfn_xform_decls().
|
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().
|
inlinestatic |
Return the variables declared in the GIMPLE_BIND statement GS.
Referenced by copy_gimple_bind(), declare_vars(), dump_gimple_bind(), gimple_copy(), lower_gimple_bind(), lower_omp_critical(), lower_omp_for(), lower_omp_ordered(), lower_omp_sections(), lower_omp_taskreg(), mx_xfn_xform_decls(), replace_locals_stmt(), and scan_omp_1_stmt().
|
inlinestatic |
Return the lexical scope block holding statement G.
Referenced by clear_unused_block_pointer(), copy_bb(), copy_debug_stmt(), expand_call_inline(), expand_omp_taskreg(), finish_update_gimple_call(), fold_builtin_alloca_with_align(), gimple_assign_rhs_to_tree(), ipa_modify_call_arguments(), lower_builtin_setjmp(), lower_eh_constructs_2(), lower_gimple_return(), lower_try_finally_dup_block(), lower_try_finally_onedest(), make_blocks(), move_stmt_r(), output_gimple_stmt(), remap_gimple_stmt(), remove_exit_barrier(), remove_unused_locals(), and set_location_for_edge().
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_bind | ( | tree | , |
gimple_seq | , | ||
tree | |||
) |
gimple gimple_build_call_internal | ( | enum | internal_fn, |
unsigned | , | ||
... | |||
) |
gimple gimple_build_catch | ( | tree | , |
gimple_seq | |||
) |
gimple gimple_build_cond | ( | enum tree_code | pred_code, |
tree | lhs, | ||
tree | rhs, | ||
tree | t_label, | ||
tree | f_label | ||
) |
Build a GIMPLE_COND statement. PRED is the condition used to compare LHS and the RHS. T_LABEL is the label to jump to if the condition is true. F_LABEL is the label to jump to otherwise.
References gimple_cond_set_false_label(), gimple_cond_set_lhs(), gimple_cond_set_rhs(), gimple_cond_set_true_label(), and tcc_comparison.
Referenced by build_check_stmt(), create_empty_loop_on_edge(), dom_thread_across_edge(), execute_sm_if_changed(), expand_omp_for_init_counts(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_thunk(), expand_transaction(), gen_conditions_for_pow_int_base(), gen_inbound_check(), gimple_build_cond_empty(), gimple_build_cond_from_tree(), gimple_divmod_fixed_value(), gimple_ic(), gimple_mod_pow2(), gimple_mod_subtract(), gimple_stringop_fixed_value(), gimplify_cond_expr(), gimplify_init_ctor_eval_range(), identify_jump_threads(), instrument_mem_region_access(), lower_eh_dispatch(), lower_lastprivate_clauses(), lower_omp_single_simple(), lower_rec_input_clauses(), mf_build_check_statement_for(), slpeel_make_loop_iterate_ntimes(), and tree_transform_and_unroll_loop().
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_nop | ( | void | ) |
Build a GIMPLE_NOP statement.
Referenced by convert_local_reference_stmt(), diagnose_sb_0(), eliminate_local_variables_stmt(), eliminate_tail_call(), expand_call_inline(), expand_complex_div_wide(), expand_omp_taskreg(), get_or_create_ssa_default_def(), get_representative_for(), gimple_flow_call_edges_add(), gimplify_and_update_call_from_tree(), gimplify_body(), input_ssa_names(), lower_omp_1(), remap_gimple_stmt(), remap_ssa_name(), rewrite_stmt(), scan_omp_1_stmt(), scan_omp_parallel(), scan_omp_task(), tree_function_versioning(), update_call_from_tree(), and visit_reference_op_load().
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_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 | ) |
|
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().
|
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().
|
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 | |||
) |
|
inlinestatic |
Return a pointer to the argument at position INDEX for call statement GS.
Referenced by convert_tramp_reference_stmt(), copy_bb(), execute_update_addresses_taken(), fold_call_stmt(), get_references_in_stmt(), gimple_fold_builtin_snprintf_chk(), gimple_fold_builtin_sprintf_chk(), ipa_sra_modify_function_body(), sra_modify_function_body(), and walk_gimple_op().
bool gimple_call_builtin_p | ( | gimple | , |
enum | built_in_class | ||
) |
|
inlinestatic |
Return the static chain for call statement GS.
Referenced by convert_gimple_call(), copy_reference_ops_from_call(), dump_gimple_call(), expand_call_stmt(), find_func_aliases_for_call(), gimple_call_copy_skip_args(), handle_const_call(), handle_pure_call(), handle_rhs_call(), initialize_inlined_parameters(), ipa_modify_call_arguments(), ref_maybe_used_by_call_p_1(), same_handler_p(), vect_build_slp_tree_1(), verify_gimple_call(), and walk_stmt_load_store_addr_ops().
|
inlinestatic |
Return a pointer to the static chain for call statement GS.
Referenced by walk_gimple_op().
|
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().
|
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().
int gimple_call_flags | ( | const_gimple | ) |
|
inlinestatic |
Return the tree node representing the function called by call statement GS.
Referenced by cgraph_create_indirect_edge(), copy_bb(), copy_reference_ops_from_call(), diagnose_tm_1(), dump_gimple_call(), eliminate_bb(), expand_call_stmt(), expand_call_tm(), get_fi_for_callee(), gimple_call_copy_skip_args(), gimple_call_same_target_p(), gimple_fold_call(), gimple_fold_stmt_to_constant_1(), gimple_ic(), gimple_ic_transform(), gimple_indirect_call_to_profile(), ipa_analyze_call_uses(), ipa_intraprocedural_devirtualization(), ipa_tm_insert_gettmclone_call(), ipa_tm_scan_irr_block(), is_tm_pure_call(), iterative_hash_hashable_expr(), print_expr_hash_elt(), same_succ_hash(), tm_memopt_transform_stmt(), var_is_used_for_virtual_call_p(), vect_build_slp_tree_1(), verify_bb_vtables(), and verify_gimple_call().
|
inlinestatic |
Return a pointer to the tree node representing the function called by call statement GS.
Referenced by walk_gimple_op().
|
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().
|
inlinestatic |
Return the function type of the function called by GS.
Referenced by ccp_fold_stmt(), cgraph_redirect_edge_call_stmt_to_callee(), do_warn_unused_result(), expand_call_stmt(), expand_expr_real_1(), find_decls_types_in_node(), gimple_call_flags(), gimple_call_fnspec(), gimple_check_call_args(), ipa_tm_insert_gettmclone_call(), output_gimple_stmt(), vect_build_slp_tree_1(), and verify_gimple_call().
|
inlinestatic |
Return true if GIMPLE_CALL S is a jump from a thunk.
Referenced by expand_call_stmt().
|
inlinestatic |
Return the target of internal call GS.
Referenced by adjust_simduid_builtins(), dump_gimple_call(), expand_internal_call(), get_references_in_stmt(), gimple_call_copy_skip_args(), gimple_call_flags(), gimple_call_same_target_p(), iterative_hash_hashable_expr(), likely_value(), note_simd_array_uses(), output_gimple_stmt(), print_expr_hash_elt(), same_succ_hash(), vect_analyze_data_refs(), vectorizable_call(), and vectorizable_live_operation().
|
inlinestatic |
Return true if call GS calls an internal-only function, as enumerated by internal_fn.
Referenced by adjust_simduid_builtins(), ccp_fold_stmt(), compute_avail(), do_warn_unused_result(), dump_gimple_call(), expand_call_stmt(), expand_expr_real_1(), get_references_in_stmt(), gimple_call_copy_skip_args(), gimple_call_flags(), gimple_call_same_target_p(), gimple_check_call_args(), gimple_fold_stmt_to_constant_1(), gimple_ic_transform(), gimple_indirect_call_to_profile(), input_gimple_stmt(), iterative_hash_hashable_expr(), likely_value(), note_simd_array_uses(), output_gimple_stmt(), print_expr_hash_elt(), same_succ_hash(), vect_analyze_data_refs(), vect_build_slp_tree_1(), vectorizable_call(), vectorizable_live_operation(), verify_gimple_call(), and visit_use().
|
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().
|
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().
|
inlinestatic |
Return true if S is a noreturn call.
Referenced by cleanup_control_flow_bb(), eliminate_bb(), gimplify_modify_expr(), maybe_instrument_call(), split_bbs_on_noreturn_calls(), update_stmt_operands(), vect_build_slp_tree_1(), and verify_gimple_call().
|
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().
|
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 | ) |
|
inlinestatic |
Return true if S is marked for return slot optimization.
Referenced by dump_gimple_call(), execute_return_slot_opt(), expand_call_inline(), expand_call_stmt(), expand_call_tm(), handle_rhs_call(), and walk_stmt_load_store_addr_ops().
|
inlinestatic |
Return the type returned by call statement GS.
Referenced by copy_reference_ops_from_call(), expand_call_stmt(), gimple_fold_stmt_to_constant_1(), init_tmp_var_with_call(), and vect_setup_realignment().
bool gimple_call_same_target_p | ( | const_gimple | , |
const_gimple | |||
) |
|
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().
|
inlinestatic |
Set ARG to be the argument at position INDEX for call statement GS.
Referenced by adjust_last_stmt(), ccp_fold_stmt(), decrement_power(), get_string_length(), gimple_build_call(), gimple_build_call_from_tree(), gimple_build_call_internal(), gimple_build_call_internal_vec(), gimple_build_call_valist(), gimple_build_call_vec(), gimple_fold_call(), gimple_stringop_fixed_value(), lower_eh_constructs_2(), move_stmt_r(), remap_gimple_stmt(), and simplify_builtin_call().
|
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().
|
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().
|
inlinestatic |
Set FNDECL to be the function called by call statement GS.
Referenced by cgraph_redirect_edge_call_stmt_to_callee(), convert_callers(), execute_cse_reciprocals(), expand_call_tm(), get_string_length(), gimple_fold_call(), gimple_ic(), instrument_builtin_call(), ipa_tm_transform_calls_redirect(), optimize_omp_library_calls(), simplify_builtin_call(), and update_call_expr().
|
inlinestatic |
Set the type of the function called by GS to FNTYPE.
Referenced by cgraph_redirect_edge_call_stmt_to_callee(), gimple_build_call_1(), gimplify_call_expr(), gimplify_modify_expr(), and input_gimple_stmt().
|
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().
|
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().
|
inlinestatic |
Set LHS to be the LHS operand of call statement GS.
Referenced by attempt_builtin_powi(), build_stack_save_restore(), build_tm_load(), copy_bb(), eliminate_unnecessary_stmts(), execute_cse_sincos_1(), execute_optimize_bswap(), expand_call_tm(), expand_complex_libcall(), expand_omp_sections(), expand_thunk(), expand_transaction(), finish_update_gimple_call(), fixup_noreturn_call(), gen_emutls_addr(), get_string_length(), gimple_call_copy_skip_args(), gimple_ic(), gimple_set_lhs(), gimple_stringop_fixed_value(), gimplify_function_tree(), gimplify_modify_expr(), gimplify_modify_expr_to_memcpy(), gimplify_modify_expr_to_memset(), init_tmp_var_with_call(), instrument_builtin_call(), instrument_func_entry(), ipa_modify_call_arguments(), ipa_tm_insert_gettmclone_call(), lower_eh_dispatch(), lower_function_body(), lower_lastprivate_clauses(), lower_omp_single_simple(), lower_rec_input_clauses(), lower_resx(), lower_transaction(), replace_removed_params_ssa_names(), simplify_builtin_call(), split_function(), vect_gen_widened_results_half(), vect_recog_pow_pattern(), vect_setup_realignment(), vectorizable_call(), vectorizable_conversion(), vectorizable_load(), vectorizable_store(), and verify_bb_vtables().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
In tree-ssa-coalesce.c
Referenced by coalesce_partitions(), create_outofssa_var_map(), and uncprop_into_successor_phis().
|
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().
|
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().
|
inlinestatic |
Set HANDLER to be the body of GIMPLE_CATCH GS.
Referenced by gimple_build_catch(), and gimple_copy().
|
inlinestatic |
Set T to be the set of types handled by GIMPLE_CATCH GS.
Referenced by gimple_build_catch(), and gimple_copy().
|
inlinestatic |
Return the types handled by GIMPLE_CATCH statement GS.
Referenced by dump_gimple_catch(), gimple_copy(), lower_catch(), and remap_gimple_stmt().
|
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 | ||
) |
|
inlinestatic |
Return true if S is a clobber statement.
Referenced by add_scope_conflicts_1(), build_accesses_from_assign(), check_stmt(), clear_unused_block_pointer(), cond_if_else_store_replacement_1(), convert_local_reference_stmt(), decide_copy_try_finally(), dse_optimize_stmt(), eliminate_local_variables_stmt(), estimate_num_insns(), execute_fold_all_builtins(), expand_block_tm(), find_return_bb(), find_retval(), find_tail_calls(), forward_propagate_addr_expr_1(), get_mem_ref_of_assignment(), instrument_gimple(), optimize_clobbers(), remap_gimple_stmt(), remove_unused_locals(), rewrite_stmt(), sink_clobbers(), split_function(), sra_ipa_reset_debug_stmts(), sra_modify_constructor_assign(), vect_analyze_data_refs(), vect_analyze_loop_operations(), vect_determine_vectorization_factor(), vect_transform_loop(), verify_gimple_assign_single(), visit_bb(), and vn_reference_lookup_3().
|
inlinestatic |
Return the code for GIMPLE statement G.
|
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().
|
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().
|
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 | ||
) |
Extract operands for a GIMPLE_COND statement out of COND_EXPR tree COND.
References build_zero_cst(), extract_ops_from_tree(), is_gimple_min_invariant(), and tcc_comparison.
Referenced by gimple_build_cond_empty(), gimple_build_cond_from_tree(), gimple_cond_set_condition_from_tree(), and gimplify_cond_expr().
|
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().
|
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().
|
inlinestatic |
Set the conditional COND_STMT to be of the form 'if (1 == 0)'.
Referenced by ccp_fold_stmt(), eliminate_bb(), fold_cond_expr_cond(), fold_predicate_in(), optimize_unreachable(), remove_exits_and_undefined_stmts(), remove_redundant_iv_tests(), try_unroll_loop_completely(), and update_range_test().
|
inlinestatic |
Set the conditional COND_STMT to be of the form 'if (1 == 1)'.
Referenced by ccp_fold_stmt(), eliminate_bb(), fold_cond_expr_cond(), fold_predicate_in(), optimize_unreachable(), remove_exits_and_undefined_stmts(), remove_redundant_iv_tests(), try_unroll_loop_completely(), and update_range_test().
|
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().
|
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().
|
inlinestatic |
Set CODE to be the predicate code for the conditional statement GS.
Referenced by canonicalize_comparison(), canonicalize_loop_ivs(), create_canonical_iv(), expand_complex_comparison(), forward_propagate_into_gimple_cond(), propagate_tree_value_into_stmt(), rewrite_use_compare(), simplify_cond_using_ranges(), simplify_control_stmt_condition(), tree_transform_and_unroll_loop(), and update_range_test().
|
inlinestatic |
Set the code, LHS and RHS of GIMPLE_COND STMT from CODE, LHS and RHS.
Referenced by gimple_cond_set_condition_from_tree().
|
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().
|
inlinestatic |
Set LHS to be the LHS operand of the predicate computed by conditional statement GS.
Referenced by canonicalize_comparison(), canonicalize_loop_ivs(), create_canonical_iv(), create_empty_loop_on_edge(), create_parallel_loop(), expand_complex_comparison(), gimple_build_cond(), propagate_tree_value_into_stmt(), rewrite_use_compare(), simplify_cond_using_ranges(), simplify_control_stmt_condition(), transform_to_exit_first_loop(), tree_transform_and_unroll_loop(), and update_range_test().
|
inlinestatic |
Set RHS to be the RHS operand of the predicate computed by conditional statement GS.
Referenced by canonicalize_comparison(), canonicalize_loop_ivs(), create_canonical_iv(), expand_complex_comparison(), forward_propagate_into_gimple_cond(), gimple_build_cond(), propagate_tree_value_into_stmt(), rewrite_bittest(), rewrite_use_compare(), simplify_cond_using_ranges(), simplify_control_stmt_condition(), tree_transform_and_unroll_loop(), and update_range_test().
|
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().
|
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().
|
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().
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.
|
inlinestatic |
Return the value bound to the variable in a GIMPLE_DEBUG bind statement.
Referenced by dump_gimple_debug(), expand_gimple_basic_block(), fold_stmt_1(), insert_debug_temp_for_var_def(), maybe_move_debug_stmts_to_successors(), remap_gimple_stmt(), and remove_unused_ivs().
|
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().
|
inlinestatic |
Return the variable bound in a GIMPLE_DEBUG bind statement.
Referenced by copy_debug_stmt(), dump_gimple_debug(), expand_gimple_basic_block(), gimple_duplicate_bb(), mark_stmt_if_obviously_necessary(), maybe_move_debug_stmts_to_successors(), propagate_threaded_block_debug_into(), remap_gimple_stmt(), and separate_decls_in_region_debug().
|
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().
|
inlinestatic |
Return true if S is a GIMPLE_DEBUG BIND statement.
Referenced by adjust_debug_stmts_now(), cleanup_empty_eh_merge_phis(), copy_debug_stmt(), eliminate_local_variables(), eliminate_local_variables_stmt(), execute_update_addresses_taken(), expand_gimple_basic_block(), fold_stmt_1(), get_expr_operands(), gimple_duplicate_bb(), insert_debug_temp_for_var_def(), mark_stmt_if_obviously_necessary(), maybe_move_debug_stmts_to_successors(), parse_ssa_operands(), propagate_rhs_into_lhs(), propagate_threaded_block_debug_into(), remap_gimple_stmt(), remove_conditions_and_labels(), remove_unused_ivs(), rename_uses(), reset_debug_uses(), separate_decls_in_region_debug(), try_create_reduction_list(), update_debug_stmt(), vect_loop_kill_debug_uses(), and verify_ssa().
|
inlinestatic |
Remove the value bound to the variable in a GIMPLE_DEBUG bind statement.
Referenced by adjust_debug_stmts_now(), copy_debug_stmt(), eliminate_local_variables_stmt(), execute_update_addresses_taken(), gimple_merge_blocks(), insert_debug_temp_for_var_def(), insert_stmt_after(), maybe_move_debug_stmts_to_successors(), remove_conditions_and_labels(), remove_phi(), rename_uses(), reset_debug_uses(), rewrite_debug_stmt_uses(), rewrite_update_stmt(), separate_decls_in_region_debug(), sese_reset_debug_liveouts_bb(), sra_ipa_reset_debug_stmts(), update_debug_stmt(), and vect_loop_kill_debug_uses().
|
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().
|
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().
|
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().
|
inlinestatic |
Return a pointer to the value bound to the variable in a GIMPLE_DEBUG source bind statement.
Referenced by copy_debug_stmt().
|
inlinestatic |
Return the variable bound 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(), propagate_threaded_block_debug_into(), remap_gimple_stmt(), rewrite_debug_stmt_uses(), and separate_decls_in_region_debug().
|
inlinestatic |
Return true if S is a GIMPLE_DEBUG SOURCE BIND statement.
Referenced by copy_debug_stmt(), expand_gimple_basic_block(), maybe_move_debug_stmts_to_successors(), propagate_threaded_block_debug_into(), remap_gimple_stmt(), rename_uses(), rewrite_debug_stmt_uses(), and separate_decls_in_region_debug().
|
inlinestatic |
Set the value bound to the variable in a GIMPLE_DEBUG source bind statement.
Referenced by gimple_build_debug_source_bind_stat().
|
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 | |||
) |
|
inlinestatic |
Return the region number for GIMPLE_EH_DISPATCH GS.
Referenced by dump_gimple_eh_dispatch(), lower_eh_dispatch(), make_eh_dispatch_edges(), mark_reachable_handlers(), move_stmt_r(), output_gimple_stmt(), redirect_eh_dispatch_edge(), remap_gimple_stmt(), and verify_eh_dispatch_edge().
|
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().
|
inlinestatic |
|
inlinestatic |
Referenced by lower_stmt(), replace_goto_queue_1(), and walk_gimple_stmt().
|
inlinestatic |
Referenced by collect_finally_tree(), decide_copy_try_finally(), dump_gimple_eh_else(), gimple_copy(), gimple_stmt_may_fallthru(), honor_protect_cleanup_actions(), lower_try_finally_copy(), lower_try_finally_nofallthru(), lower_try_finally_onedest(), lower_try_finally_switch(), refactor_eh_r(), and verify_gimple_in_seq_2().
|
inlinestatic |
GIMPLE_EH_ELSE accessors.
Referenced by lower_stmt(), replace_goto_queue_1(), and walk_gimple_stmt().
|
inlinestatic |
Referenced by gimple_build_eh_else(), and gimple_copy().
|
inlinestatic |
Referenced by gimple_build_eh_else(), and gimple_copy().
|
inlinestatic |
Return the sequence of statement to execute when GIMPLE_EH_FILTER statement fails.
Referenced by collect_finally_tree(), do_warn_unused_result(), dump_gimple_eh_filter(), estimate_num_insns(), gimple_copy(), gimple_try_catch_may_fallthru(), lower_eh_filter(), refactor_eh_r(), remap_gimple_stmt(), and verify_gimple_in_seq_2().
|
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().
|
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().
|
inlinestatic |
Set TYPES to be the set of types handled by GIMPLE_EH_FILTER GS.
Referenced by gimple_build_eh_filter(), and gimple_copy().
|
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().
|
inlinestatic |
Return a pointer to the types handled by GIMPLE_EH_FILTER statement GS.
Referenced by walk_gimple_op().
|
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().
|
inlinestatic |
Set the function decl to be called by GS to DECL.
Referenced by gimple_build_eh_must_not_throw(), and input_gimple_stmt().
|
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().
|
inlinestatic |
Return the type of the main expression computed by STMT. Return void_type_node if the statement computes nothing.
Referenced by compute_avail(), eliminate_bb(), evaluate_stmt(), execute_optimize_bswap(), expand_vector_condition(), expand_vector_operations_1(), expand_vector_piecewise(), extract_range_basic(), extract_range_from_assignment(), find_bswap(), find_bswap_1(), find_func_aliases(), fold_gimple_assign(), fold_predicate_in(), follow_ssa_edge_in_rhs(), get_val_for(), gimple_assign_nonnegative_warnv_p(), gimple_assign_nonzero_warnv_p(), gimple_call_nonnegative_warnv_p(), gimple_could_trap_p_1(), gimple_fold_stmt_to_constant_1(), init_vn_nary_op_from_stmt(), insert_init_stmt(), is_replaceable_p(), register_edge_assert_for_2(), simplify_binary_expression(), simplify_unary_expression(), stmt_could_throw_1_p(), vect_analyze_stmt(), vect_determine_vectorization_factor(), vect_get_smallest_scalar_type(), vect_operation_fits_smaller_type(), vect_recog_dot_prod_pattern(), vect_recog_mixed_size_cond_pattern(), vect_recog_over_widening_pattern(), vect_recog_widen_mult_pattern(), vect_recog_widen_shift_pattern(), vect_recog_widen_sum_pattern(), verify_symbolic_number_p(), visit_reference_op_call(), and vn_get_expr_for().
|
inlinestatic |
Return the file name of the location of STMT.
Referenced by branch_prob(), and inline_small_functions().
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 | |||
) |
|
inlinestatic |
Return the destination of the unconditional jump GS.
Referenced by cleanup_control_flow_bb(), cleanup_dead_labels(), computed_goto_p(), convert_nl_goto_reference(), convert_nonlocal_reference_stmt(), diagnose_sb_2(), dump_gimple_goto(), expand_gimple_stmt_1(), factor_computed_gotos(), initialize_hash_element(), inline_forbidden_p_stmt(), make_goto_expr_edges(), maybe_record_in_goto_queue(), optimize_stmt(), propagate_rhs_into_lhs(), replace_goto_queue_cond_clause(), simple_goto_p(), simplify_control_stmt_condition(), verify_gimple_goto(), and walk_stmt_load_store_addr_ops().
|
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 | ) |
|
inlinestatic |
Returns true if this is a GIMPLE_ASSIGN or a GIMPLE_CALL with a non-NULL lhs.
Referenced by dse_optimize_stmt(), eliminate_bb(), execute_cse_reciprocals(), find_func_clobbers(), fold_stmt_1(), gsi_replace(), likely_value(), lower_eh_constructs_2(), make_blocks(), mark_aliased_reaching_defs_necessary_1(), pp_gimple_stmt_1(), ptr_parm_has_direct_uses(), statement_sink_location(), stmt_kills_ref_p_1(), and tree_nrv().
|
inlinestatic |
Return true if G contains location information.
Referenced by annotate_one_with_location(), branch_prob(), check_all_array_refs(), expand_gimple_stmt(), expand_gimple_stmt_1(), expand_omp(), fold_call_stmt(), gimple_assign_rhs_to_tree(), gimple_call_copy_skip_args(), gimplify_and_update_call_from_tree(), ipa_modify_call_arguments(), lower_gimple_return(), lower_omp_1(), pp_gimple_stmt_1(), scan_omp_1_stmt(), set_location_for_edge(), simplify_abs_using_ranges(), simplify_cond_using_ranges(), simplify_div_or_mod_using_ranges(), vrp_evaluate_conditional(), walk_gimple_stmt(), and warn_uninit().
|
inlinestatic |
Return true if GIMPLE statement G has memory operands.
Referenced by cprop_operand(), free_stmt_operands(), gimple_copy(), gimplify_and_update_call_from_tree(), pp_gimple_stmt_1(), remap_gimple_stmt(), and vect_finish_stmt_generation().
|
inlinestatic |
Return true if GIMPLE statement G has register or memory operands.
Referenced by gimple_copy().
bool gimple_has_side_effects | ( | const_gimple | ) |
|
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().
|
inlinestatic |
Return true if statement STMT contains volatile operands.
Referenced by build_accesses_from_assign(), can_propagate_from(), check_stmt(), classify_partition(), cond_if_else_store_replacement_1(), cond_store_replacement(), cprop_operand(), dse_optimize_stmt(), dump_gimple_assign(), dump_gimple_call(), eliminate_bb(), find_interesting_uses_address(), find_replaceable_in_bb(), find_tail_calls(), gimple_has_side_effects(), hoist_adjacent_loads(), if_convertible_gimple_assign_stmt_p(), is_replaceable_p(), likely_value(), mark_stmt_if_obviously_necessary(), movement_possibility(), nt_init_block(), output_gimple_stmt(), record_equivalences_from_stmt(), sra_modify_assign(), statement_sink_location(), stmt_may_generate_copy(), stmt_simple_for_scop_p(), surely_varying_stmt_p(), vect_analyze_stmt(), verify_ssa_operands(), and visit_use().
|
inlinestatic |
Return true if STMT is in a transaction.
Referenced by movement_possibility().
|
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().
|
inlinestatic |
Return the LABEL_DECL node used by GIMPLE_LABEL statement GS.
Referenced by check_stmt(), cleanup_dead_labels(), cleanup_empty_eh_unsplit(), collect_finally_tree(), convert_nl_goto_receiver(), diagnose_sb_1(), dump_gimple_label(), expand_gimple_stmt_1(), gimple_block_label(), gimple_can_merge_blocks_p(), gimple_merge_blocks(), gimple_set_bb(), gimple_verify_flow_info(), input_gimple_stmt(), label_rtx_for_bb(), make_abnormal_goto_edges(), mark_local_labels_stmt(), move_block_to_fn(), optimize_unreachable(), pp_cfg_jump(), remove_bb(), remove_forwarder_block(), remove_forwarder_block_with_phi(), stmt_starts_bb_p(), tree_estimate_probability_bb(), tree_forwarder_block_p(), unsplit_eh(), verify_gimple_label(), and verify_non_ssa_vars().
|
inlinestatic |
Set LABEL to be the LABEL_DECL node used by GIMPLE_LABEL statement GS.
Referenced by gimple_build_label().
|
inlinestatic |
Return the line number of the location of STMT.
Referenced by branch_prob(), and inline_small_functions().
|
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().
|
inlinestatic |
Return pointer to location information for statement G.
Referenced by check_all_array_refs().
|
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().
|
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().
|
inlinestatic |
Returns TRUE if statement G is a GIMPLE_NOP.
Referenced by build_and_add_sum(), compare_ops(), compute_avail(), copy_bb(), DFS(), follow_ssa_edge(), force_move_till_op(), get_continuation_for_phi_1(), get_default_value(), mark_all_reaching_defs_necessary_1(), mark_operand_necessary(), maybe_skip_until(), process_use(), prune_clobbered_mems(), redirection_block_p(), ssa_undefined_value_p(), substitute_and_fold(), vect_is_simple_reduction_1(), vect_is_simple_use(), vect_slp_analyze_bb(), verify_live_on_entry(), verify_ssa(), verify_ssa_name(), verify_use(), walk_aliased_vdefs_1(), and walk_non_aliased_vuses().
|
inlinestatic |
Return the number of operands for statement GS.
Referenced by check_call(), clear_unused_block_pointer(), detect_commutative_reduction_assign(), dump_gimple_assign(), eliminated_by_inlining_prob(), expand_complex_move(), expand_complex_operations_1(), expand_omp_taskreg(), find_decls_types_in_node(), find_func_aliases(), fold_stmt_1(), follow_ssa_with_commutative_ops(), get_rank(), gimple_assign_set_rhs_with_ops_1(), gimple_copy(), gimple_could_trap_p_1(), gimple_regimplify_operands(), init_dont_simulate_again(), init_vn_nary_op_from_stmt(), likely_value(), output_gimple_stmt(), parse_ssa_operands(), remove_unused_locals(), replace_uses_by(), rewrite_use_nonlinear_expr(), stmt_could_throw_1_p(), stmt_invariant_in_loop_p(), vect_analyze_slp_cost_1(), vect_build_slp_tree(), vect_create_new_slp_node(), vect_get_and_check_slp_defs(), vect_mark_stmts_to_be_vectorized(), vn_nary_length_from_stmt(), walk_gimple_op(), and walk_stmt_load_store_addr_ops().
|
inlinestatic |
Get the LHS of an atomic load.
Referenced by dump_gimple_omp_atomic_load(), and expand_omp_atomic().
|
inlinestatic |
Return a pointer to the LHS of an atomic load.
Referenced by walk_gimple_op().
|
inlinestatic |
Get the RHS of an atomic load.
Referenced by dump_gimple_omp_atomic_load(), and expand_omp_atomic().
|
inlinestatic |
Return a pointer to the RHS of an atomic load.
Referenced by gimple_regimplify_operands(), lower_omp_1(), and walk_gimple_op().
|
inlinestatic |
Set the LHS of an atomic load.
Referenced by gimple_build_omp_atomic_load().
|
inlinestatic |
Set the RHS of an atomic load.
Referenced by gimple_build_omp_atomic_load().
|
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().
|
inlinestatic |
Set the GF_OMP_ATOMIC_NEED_VALUE flag on G.
Referenced by gimplify_omp_atomic().
|
inlinestatic |
Set the value being stored in an atomic store.
Referenced by gimple_build_omp_atomic_store().
|
inlinestatic |
Return the value being stored in an atomic store.
Referenced by dump_gimple_omp_atomic_store(), and expand_omp_atomic().
|
inlinestatic |
Return a pointer to the value being stored in an atomic store.
Referenced by walk_gimple_op().
|
inlinestatic |
Return the body for the OMP statement GS.
Referenced by convert_local_reference_stmt(), convert_nonlocal_reference_stmt(), convert_tramp_reference_stmt(), diagnose_sb_1(), dump_gimple_omp_block(), dump_gimple_omp_critical(), dump_gimple_omp_for(), dump_gimple_omp_parallel(), dump_gimple_omp_sections(), dump_gimple_omp_single(), dump_gimple_omp_task(), estimate_num_insns(), gimple_copy(), lower_omp_critical(), lower_omp_directive(), lower_omp_for(), lower_omp_master(), lower_omp_ordered(), lower_omp_sections(), lower_omp_single_copy(), lower_omp_single_simple(), lower_omp_taskreg(), remap_gimple_stmt(), scan_omp_parallel(), and scan_omp_task().
|
inlinestatic |
Return a pointer to the body for the OMP statement GS.
Referenced by convert_gimple_call(), convert_local_reference_stmt(), convert_nonlocal_reference_stmt(), convert_tramp_reference_stmt(), diagnose_sb_2(), lower_omp_critical(), lower_omp_directive(), lower_omp_for(), lower_omp_master(), lower_omp_ordered(), lower_omp_sections(), lower_omp_single(), lower_rec_input_clauses(), move_stmt_r(), scan_omp_1_stmt(), scan_omp_for(), scan_omp_parallel(), scan_omp_sections(), scan_omp_single(), scan_omp_task(), and walk_gimple_stmt().
|
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().
|
inlinestatic |
The same as above, but return the address.
Referenced by walk_gimple_op().
|
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().
|
inlinestatic |
The same as above, but return the address.
Referenced by walk_gimple_op().
|
inlinestatic |
Set the definition of the control variable in a GIMPLE_OMP_CONTINUE.
Referenced by gimple_build_omp_continue().
|
inlinestatic |
Set the use of the control variable in a GIMPLE_OMP_CONTINUE.
Referenced by gimple_build_omp_continue().
|
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().
|
inlinestatic |
Return a pointer to the name associated with OMP critical statement GS.
Referenced by walk_gimple_op().
|
inlinestatic |
Set NAME to be the name associated with OMP critical statement GS.
Referenced by gimple_build_omp_critical(), and gimple_copy().
|
inlinestatic |
Return the clauses associated with OMP_FOR GS.
Referenced by check_omp_nesting_restrictions(), determine_parallel_type(), dump_gimple_omp_for(), expand_omp_simd(), extract_omp_for_data(), gimple_copy(), lower_omp_for(), lower_omp_for_lastprivate(), lower_rec_input_clauses(), lower_rec_simd_input_clauses(), remap_gimple_stmt(), and scan_omp_for().
|
inlinestatic |
Return a pointer to the OMP_FOR GS.
Referenced by convert_local_reference_stmt(), convert_nonlocal_reference_stmt(), and walk_gimple_op().
|
inlinestatic |
Get the collapse count of OMP_FOR GS.
Referenced by dump_gimple_omp_for(), expand_omp_for(), extract_omp_for_data(), gimple_copy(), lower_omp_for(), remap_gimple_stmt(), scan_omp_for(), walk_gimple_omp_for(), and walk_gimple_op().
|
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().
|
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().
|
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().
|
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().
|
inlinestatic |
Return a pointer to the increment value for OMP_FOR GS.
Referenced by scan_omp_for(), and walk_gimple_op().
|
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().
|
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().
|
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().
|
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().
|
inlinestatic |
Return the kind of OMP for statemement.
Referenced by build_outer_var_ref(), check_omp_nesting_restrictions(), dump_gimple_omp_for(), expand_omp_for(), extract_omp_for_data(), lower_lastprivate_clauses(), lower_rec_input_clauses(), lower_reduction_clauses(), and remap_gimple_stmt().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
inlinestatic |
Set the OMP for kind.
Referenced by gimple_build_omp_for().
|
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().
|
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().
|
inlinestatic |
Return a pointer to the child function used to hold the body of OMP_PARALLEL GS.
Referenced by walk_gimple_op().
|
inlinestatic |
Return the clauses associated with OMP_PARALLEL GS.
Referenced by dump_gimple_omp_parallel(), expand_parallel_call(), gimple_copy(), lower_lastprivate_clauses(), remap_gimple_stmt(), and scan_omp_parallel().
|
inlinestatic |
Return a pointer to the clauses associated with OMP_PARALLEL GS.
Referenced by walk_gimple_op().
|
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().
|
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().
|
inlinestatic |
Return a pointer to the data argument for OMP_PARALLEL GS.
Referenced by walk_gimple_op().
|
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().
|
inlinestatic |
Set CLAUSES to be the list of clauses associated with OMP_PARALLEL GS.
Referenced by gimple_build_omp_parallel(), and gimple_copy().
|
inlinestatic |
Set the GF_OMP_PARALLEL_COMBINED field in G depending on the boolean value of COMBINED_P.
Referenced by lower_omp_taskreg().
|
inlinestatic |
Set DATA_ARG to be the data argument for OMP_PARALLEL GS.
Referenced by gimple_build_omp_parallel(), and gimple_copy().
|
inlinestatic |
Return true if OMP return statement G has the GF_OMP_RETURN_NOWAIT flag set.
Referenced by dump_gimple_omp_return(), expand_omp_for_generic(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_omp_sections(), expand_omp_single(), and remove_exit_barrier().
|
inlinestatic |
Set the nowait flag on OMP_RETURN statement S.
Referenced by gimple_build_omp_return(), and remove_exit_barrier().
|
inlinestatic |
Return true if OMP section statement G has the GF_OMP_SECTION_LAST flag set.
Referenced by expand_omp_sections().
|
inlinestatic |
Set the GF_OMP_SECTION_LAST flag on G.
Referenced by lower_omp_sections().
|
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().
|
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().
|
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().
|
inlinestatic |
Return a pointer to the clauses associated with the GIMPLE_OMP_SECTIONS GS.
Referenced by walk_gimple_op().
|
inlinestatic |
Set CLAUSES to be the set of clauses associated with OMP_SECTIONS GS.
Referenced by gimple_build_omp_sections(), and gimple_copy().
|
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().
|
inlinestatic |
Set BODY to be the body for the OMP statement GS.
Referenced by gimple_build_omp_critical(), gimple_build_omp_for(), gimple_build_omp_master(), gimple_build_omp_ordered(), gimple_build_omp_parallel(), gimple_build_omp_section(), gimple_build_omp_sections(), gimple_build_omp_single(), gimple_build_omp_task(), gimple_copy(), lower_omp_critical(), lower_omp_directive(), lower_omp_for(), lower_omp_master(), lower_omp_ordered(), lower_omp_sections(), lower_omp_single(), and lower_omp_taskreg().
|
inlinestatic |
Set the subcode for OMP statement S to SUBCODE.
Referenced by expand_omp_taskreg(), and gimplify_omp_parallel().
|
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().
|
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().
|
inlinestatic |
Set CLAUSES to be the clauses associated with OMP_SINGLE GS.
Referenced by gimple_build_omp_single().
|
inlinestatic |
Return the subcode for OMP statement S.
|
inlinestatic |
Return align of the data block in bytes in OMP_TASK GS.
Referenced by expand_task_call(), gimple_copy(), and remap_gimple_stmt().
|
inlinestatic |
Return a pointer to the data block align for OMP_TASK GS.
Referenced by walk_gimple_op().
|
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().
|
inlinestatic |
Return a pointer to the data block size for OMP_TASK GS.
Referenced by walk_gimple_op().
|
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().
|
inlinestatic |
Return a pointer to the child function used to hold the body of OMP_TASK GS.
Referenced by walk_gimple_op().
|
inlinestatic |
Return the clauses associated with OMP_TASK GS.
Referenced by create_task_copyfn(), dump_gimple_omp_task(), expand_task_call(), gimple_copy(), optimize_omp_library_calls(), remap_gimple_stmt(), and scan_omp_task().
|
inlinestatic |
Return a pointer to the clauses associated with OMP_TASK GS.
Referenced by walk_gimple_op().
|
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().
|
inlinestatic |
Return a pointer to the copy function used to hold the body of OMP_TASK GS.
Referenced by walk_gimple_op().
|
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().
|
inlinestatic |
Return a pointer to the data argument for OMP_TASK GS.
Referenced by walk_gimple_op().
|
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().
|
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().
|
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().
|
inlinestatic |
Set CLAUSES to be the list of clauses associated with OMP_TASK GS.
Referenced by gimple_build_omp_task(), and gimple_copy().
|
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().
|
inlinestatic |
Set DATA_ARG to be the data argument for OMP_TASK GS.
Referenced by gimple_build_omp_task(), and gimple_copy().
|
inlinestatic |
Return the child function used to hold the body of OMP_TASK GS.
Referenced by expand_omp_taskreg().
|
inlinestatic |
Return a pointer to the child function used to hold the body of OMP_TASK GS.
|
inlinestatic |
Return the clauses associated with OMP_TASK GS.
Referenced by convert_gimple_call(), convert_local_reference_stmt(), convert_nonlocal_reference_stmt(), lower_omp_taskreg(), and use_pointer_for_field().
|
inlinestatic |
Return a pointer to the clauses associated with OMP_TASK GS.
Referenced by convert_local_reference_stmt(), and convert_nonlocal_reference_stmt().
|
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().
|
inlinestatic |
Return a pointer to the data argument for OMP_TASK GS.
|
inlinestatic |
Set CHILD_FN to be the child function for OMP_TASK GS.
|
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().
|
inlinestatic |
Set DATA_ARG to be the data argument for OMP_TASK GS.
Referenced by lower_omp_taskreg().
|
inlinestatic |
Return operand I for statement GS.
Referenced by check_call(), estimate_num_insns(), expand_complex_operations_1(), find_decls_types_in_node(), find_func_aliases(), get_rank(), gimple_assign_copy_p(), gimple_copy(), gimple_could_trap_p_1(), gimple_regimplify_operands(), init_vn_nary_op_from_stmt(), likely_value(), op_iter_next_tree(), output_gimple_stmt(), replace_uses_by(), stmt_could_throw_1_p(), stmt_invariant_in_loop_p(), vect_analyze_slp_cost_1(), vect_create_epilog_for_reduction(), vect_detect_hybrid_slp_stmts(), vect_get_and_check_slp_defs(), vect_get_constant_vectors(), vect_mark_stmts_to_be_vectorized(), vectorizable_live_operation(), and walk_stmt_load_store_addr_ops().
|
inlinestatic |
Return a pointer to operand I for statement GS.
Referenced by clear_unused_block_pointer(), input_gimple_stmt(), maybe_record_in_goto_queue(), op_iter_next_def(), parse_ssa_operands(), remap_gimple_stmt(), remove_unused_locals(), replace_goto_queue_1(), and walk_gimple_op().
|
inlinestatic |
Return the array of operands for statement GS.
|
staticread |
Return the PHI argument corresponding to incoming edge INDEX for GIMPLE_PHI GS.
Referenced by ccp_visit_phi_node(), check_for_plus_in_loops_1(), collect_object_sizes_for(), get_maxval_strlen(), gimple_phi_arg_def(), gimple_phi_arg_def_ptr(), gimple_phi_arg_imm_use_ptr(), gimple_phi_arg_location(), gimple_phi_arg_location_from_edge(), gimple_phi_arg_set_location(), lower_emutls_phi_arg(), phi_arg_index_from_use(), and predicate_for_phi_result().
|
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().
|
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().
|
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().
|
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().
|
inlinestatic |
Set PHIARG to be the argument corresponding to incoming edge INDEX for GIMPLE_PHI GS.
|
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().
|
inlinestatic |
Return the value of pass local flag PLF on statement STMT.
Referenced by add_ssa_edge(), eliminate_bb(), eliminate_unnecessary_stmts(), forward_edge_to_pdom(), gimple_do_not_emit_location_p(), mark_all_reaching_defs_necessary_1(), mark_operand_necessary(), mark_stmt_necessary(), process_ssa_edge_worklist(), register_defs_p(), remove_dead_inserted_code(), remove_dead_phis(), simulate_block(), and ssa_forward_propagate_and_combine().
|
inlinestatic |
Return the outcome of GIMPLE_PREDICT statement GS.
Referenced by pp_gimple_stmt_1(), and tree_bb_level_predictions().
|
inlinestatic |
Return the predictor of GIMPLE_PREDICT statement GS.
Referenced by pp_gimple_stmt_1(), and tree_bb_level_predictions().
|
inlinestatic |
Set the outcome of GIMPLE_PREDICT statement GS to OUTCOME.
Referenced by gimple_build_predict().
|
inlinestatic |
Set the predictor of GIMPLE_PREDICT statement GS to PREDICT.
Referenced by gimple_build_predict().
|
inlinestatic |
Return true if statement STMT may access memory.
Referenced by chain_of_csts_start(), dump_gimple_mem_ops(), execute_update_addresses_taken(), find_tail_calls(), likely_value(), record_equivalences_from_stmt(), and stmt_cost().
void gimple_regimplify_operands | ( | gimple | , |
gimple_stmt_iterator * | |||
) |
|
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().
|
inlinestatic |
Set REGION to be the region number for GIMPLE_RESX GS.
Referenced by input_gimple_stmt(), move_stmt_r(), and remap_gimple_stmt().
|
inlinestatic |
Return the return value for GIMPLE_RETURN GS.
Referenced by adjust_return_value(), apply_return_prediction(), dump_gimple_return(), execute_warn_function_return(), expand_complex_comparison(), expand_gimple_basic_block(), expand_gimple_stmt_1(), find_func_aliases(), find_func_clobbers(), find_return_bb(), find_retval(), find_tail_calls(), lower_function_body(), lower_gimple_return(), mf_xform_statements(), propagate_necessity(), ref_maybe_used_by_stmt_p(), remap_gimple_stmt(), scan_function(), tree_nrv(), verify_gimple_return(), and walk_stmt_load_store_addr_ops().
|
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().
|
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 | ) |
|
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 | ) |
|
inlinestatic |
Return true if GIMPLE sequence S is empty.
Referenced by add_phi_args_after_copy_edge(), annotate_all_with_location(), compute_antic_aux(), compute_partial_antic_aux(), dump_gimple_omp_block(), dump_gimple_omp_critical(), dump_gimple_omp_for(), dump_gimple_omp_sections(), dump_gimple_omp_single(), dump_gimple_transaction(), empty_body_p(), expand_omp_atomic_pipeline(), expand_phi_nodes(), force_gimple_operand_gsi_1(), forward_edge_to_pdom(), gimple_execute_on_growing_pred(), gimple_execute_on_shrinking_pred(), gimple_find_edge_insert_loc(), gimple_push_condition(), gimple_regimplify_operands(), gimplify_and_update_call_from_tree(), gimplify_body(), gimplify_expr(), gsi_replace_with_seq(), lower_emutls_function_body(), lower_omp_for(), lower_omp_for_lastprivate(), merge_phi_nodes(), no_side_effect_bb(), phi_translate_set(), remove_forwarder_block(), split_critical_edges(), take_address_of(), tree_forwarder_block_p(), tree_optimize_tail_calls_1(), uncprop_into_successor_phis(), unsplit_eh(), vect_analyze_loop_form(), and walk_gimple_omp_for().
|
inlinestatic |
Return the first node in GIMPLE sequence S.
Referenced by gimplify_body(), gsi_commit_one_edge_insert(), gsi_insert_seq_after_without_update(), gsi_insert_seq_before_without_update(), gsi_insert_seq_on_edge_immediate(), and lower_function_body().
|
inlinestatic |
Return the first statement in GIMPLE sequence S.
Referenced by bb_has_non_vop_phi(), convert_local_reference_stmt(), convert_nonlocal_reference_stmt(), convert_tramp_reference_stmt(), dump_function_to_file(), dump_gimple_omp_parallel(), dump_gimple_omp_task(), expand_omp_atomic_pipeline(), finalize_nesting_tree_1(), get_eh_else(), gimple_add_tmp_var(), gimplify_and_return_first(), gimplify_body(), gimplify_scan_omp_clauses(), lower_eh_constructs_2(), lower_eh_filter(), lower_eh_must_not_throw(), lower_function_body(), lower_omp_for(), lower_omp_taskreg(), and replace_goto_queue_cond_clause().
void gimple_seq_free | ( | gimple_seq | ) |
|
inlinestatic |
Return the last node in GIMPLE sequence S.
Referenced by build_check_stmt(), gimplify_body(), gimplify_stmt(), gsi_insert_seq_after_without_update(), gsi_insert_seq_before_without_update(), gsi_insert_seq_nodes_after(), gsi_insert_seq_nodes_before(), gsi_split_seq_after(), gsi_split_seq_before(), and lower_function_body().
|
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().
|
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().
|
inlinestatic |
Set the last node in GIMPLE sequence *PS to LAST.
Referenced by gsi_insert_seq_nodes_after(), gsi_insert_seq_nodes_before(), gsi_remove(), gsi_set_stmt(), gsi_split_seq_after(), and gsi_split_seq_before().
|
inlinestatic |
Set the location of all statements in SEQ to LOC.
Referenced by build_check_stmt().
|
inlinestatic |
Determine whether SEQ is a singleton.
Referenced by bb_has_non_vop_phi(), get_eh_else(), replace_goto_queue_cond_clause(), and single_non_singleton_phi_for_edges().
void gimple_set_bb | ( | gimple | , |
basic_block | |||
) |
|
inlinestatic |
Set BLOCK to be the lexical scope block holding statement G.
Referenced by clear_unused_block_pointer(), copy_bb(), copy_debug_stmt(), finish_update_gimple_call(), gimple_build_call_from_tree(), input_gimple_stmt(), ipa_modify_call_arguments(), lower_builtin_setjmp(), lower_eh_constructs_2(), lower_function_body(), lower_gimple_return(), lower_stmt(), lower_try_finally_dup_block(), lower_try_finally_onedest(), make_blocks(), move_stmt_r(), remap_gimple_stmt(), and split_function().
void gimple_set_body | ( | tree | , |
gimple_seq | |||
) |
|
inlinestatic |
Set the HAS_VOLATILE_OPS flag to VOLATILEP.
Referenced by add_stmt_operand(), build_ssa_operands(), get_expr_operands(), get_indirect_ref_operands(), get_tmr_operands(), and verify_ssa_operands().
|
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().
|
inlinestatic |
Set the MODIFIED flag to MODIFIEDP, iff the gimple statement G has a MODIFIED field.
Referenced by associate_plusminus(), cprop_operand(), eliminate_redundant_computations(), gimple_call_copy_skip_args(), gimple_copy(), gimplify_and_update_call_from_tree(), gsi_remove(), gsi_replace(), input_gimple_stmt(), optimize_stmt(), and update_stmt_operands().
|
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().
|
inlinestatic |
Set the number of operands for statement GS.
Referenced by gimple_alloc_stat(), gimple_assign_set_rhs_with_ops_1(), and simplify_permutation().
|
inlinestatic |
Set operand I of statement GS to OP.
Referenced by gimple_build_call_1(), gimple_copy(), gimple_regimplify_operands(), and input_gimple_stmt().
|
inlinestatic |
Set pass local flag PLF on statement STMT to VAL_P.
Referenced by add_ssa_edge(), create_expression_by_pieces(), do_regular_insertion(), eliminate(), eliminate_bb(), eliminate_insert(), eliminate_unnecessary_stmts(), find_obviously_necessary_stmts(), gimple_set_do_not_emit_location(), insert_into_preds_of_block(), mark_operand_necessary(), mark_stmt_necessary(), process_ssa_edge_worklist(), remove_dead_phis(), set_register_defs(), simulate_block(), ssa_forward_propagate_and_combine(), and ssa_prop_init().
|
inlinestatic |
Set the UID of statement.
Referenced by build_and_add_sum(), create_rdg_vertices(), free_rdg(), input_function(), insert_stmt_after(), linearize_expr(), maybe_renumber_stmts_bb(), new_bb_vec_info(), new_loop_vec_info(), output_function(), renumber_gimple_stmt_uids(), renumber_gimple_stmt_uids_in_blocks(), set_reduc_phi_uids(), set_vinfo_for_stmt(), and tree_loop_distribution().
|
inlinestatic |
Set USE to be the set of USE operands for statement G.
Referenced by finalize_ssa_uses(), free_stmt_operands(), and gimple_copy().
|
inlinestatic |
Set the single VDEF operand of the statement G.
Referenced by finalize_ssa_defs(), finish_update_gimple_call(), free_stmt_operands(), gimple_call_copy_skip_args(), gimple_copy(), gimple_ic(), gimple_stringop_fixed_value(), gimplify_and_update_call_from_tree(), remap_gimple_stmt(), update_call_from_tree(), vect_finish_stmt_generation(), and vectorizable_load().
|
inlinestatic |
Set the visited status on statement STMT to VISITED_P.
Referenced by attempt_builtin_powi(), break_up_subtract_bb(), get_ops(), linearize_expr(), linearize_expr_tree(), maybe_optimize_range_tests(), prop_set_simulate_again(), reassociate_bb(), and set_rewrite_uses().
|
inlinestatic |
Set the single VUSE operand of the statement G.
Referenced by finalize_ssa_uses(), finish_update_gimple_call(), free_stmt_operands(), get_string_length(), gimple_call_copy_skip_args(), gimple_copy(), gimple_ic(), gimple_stringop_fixed_value(), gimplify_and_update_call_from_tree(), move_computations_stmt(), optimize_stmt(), record_equivalences_from_stmt(), remap_gimple_stmt(), split_function(), update_call_from_tree(), vect_finish_stmt_generation(), and vectorizable_load().
|
inlinestatic |
Return which GSS code is used by GS.
Referenced by gt_ggc_mx(), gt_pch_nx(), and walk_gimple_op().
|
inlinestatic |
Return true if GS performs a store to its lhs.
Referenced by estimate_function_body_sizes(), estimate_num_insns(), get_mem_ref_of_assignment(), instrument_gimple(), maybe_instrument_assignment(), and will_be_nonconstant_predicate().
|
inlinestatic |
Return the default label for a switch statement.
Referenced by collect_switch_conv_info(), emit_case_bit_tests(), expand_case(), find_case_label_for_value(), group_case_labels_stmt(), process_switch(), simplify_gimple_switch_label_vec(), simplify_switch_using_ranges(), and vrp_visit_switch_stmt().
|
inlinestatic |
Return the index variable used by the switch statement GS.
Referenced by associate_equivalences_with_edges(), ccp_fold(), cleanup_control_expr_graph(), collect_switch_conv_info(), dump_gimple_switch(), eliminate_redundant_computations(), evaluate_stmt(), expand_case(), find_switch_asserts(), initialize_hash_element(), may_propagate_copy_into_stmt(), optimize_stmt(), propagate_rhs_into_lhs(), record_edge_info(), set_switch_stmt_execution_predicate(), simplify_control_stmt_condition(), simplify_gimple_switch(), simplify_switch_using_ranges(), tree_estimate_loop_size(), verify_gimple_switch(), and vrp_visit_switch_stmt().
|
inlinestatic |
Return a pointer to the index variable for the switch statement GS.
Referenced by gimple_regimplify_operands(), and propagate_tree_value_into_stmt().
|
inlinestatic |
Return the label numbered INDEX. The default label is 0, followed by any labels in a switch statement.
Referenced by associate_equivalences_with_edges(), build_constructors(), cleanup_dead_labels(), collect_switch_conv_info(), compute_cases_per_edge(), diagnose_sb_2(), dump_gimple_switch(), emit_case_bit_tests(), execute_vrp(), expand_case(), find_case_label_for_value(), find_case_label_index(), find_case_label_range(), find_case_label_ranges(), find_switch_asserts(), get_cases_for_edge(), gimple_redirect_edge_and_branch(), gimple_verify_flow_info(), group_case_labels_stmt(), make_gimple_switch_edges(), record_edge_info(), set_switch_stmt_execution_predicate(), simplify_gimple_switch_label_vec(), simplify_switch_using_ranges(), verify_gimple_switch(), verify_norecord_switch_expr(), and vrp_visit_switch_stmt().
|
inlinestatic |
Return the number of labels associated with the switch statement GS.
Referenced by associate_equivalences_with_edges(), build_constructors(), cleanup_dead_labels(), collect_switch_conv_info(), compute_cases_per_edge(), diagnose_sb_2(), dump_gimple_switch(), emit_case_bit_tests(), estimate_num_insns(), expand_case(), find_case_label_for_value(), find_case_label_index(), find_case_label_ranges(), find_switch_asserts(), get_cases_for_edge(), gimple_redirect_edge_and_branch(), gimple_verify_flow_info(), group_case_labels_stmt(), make_gimple_switch_edges(), process_switch(), record_edge_info(), set_switch_stmt_execution_predicate(), simplify_gimple_switch_label_vec(), simplify_switch_using_ranges(), verify_gimple_switch(), and verify_norecord_switch_expr().
|
inlinestatic |
Set the default label for a switch statement.
Referenced by gimple_build_switch_nlabels().
|
inlinestatic |
Set INDEX to be the index variable for switch statement GS.
Referenced by gimple_build_switch_nlabels(), and simplify_gimple_switch().
|
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().
|
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().
|
inlinestatic |
Return the body for the GIMPLE_TRANSACTION statement GS.
Referenced by diagnose_tm_1(), dump_gimple_transaction(), estimate_num_insns(), gimple_copy(), lower_transaction(), output_gimple_stmt(), remap_gimple_stmt(), and verify_gimple_transaction().
|
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().
|
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().
|
inlinestatic |
Referenced by walk_gimple_op().
|
inlinestatic |
Set BODY to be the body for the GIMPLE_TRANSACTION statement GS.
Referenced by gimple_build_transaction(), gimple_copy(), and lower_transaction().
|
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().
|
inlinestatic |
Set the subcode associated with a GIMPLE_TRANSACTION.
Referenced by generate_tm_state(), gimplify_transaction(), lower_transaction(), propagate_tm_flags_out(), remap_gimple_stmt(), and transaction_subcode_ior().
|
inlinestatic |
Return the subcode associated with a GIMPLE_TRANSACTION.
Referenced by diagnose_tm_1(), dump_gimple_transaction(), execute_tm_mark(), expand_transaction(), generate_tm_state(), ipa_tm_diagnose_transaction(), lower_transaction(), propagate_tm_flags_out(), remap_gimple_stmt(), and transaction_subcode_ior().
|
inlinestatic |
Return the GIMPLE_TRY_CATCH_IS_CLEANUP flag.
Referenced by honor_protect_cleanup_actions().
|
inlinestatic |
Return the sequence of statements used as the cleanup body for GIMPLE_TRY GS.
Referenced by collect_finally_tree(), do_warn_unused_result(), dump_gimple_try(), estimate_num_insns(), frob_into_branch_around(), gimple_copy(), gimple_stmt_may_fallthru(), honor_protect_cleanup_actions(), lower_catch(), lower_eh_constructs_2(), lower_eh_filter(), lower_eh_must_not_throw(), lower_try_finally(), lower_try_finally_copy(), lower_try_finally_nofallthru(), lower_try_finally_onedest(), lower_try_finally_switch(), optimize_double_finally(), refactor_eh_r(), remap_gimple_stmt(), and verify_gimple_in_seq_2().
|
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().
|
inlinestatic |
Return the sequence of statements used as the body for GIMPLE_TRY GS.
Referenced by collect_finally_tree(), do_warn_unused_result(), dump_gimple_try(), estimate_num_insns(), frob_into_branch_around(), gimple_copy(), gimple_stmt_may_fallthru(), gimple_try_catch_may_fallthru(), honor_protect_cleanup_actions(), lower_catch(), lower_cleanup(), lower_eh_constructs_2(), lower_eh_filter(), lower_eh_must_not_throw(), lower_try_finally(), lower_try_finally_copy(), lower_try_finally_nofallthru(), lower_try_finally_onedest(), lower_try_finally_switch(), optimize_double_finally(), refactor_eh_r(), remap_gimple_stmt(), and verify_gimple_in_seq_2().
|
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().
|
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().
|
inlinestatic |
Set the GIMPLE_TRY_CATCH_IS_CLEANUP flag.
Referenced by gimplify_expr().
|
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().
|
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().
|
inlinestatic |
Set the kind of try block represented by GIMPLE_TRY GS.
Referenced by optimize_double_finally().
|
inlinestatic |
Return the UID of statement.
Referenced by appears_later_in_bb(), build_and_add_sum(), compare_ops(), cond_if_else_store_replacement(), copy_bb(), dr_group_sort_cmp(), find_insert_point(), get_earlier_stmt(), get_later_stmt(), input_function(), insert_stmt_after(), linearize_expr(), lto_output_edge(), lto_output_ref(), not_dominated_by(), pred_chain_length_cmp(), rdg_vertex_for_stmt(), reduction_phi(), set_autoinc_for_original_candidates(), set_vinfo_for_stmt(), stmt_after_inc_pos(), trivially_conflicts_p(), and vinfo_for_stmt().
|
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 | ) |
|
inlinestatic |
Return the single VDEF operand of the statement G.
Referenced by cgraph_redirect_edge_call_stmt_to_callee(), collect_dfa_stats(), destroy_loop(), dse_optimize_stmt(), dse_possible_dead_store_p(), dump_gimple_mem_ops(), eliminate_redundant_computations(), execute_cse_sincos(), finalize_ssa_defs(), find_func_clobbers(), find_replaceable_in_bb(), finish_update_gimple_call(), fixup_noreturn_call(), gather_mem_refs_stmt(), get_rank(), gimple_call_copy_skip_args(), gimple_copy(), gimple_equal_p(), gimplify_and_update_call_from_tree(), is_replaceable_p(), move_computations_stmt(), movement_possibility(), nb_data_writes_in_bb(), op_iter_next_tree(), phivn_valid_p(), predicate_mem_writes(), prepare_block_for_update(), record_equivalences_from_stmt(), release_last_vdef(), replace_refs(), rewrite_stmt(), select_best_block(), simple_mem_ref_in_stmt(), simplify_builtin_call(), sink_clobbers(), sink_code_in_bb(), slsr_process_ref(), split_function(), statement_sink_location(), stmt_makes_single_store(), stmt_may_clobber_global_p(), strlen_optimize_stmt(), surely_varying_stmt_p(), unlink_stmt_vdef(), update_call_from_tree(), value_dies_in_block_x(), vect_finish_stmt_generation(), vect_stmt_relevant_p(), vectorizable_load(), verify_ssa_operands(), visit_reference_op_call(), visit_reference_op_store(), visit_use(), and warn_uninitialized_vars().
|
inlinestatic |
Return the set of VDEF operand for statement G.
Referenced by verify_ssa_operands().
|
inlinestatic |
Return the single VDEF operand of the statement G.
Referenced by op_iter_next_def().
|
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().
|
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().
|
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().
|
inlinestatic |
Return the single VUSE operand of the statement G.
Referenced by finalize_ssa_uses().
|
inlinestatic |
Return the cleanup sequence for cleanup statement GS.
Referenced by gimple_copy(), gimplify_cleanup_point_expr(), and remap_gimple_stmt().
|
inlinestatic |
Return the CLEANUP_EH_ONLY flag for a WCE tuple.
Referenced by gimplify_cleanup_point_expr().
|
inlinestatic |
Return a pointer to the cleanup sequence for cleanup statement GS.
Referenced by walk_gimple_stmt().
|
inlinestatic |
Set CLEANUP to be the cleanup sequence for GS.
Referenced by gimple_build_wce(), and gimple_copy().
|
inlinestatic |
Set the CLEANUP_EH_ONLY flag for a WCE tuple.
Referenced by gimple_push_cleanup().
void gimplify_and_add | ( | tree | , |
gimple_seq * | |||
) |
Referenced by force_gimple_operand_1(), gimplify_and_return_first(), gimplify_and_update_call_from_tree(), gimplify_assign(), gimplify_compound_literal_expr(), gimplify_decl_expr(), gimplify_expr(), gimplify_init_ctor_eval(), gimplify_loop_expr(), gimplify_modify_expr_rhs(), gimplify_omp_for(), gimplify_omp_workshare(), gimplify_parameters(), gimplify_return_expr(), gimplify_scan_omp_clauses(), gimplify_target_expr(), gimplify_va_arg_expr(), gimplify_vla_decl(), internal_get_tmp_var(), lower_copyprivate_clauses(), lower_lastprivate_clauses(), lower_omp_critical(), lower_omp_master(), lower_omp_single_copy(), lower_rec_input_clauses(), lower_reduction_clauses(), and std_gimplify_va_arg_expr().
void gimplify_and_update_call_from_tree | ( | gimple_stmt_iterator * | , |
tree | |||
) |
In gimple-fold.c.
gimple gimplify_assign | ( | tree | , |
tree | , | ||
gimple_seq * | |||
) |
Referenced by finalize_task_copyfn(), and gimplify_function_tree().
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 | ) |
In gimplify.c.
Referenced by analyze_function(), cgraph_build_static_cdtor_1(), finalize_size_functions(), and gimplify_all_functions().
void gimplify_one_sizepos | ( | tree * | , |
gimple_seq * | |||
) |
Referenced by gimplify_parameters(), gimplify_return_expr(), gimplify_type_sizes(), and gimplify_vla_decl().
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().
bool gimplify_stmt | ( | tree * | , |
gimple_seq * | |||
) |
Referenced by gimple_push_cleanup(), gimplify_and_add(), gimplify_bind_expr(), gimplify_body(), gimplify_cleanup_point_expr(), gimplify_compound_expr(), gimplify_cond_expr(), gimplify_init_constructor(), gimplify_modify_expr(), gimplify_statement_list(), gimplify_switch_expr(), goa_stabilize_expr(), and lower_rec_input_clauses().
void gimplify_type_sizes | ( | tree | , |
gimple_seq * | |||
) |
Referenced by gimplify_decl_expr(), gimplify_parm_type(), gimplify_return_expr(), gimplify_target_expr(), and gimplify_type_sizes().
enum gimplify_status gimplify_va_arg_expr | ( | tree * | , |
gimple_seq * | , | ||
gimple_seq * | |||
) |
|
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().
|
inlinestatic |
Return the basic block associated with this iterator.
Referenced by create_cond_insert_point(), eliminate_tail_call(), emit_case_bit_tests(), expand_complex_div_wide(), expand_complex_libcall(), expand_complex_move(), gsi_insert_seq_nodes_after(), gsi_insert_seq_nodes_before(), gsi_move_to_bb_end(), gsi_replace(), hoist_edge_and_branch_if_true(), insert_stmts(), instrument_expr(), maybe_register_def(), optimize_stack_restore(), optimize_tail_call(), optimize_unreachable(), and sink_code_in_bb().
void gsi_commit_edge_inserts | ( | void | ) |
This routine will commit all pending edge insertions, creating any new basic blocks which are necessary.
References gsi_commit_one_edge_insert(), single_succ_edge(), and basic_block_def::succs.
Referenced by branch_prob(), create_empty_loop_on_edge(), do_pre(), execute_tm_mark(), gimple_flow_call_edges_add(), insert_out_of_ssa_copy_on_edge(), lower_emutls_function_body(), mf_decl_cache_locals(), move_computations(), process_assert_insertions(), propagate_expr_outside_region(), remove_invariant_phi(), rewrite_commutative_reductions_out_of_ssa(), store_motion(), translate_clast_assignment(), tree_lower_complex(), tree_ssa_phiopt_worker(), and tree_ssa_phiprop().
void gsi_commit_one_edge_insert | ( | edge | , |
basic_block * | |||
) |
|
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().
basic_block gsi_insert_on_edge_immediate | ( | edge | , |
gimple | |||
) |
void gsi_insert_seq_after | ( | 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. Scan the statements in SEQ for new operands.
References gsi_insert_seq_after_without_update(), and update_modified_stmts().
Referenced by build_check_stmt(), combine_blocks(), expand_complex_asm(), force_gimple_operand_gsi_1(), gimple_merge_blocks(), gimple_seq_add_seq(), gsi_commit_one_edge_insert(), gsi_insert_seq_on_edge_immediate(), insert_gimplified_predicates(), insert_out_of_ssa_copy(), instrument_expr(), lower_omp_directive(), lower_omp_sections(), mf_build_check_statement_for(), replace_goto_queue_cond_clause(), set_prologue_iterations(), slpeel_add_loop_guard(), and update_complex_components().
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 | ( | 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). Scan the statements in SEQ for new operands.
References gsi_insert_seq_before_without_update(), and update_modified_stmts().
Referenced by force_gimple_operand_gsi_1(), gimple_regimplify_operands(), gsi_commit_one_edge_insert(), gsi_insert_seq_on_edge_immediate(), gsi_replace_with_seq(), honor_protect_cleanup_actions(), insert_gimplified_predicates(), insert_out_of_ssa_copy(), insert_stmts(), instrument_expr(), instrument_mem_region_access(), lower_eh_constructs_2(), lower_emutls_function_body(), lower_gimple_bind(), lower_transaction(), rename_uses(), replace_goto_queue_1(), take_address_of(), vect_create_data_ref_ptr(), vect_loop_versioning(), and vect_setup_realignment().
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 | |||
) |
|
inlinestatic |
Return a new iterator initially pointing to GIMPLE_SEQ's last statement.
|
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().
|
inlinestatic |
Return a new iterator pointing to the last non-debug statement in basic block BB.
Referenced by adjust_iv_update_pos(), branch_prob(), canonicalize_loop_ivs(), create_parallel_loop(), find_duplicate(), gimple_block_ends_with_call_p(), gimple_can_merge_blocks_p(), gimple_flow_call_edges_add(), gimple_split_block_before_cond_jump(), last_and_only_stmt(), maybe_move_debug_stmts_to_successors(), minmax_replacement(), and tree_transform_and_unroll_loop().
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 | |||
) |
|
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().
|
inlinestatic |
Advance the iterator to the next non-debug gimple statement.
Referenced by branch_prob(), cleanup_empty_eh(), same_succ_def::equal(), gimple_can_merge_blocks_p(), gimple_empty_block_p(), gsi_advance_fw_nondebug_nonlocal(), infinite_empty_loop_p(), same_succ_hash(), unsplit_eh(), and value_replacement().
|
inlinestatic |
Referenced by vect_determine_vectorization_factor(), and vect_transform_loop().
|
inlinestatic |
Return true if I is one statement before the end of its sequence.
Referenced by cleanup_empty_eh(), dump_gimple_seq(), gimplify_cleanup_point_expr(), lower_omp_sections(), mark_reachable_handlers(), maybe_move_debug_stmts_to_successors(), maybe_register_def(), optimize_double_finally(), same_handler_p(), split_bb_make_tm_edge(), split_reduction_stmt(), and verify_gimple_in_cfg().
|
inlinestatic |
Advance the iterator to the previous gimple statement.
Referenced by build_ssa_conflict_graph(), convert_nl_goto_receiver(), create_cond_insert_point(), determine_known_aggregate_parts(), dse_enter_block(), eliminate_unnecessary_stmts(), execute_optimize_bswap(), expand_omp_for_generic(), find_assert_locations_1(), find_return_bb(), find_tail_calls(), fold_marked_statements(), gimple_flow_call_edges_add(), gimplify_and_update_call_from_tree(), ipa_modify_call_arguments(), last_stmt(), maybe_move_debug_stmts_to_successors(), mf_build_check_statement_for(), optimize_clobbers(), propagate_threaded_block_debug_into(), reassociate_bb(), remove_bb(), remove_exit_barrier(), set_location_for_edge(), sink_clobbers(), sink_code_in_bb(), split_reduction_stmt(), split_region_for_bb(), ssa_forward_propagate_and_combine(), substitute_and_fold(), tm_region_init_1(), and tree_forwarder_block_p().
|
inlinestatic |
Advance the iterator to the next non-debug gimple statement.
Referenced by adjust_iv_update_pos(), branch_prob(), find_duplicate(), gimple_split_block_before_cond_jump(), gsi_advance_bw_nondebug_nonlocal(), gsi_prev_dom_bb_nondebug(), last_and_only_stmt(), and release_last_vdef().
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().
|
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 * | |||
) |
|
inlinestatic |
Return a new iterator pointing to GIMPLE_SEQ's first statement.
Referenced by gsi_start_phis(), and lower_rec_input_clauses().
|
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().
|
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
|
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 | ) |
|
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.
|
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.
|
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.
|
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).
|
inlinestatic |
Referenced by build_omp_regions_1(), lower_omp_1(), move_stmt_r(), scan_omp_1_stmt(), and verify_gimple_in_cfg().
bool is_gimple_reg | ( | tree | ) |
Returns true iff T is a scalar register variable.
|
inlinestatic |
Return true if TYPE is a suitable type for a scalar register variable.
Referenced by analyze_access_subtree(), build_accesses_from_assign(), can_sm_ref_p(), compare_access_positions(), completely_scalarize_record(), cond_if_else_store_replacement_1(), cond_store_replacement(), create_access_replacement(), declare_return_variable(), determine_known_aggregate_parts(), execute_optimize_stdarg(), expand_thunk(), finalize_nesting_tree_1(), find_param_candidates(), find_tail_calls(), gimple_regimplify_operands(), gimplify_arg(), gimplify_conversion(), gimplify_modify_expr_rhs(), if_convertible_gimple_assign_stmt_p(), insert_init_stmt(), internal_get_tmp_var(), ipa_compute_jump_functions_for_edge(), ipa_modify_call_arguments(), ipcp_transform_function(), is_gimple_mem_rhs(), is_gimple_mem_rhs_or_call(), is_gimple_reg(), is_gimple_val(), lower_eh_constructs_2(), make_blocks(), make_ssa_name_fn(), maybe_optimize_var(), propagate_subaccesses_across_link(), propagate_with_phi(), remove_dead_stmt(), setup_one_parameter(), sort_and_splice_var_accesses(), splice_all_param_accesses(), split_function(), sra_ipa_modify_assign(), sra_modify_assign(), suitable_reference_p(), target_for_debug_bind(), tm_log_emit_saves(), tree_nrv(), type_consists_of_records_p(), valid_gimple_call_p(), verify_expr(), verify_gimple_assign_single(), verify_gimple_call(), vn_reference_lookup_3(), and walk_gimple_op().
|
inlinestatic |
Return true if GS is a GIMPLE_RESX.
Referenced by cleanup_empty_eh(), and execute_lower_resx().
|
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 | |||
) |
Referenced by omp_add_variable(), and omp_firstprivatize_type_sizes().
In omp-low.c.
Referenced by initialize_reductions(), and lower_rec_input_clauses().
void pop_gimplify_context | ( | gimple | ) |
Referenced by create_task_copyfn(), execute_lower_omp(), execute_mudflap_function_decls(), execute_mudflap_function_ops(), force_gimple_operand_1(), gimple_regimplify_operands(), gimplify_and_update_call_from_tree(), gimplify_body(), gimplify_omp_parallel(), gimplify_omp_task(), gimplify_scan_omp_clauses(), gimplify_transaction(), lower_omp_critical(), lower_omp_for(), lower_omp_master(), lower_omp_ordered(), lower_omp_sections(), lower_omp_single(), lower_omp_taskreg(), and optimize_inline_calls().
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 push_gimplify_context | ( | struct gimplify_ctx * | ) |
Referenced by create_task_copyfn(), execute_lower_omp(), execute_mudflap_function_decls(), execute_mudflap_function_ops(), force_gimple_operand_1(), gimple_regimplify_operands(), gimplify_and_update_call_from_tree(), gimplify_body(), gimplify_omp_parallel(), gimplify_omp_task(), gimplify_scan_omp_clauses(), gimplify_transaction(), lower_omp_critical(), lower_omp_for(), lower_omp_master(), lower_omp_ordered(), lower_omp_sections(), lower_omp_single(), lower_omp_taskreg(), and optimize_inline_calls().
void recalculate_side_effects | ( | tree | ) |
gimple_predicate rhs_predicate_for | ( | tree | ) |
|
inlinestatic |
Sets the sequence of statements in BB to SEQ.
Referenced by combine_blocks(), create_bb(), gimple_merge_blocks(), and gimple_split_block().
Referenced by lower_eh_dispatch(), lower_try_finally_switch(), and preprocess_case_label_vec_for_gimple().
bool tree_ssa_useless_type_conversion | ( | tree | ) |
In tree-ssa.c
Referenced by gimplify_addr_expr(), gimplify_conversion(), strip_wrap_conserving_type_conversions(), and tree_ssa_strip_useless_type_conversions().
Referenced by adjust_return_value_with_ops(), build_user_friendly_ref_for_offset(), build_vector_from_val(), copy_rename_partition_coalesce(), expr_elt_hasher::equal(), expand_vector_piecewise(), find_basis_for_base_expr(), gimple_can_coalesce_p(), gimple_check_call_args(), gimplify_addr_expr(), goa_lhs_expr_p(), input_gimple_stmt(), lto_cgraph_replace_node(), lto_symtab_merge(), lto_symtab_merge_decls_2(), maybe_fold_reference(), operand_equal_p(), optimize_omp_library_calls(), propagate_with_phi(), ptr_parm_has_direct_uses(), replace_one_candidate(), simplify_bitwise_binary(), types_same_for_odr(), update_accumulator_with_ops(), vect_analyze_data_ref_accesses(), vect_do_peeling_for_alignment(), vect_get_and_check_slp_defs(), vect_get_constant_vectors(), vect_init_vector(), vect_is_simple_reduction_1(), vect_recog_dot_prod_pattern(), vect_recog_mixed_size_cond_pattern(), vect_recog_widen_mult_pattern(), vect_recog_widen_sum_pattern(), vect_slp_analyze_data_ref_dependence(), vectorizable_call(), vectorizable_load(), vectorizable_reduction(), verify_gimple_assign_single(), vn_constant_eq_with_type(), vn_nary_op_eq(), vn_phi_eq(), vn_reference_lookup_3(), and vn_reference_op_eq().
|
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().
|
inlinestatic |
Update statement S if it has been optimized.
Referenced by optimize_stmt(), tree_ssa_dominator_optimize(), update_modified_stmt(), and update_modified_stmts().
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().
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[] |
Gimple stats.
Referenced by allocate_phi_node(), dump_gimple_statistics(), and gimple_alloc_stat().
int gimple_alloc_sizes[] |
Referenced by allocate_phi_node(), dump_gimple_statistics(), gimple_alloc_stat(), and gimple_build_asm_1().
const char* const gimple_code_name[] |
Referenced by do_niy(), dump_gimple_fmt(), dump_omp_region(), and lto_tag_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.