GCC Middle and Back End API Reference
|
Go to the source code of this file.
Data Structures | |
struct | sequence_stack |
struct | emit_status |
struct | expr_status |
struct | rtl_eh |
struct | varasm_status |
struct | incoming_args |
struct | function_subsections |
struct | frame_space |
struct | rtl_data |
struct | stack_usage |
struct | function |
struct | types_used_by_vars_entry |
Typedefs | |
typedef struct call_site_record_d * | call_site_record |
typedef struct temp_slot * | temp_slot_p |
typedef struct ipa_opt_pass_d * | ipa_opt_pass |
Variables | |
rtx * | regno_reg_rtx |
struct rtl_data | x_rtl |
struct function * | cfun |
int | virtuals_instantiated |
int | trampolines_created |
htab_t | types_used_by_vars_hash |
vec< tree, va_gc > * | types_used_by_cur_var_decl |
struct machine_function *(* | init_machine_status )(void) |
typedef struct call_site_record_d* call_site_record |
typedef struct ipa_opt_pass_d* ipa_opt_pass |
typedef struct temp_slot* temp_slot_p |
|
inlinestatic |
Add the decl D to the local_decls list of FUN.
References vec_safe_push().
Referenced by add_local_variables(), declare_inline_vars(), expand_thunk(), expand_used_vars(), record_vars_into(), remap_decls(), replace_by_duplicate_decl(), and sra_ipa_reset_debug_stmts().
void clear_block_marks | ( | tree | ) |
void clobber_return_register | ( | void | ) |
References current_function_decl, diddle_return_value(), and do_clobber_return_reg().
Referenced by expand_eh_return(), expand_function_end(), and expand_null_return().
const char* current_function_name | ( | void | ) |
Returns the name of the current function.
References cfun, and function_name().
Referenced by adjust_cfg_counts(), create_loop_fn(), df_dump_start(), dump_alias_graphs(), dump_cfg_stats(), dump_enumerated_decls(), dump_fixup_graph(), haifa_sched_finish(), initialize_uninitialized_regs(), local_pure_const(), one_code_hoisting_pass(), one_cprop_pass(), one_pre_gcse_pass(), one_store_motion_pass(), sel_dump_cfg_2(), set_nothrow_function_flags(), and statistics_fini_pass_2().
void diddle_return_value | ( | void(*)(rtx, void *) | doit, |
void * | arg | ||
) |
Call DOIT for each hard register used as a return value from the current function.
Referenced by clobber_return_register(), df_get_exit_block_use_set(), and use_return_register().
void do_warn_unused_parameter | ( | tree | ) |
unsigned int emit_initial_value_sets | ( | void | ) |
Called from gimple_expand_cfg.
References emit_insn_at_entry(), emit_move_insn(), end_sequence(), initial_value_struct::entries, get_insns(), initial_value_pair::hard_reg, initial_value_struct::num_entries, initial_value_pair::pseudo, and start_sequence().
Referenced by gimple_expand_cfg().
const char* fndecl_name | ( | tree | ) |
Returns the name of the current function.
bool frame_offset_overflow | ( | HOST_WIDE_INT | , |
tree | |||
) |
Issue an error message and return TRUE if frame OFFSET overflows in the signed target pointer arithmetics for function FUNC. Otherwise return FALSE.
void free_after_compilation | ( | struct function * | ) |
void free_after_parsing | ( | struct function * | ) |
Save and restore status information for a nested function.
const char* function_name | ( | struct function * | ) |
rtx get_arg_pointer_save_area | ( | void | ) |
HOST_WIDE_INT get_frame_size | ( | void | ) |
Return size needed for stack frame based on slots so far allocated. This size counts from zero. It is not rounded to STACK_BOUNDARY; the caller may have to do that.
Return size needed for stack frame based on slots so far allocated. This size counts from zero. It is not rounded to PREFERRED_STACK_BOUNDARY; the caller may have to do that.
Referenced by final_end_function(), final_start_function(), lra(), and reload().
rtx get_hard_reg_initial_val | ( | enum | machine_mode, |
unsigned | int | ||
) |
int get_last_funcdef_no | ( | void | ) |
Return value of funcdef.
References funcdef_no.
int get_next_funcdef_no | ( | void | ) |
Return value of funcdef and increase it.
References funcdef_no.
Referenced by allocate_struct_function().
rtx has_hard_reg_initial_val | ( | enum | machine_mode, |
unsigned | int | ||
) |
void init_varasm_status | ( | void | ) |
Initialize constant pool hashing for a new function.
References create_constant_pool().
Referenced by prepare_function_start().
void instantiate_decl_rtl | ( | rtx | x | ) |
|
read |
Return the loop tree of FN.
Referenced by copy_cfg_body(), draw_cfg_nodes(), fixup_loop_arrays_after_move(), init_lowered_empty_function(), move_sese_region_to_fn(), place_new_loop(), and tree_function_versioning().
void number_blocks | ( | tree | ) |
Set BLOCK_NUMBER for all the blocks in FN.
bool optimize_function_for_size_p | ( | struct function * | ) |
In predict.c
Referenced by bb_to_key(), better_edge_p(), compute_alignments(), connect_better_edge_p(), connect_traces(), decide_copy_try_finally(), decide_one_param_reduction(), find_traces_1_round(), fold_builtin_fputs(), fold_builtin_stpcpy(), fold_builtin_strcpy(), gate_duplicate_computed_gotos(), gate_rtl_hoist(), mark_threaded_blocks(), optimize_bb_for_size_p(), optimize_edge_for_size_p(), optimize_function_for_speed_p(), optimize_insn_for_size_p(), relax_delay_slots(), tree_swap_operands_p(), and want_to_gcse_p().
bool optimize_function_for_speed_p | ( | struct function * | ) |
Referenced by analyze_all_variable_accesses(), assemble_start_function(), cheap_bb_rtx_cost_p(), decompose_multiword_subregs(), do_pre(), fold_builtin_cabs(), fold_truth_andor_1(), gate_call_cdce(), gate_handle_gcse2(), gate_handle_partition_blocks(), gate_rtl_pre(), gate_rtl_store_motion(), gimple_expand_builtin_pow(), gimple_expand_builtin_powi(), gimplify_init_constructor(), good_cloning_opportunity_p(), ipcp_cloning_candidate_p(), simplify_binary_operation_1(), and want_to_gcse_p().
bool pass_by_reference | ( | CUMULATIVE_ARGS * | ca, |
enum machine_mode | mode, | ||
tree | type, | ||
bool | named_arg | ||
) |
Return true if TYPE should be passed by invisible reference.
References first_field(), pack_cumulative_args(), and targetm.
Referenced by assign_parm_find_data_types(), emit_library_call_value_1(), initialize_argument_information(), prepare_call_arguments(), and std_gimplify_va_arg_expr().
void pop_cfun | ( | void | ) |
Pop cfun from the stack. Also set current_function_decl accordingly.
References cfun, cfun_stack, current_function_decl, function::decl, in_dummy_function, and set_cfun().
Referenced by analyze_function(), cgraph_add_new_function(), cgraph_create_edge_1(), cgraph_process_new_functions(), cgraph_redirect_edge_call_stmt_to_callee(), cgraph_set_call_stmt(), compute_inline_parameters(), convert_callers_for_node(), create_omp_child_function(), create_task_copyfn(), do_per_function(), do_per_function_toporder(), gcc::pass_manager::dump_passes(), estimated_stack_frame_size(), expand_dummy_function_end(), expand_omp_taskreg(), finalize_task_copyfn(), function_and_variable_visibility(), gimplify_function_tree(), inline_analyze_function(), ipa_analyze_node(), ipa_pta_execute(), ipa_tm_execute(), ipa_tm_scan_irr_function(), ipa_tm_transform_clone(), ipa_tm_transform_transaction(), ipa_write_optimization_summaries(), ipa_write_summaries(), lower_emutls_function_body(), lto_read_body(), modify_function(), move_block_to_fn(), move_sese_region_to_fn(), output_function(), record_vars_into(), release_function_body(), split_function(), tree_function_versioning(), and tree_profiling().
void push_cfun | ( | struct function * | new_cfun | ) |
bool reference_callee_copied | ( | CUMULATIVE_ARGS * | ca, |
enum machine_mode | mode, | ||
tree | type, | ||
bool | named_arg | ||
) |
Return true if TYPE, which is passed by reference, should be callee copied instead of caller copied.
References pack_cumulative_args(), and targetm.
Referenced by emit_library_call_value_1(), gimplify_parameters(), and initialize_argument_information().
void reorder_blocks | ( | void | ) |
Identify BLOCKs referenced by more than one NOTE_INSN_BLOCK_{BEG,END}, and create duplicate blocks.
Identify BLOCKs referenced by more than one NOTE_INSN_BLOCK_{BEG,END}, and create duplicate blocks.
??? Need an option to either create block fragments or to create abstract origin duplicates of a source block. It really depends on what optimization has been performed.
References blocks_nreverse_all(), clear_block_marks(), current_function_decl, get_insns(), and reorder_blocks_1().
Referenced by reemit_insn_block_notes().
bool requires_stack_frame_p | ( | rtx | insn, |
HARD_REG_SET | prologue_used, | ||
HARD_REG_SET | set_up_by_prologue | ||
) |
Return true if INSN requires the stack frame to be set up. PROLOGUE_USED contains the hard registers used in the function prologue. SET_UP_BY_PROLOGUE is the set of registers we expect the prologue to set up for the function.
References add_to_hard_reg_set(), can_throw_internal(), function::can_throw_non_call_exceptions, cfun, df_regs_ever_live_p(), and hard_reg_set_intersect_p().
Referenced by thread_prologue_and_epilogue_insns().
void set_cfun | ( | struct function * | new_cfun | ) |
cfun shouldn't be set directly; use one of these functions instead.
|
inline |
Set the loop tree of FN to LOOPS.
Referenced by init_lowered_empty_function(), input_cfg(), and move_sese_region_to_fn().
hashval_t types_used_by_vars_do_hash | ( | const void * | ) |
int types_used_by_vars_eq | ( | const void * | , |
const void * | |||
) |
void used_types_insert | ( | tree | ) |
struct function* cfun |
The function currently being compiled.
The currently compiled function.
Referenced by account_profile_record(), add_cfis_to_fde(), add_ehspec_entry(), add_loop(), add_stmt_operand(), add_stmt_to_eh_lp(), add_to_evolution_1(), add_ttypes_entry(), add_virtual_operand(), alloc_stack_frame_space(), alloc_use(), allocate_dynamic_stack_space(), allocate_struct_function(), analyze_all_variable_accesses(), analyze_memory_references(), ao_ref_from_mem(), apply_args_size(), arg_needs_copy_p(), assemble_start_function(), assign_filter_values(), assign_parm_find_data_types(), assign_parms(), assign_parms_augmented_arg_list(), avoid_folding_inline_builtin(), based_loc_descr(), bb_has_well_behaved_predecessors(), bb_to_key(), better_edge_p(), build_cgraph_edges(), build_duplicate_type(), build_scop_iteration_domain(), build_scop_scattering(), call_can_make_abnormal_goto(), canonicalize_induction_variables(), cgraph_build_static_cdtor_1(), cgraph_debug_gimple_stmt(), cgraph_mark_address_taken_node(), cgraph_rebuild_references(), cgraph_update_edges_for_call_stmt(), cheap_bb_rtx_cost_p(), check_all_va_list_escapes(), check_call(), check_data_deps(), check_stmt(), chrec_component_in_loop_num(), chrec_contains_symbols_defined_in_loop(), chrec_evaluate(), cleanup_all_empty_eh(), cleanup_dead_labels_eh(), clear_last_verified(), clear_pending_stack_adjust(), clear_special_calls(), compute_alignments(), compute_antic(), compute_cases_per_edge(), compute_defs_uses_and_gen(), compute_function_frequency(), compute_may_aliases(), compute_points_to_sets(), compute_uninit_opnds_pos(), compute_value_histograms(), connect_better_edge_p(), connect_traces(), consider_split(), construct_exit_block(), control_flow_insn_p(), convert_cfa_to_fb_loc_list(), copy_bb(), copy_cfg_body(), copy_edges_for_bb(), copy_loop_headers(), copy_loops(), copy_rename_partition_coalesce(), copy_ssa_name(), count_reg_usage(), create_loop_fn(), create_loop_tree_nodes(), create_new_def_for(), create_omp_child_function(), create_trace_edges(), cse_extended_basic_block(), cse_find_path(), current_function_has_exception_handlers(), current_function_name(), debug_loop_num(), decide_copy_try_finally(), decide_one_param_reduction(), declare_inline_vars(), decompose_multiword_subregs(), deletable_insn_p(), delete_tree_ssa(), delink_stmt_imm_use(), distribute_notes(), do_pre(), do_tablejump(), do_warn_aggressive_loop_optimizations(), dse_step0(), dump_alias_info(), dump_function_to_file(), dump_update_ssa(), dump_variable(), duplicate_eh_regions(), duplicate_loop(), duplicate_ssa_name(), dw2_build_landing_pads(), dw_loc_list(), dwarf2out_alloc_current_fde(), dwarf2out_begin_prologue(), dwarf2out_end_epilogue(), dwarf2out_frame_debug(), dwarf2out_frame_debug_expr(), dwarf2out_switch_text_section(), dwarf2out_vms_begin_epilogue(), dwarf2out_vms_end_prologue(), early_inliner(), eliminate_partially_redundant_loads(), emit_call_1(), emit_input_reload_insns(), emit_libcall_block_1(), emit_output_reload_insns(), estimate_function_body_sizes(), estimate_loops(), estimate_reg_pressure_cost(), evolution_function_is_invariant_rec_p(), execute_all_ipa_transforms(), execute_cleanup_eh(), execute_cleanup_eh_1(), execute_cse_reciprocals(), execute_cse_sincos(), execute_fixup_cfg(), execute_fold_all_builtins(), execute_fre(), execute_function_dump(), execute_function_todo(), execute_init_datastructures(), execute_ipa_pass_list(), execute_one_ipa_transform_pass(), execute_one_pass(), execute_optimize_bswap(), execute_optimize_stdarg(), execute_optimize_widening_mul(), execute_sink_code(), execute_todo(), execute_update_addresses_taken(), execute_warn_function_return(), expand_assignment(), expand_block_edges(), expand_builtin_apply(), expand_builtin_apply_args_1(), expand_builtin_eh_common(), expand_builtin_setjmp_setup(), expand_builtin_va_copy(), expand_call(), expand_call_inline(), expand_case(), expand_complex_div_wide(), expand_complex_libcall(), expand_complex_operations_1(), expand_dummy_function_end(), expand_function_end(), expand_function_start(), expand_gimple_stmt(), expand_omp_atomic_fetch_op(), expand_omp_atomic_load(), expand_omp_atomic_mutex(), expand_omp_atomic_pipeline(), expand_omp_atomic_store(), expand_omp_for(), expand_omp_for_init_counts(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_omp_simd(), expand_omp_taskreg(), expand_parallel_call(), expand_stack_alignment(), expand_thunk(), expand_used_vars(), extract_range_from_binary_expr_1(), final(), finalize_ssa_defs(), finalize_ssa_uses(), finalize_task_copyfn(), find_decls_types_in_node(), find_func_aliases(), find_func_aliases_for_builtin_call(), find_func_clobbers(), find_moveable_store(), find_rarely_executed_basic_blocks_and_crossing_edges(), find_tail_calls(), find_traces_1_round(), find_var_candidates(), fini_reassoc(), fini_ssa_operands(), fini_ssa_renamer(), fini_ssanames(), fix_loop_structure(), flow_loops_dump(), flow_loops_find(), fold_builtin_alloca_with_align(), fold_builtin_cabs(), fold_builtin_constant_p(), fold_builtin_fputs(), fold_builtin_stpcpy(), fold_builtin_strcpy(), fold_truth_andor_1(), for_each_eh_label(), force_gimple_operand_1(), forward_propagate_into(), free_histograms(), free_stmt_operands(), gate_call_cdce(), gate_cleanup_eh(), gate_convert_to_eh_region_ranges(), gate_duplicate_computed_gotos(), gate_expand_vector_operations_ssa(), gate_handle_gcse2(), gate_handle_loop2(), gate_handle_partition_blocks(), gate_lower_eh_dispatch(), gate_no_optimization(), gate_optimize_stdarg(), gate_rtl_cprop(), gate_rtl_hoist(), gate_rtl_pre(), gate_rtl_store_motion(), gate_tree_if_conversion(), gate_tree_vectorize(), gcse_after_reload_main(), gen_eh_landing_pad(), gen_eh_region(), gen_rtx_REG(), gen_tmp_stack_mem(), get_chrec_loop(), get_component_ssa_name(), get_eh_landing_pad_from_number(), get_eh_region_and_lp_from_rtx(), get_eh_region_from_lp_number(), get_eh_region_from_number(), get_loop_copy(), get_reaching_def(), get_repl_default_def_ssa_name(), gimple_add_tmp_var(), gimple_divmod_fixed_value_transform(), gimple_divmod_values_to_profile(), gimple_duplicate_bb(), gimple_duplicate_loop_to_header_edge(), gimple_duplicate_sese_tail(), gimple_expand_builtin_pow(), gimple_expand_builtin_powi(), gimple_expand_cfg(), gimple_ic_transform(), gimple_indirect_call_to_profile(), gimple_mod_pow2_value_transform(), gimple_mod_subtract_transform(), gimple_purge_dead_abnormal_call_edges(), gimple_regimplify_operands(), gimple_set_bb(), gimple_stringops_transform(), gimple_stringops_values_to_profile(), gimple_value_profile_transformations(), gimplify_and_update_call_from_tree(), gimplify_bind_expr(), gimplify_function_tree(), gimplify_init_constructor(), graphite_copy_stmts_from_block(), graphite_initialize(), graphite_transform_loops(), gsi_remove(), gsi_replace(), hide_evolution_in_other_loops_than_loop(), indirect_refs_may_alias_p(), init_eh_for_function(), init_empty_tree_cfg(), init_lowered_empty_function(), init_parameter_lattice_values(), init_ssa_renamer(), initialize_cfun(), initialize_inlined_parameters(), inline_transform(), input_bb(), input_cfg(), input_function(), input_ssa_names(), insert(), insn_could_throw_p(), insn_live_p(), instantiate_decls(), instrument_func_entry(), intra_create_variable_infos(), ipa_early_sra(), ipa_read_optimization_summaries_1(), ipa_read_summaries_1(), ipa_sra_preliminary_function_checks(), ipa_write_optimization_summaries_1(), ipa_write_summaries_2(), ipcp_transform_function(), ira(), ira_build(), ira_setup_eliminable_regset(), is_unused_scalar_param(), local_pure_const(), local_variable_can_escape(), lookup_stmt_eh_lp(), loop_optimizer_finalize(), loop_optimizer_init(), lower_eh_constructs(), lower_function_body(), lower_gimple_return(), lra(), lto_input_tree_1(), main_tree_if_conversion(), make_edges(), make_ssa_name(), make_temp_ssa_name(), mark_addressable(), mark_all_loops_for_removal(), mark_irreducible_loops(), mark_loop_exit_edges(), mark_loops_for_removal(), mark_reachable_handlers(), mark_stmt_if_obviously_necessary(), mark_threaded_blocks(), mark_transaction_restart_calls(), mark_virtual_operand_for_renaming(), maybe_clean_eh_stmt(), maybe_hot_edge_p(), maybe_output_constant_def_contents(), maybe_remove_unreachable_handlers(), more_one_region_p(), move_block_to_fn(), move_computations(), move_sese_region_to_fn(), move_ssa_defining_stmt_for_defs(), name_registered_for_update_p(), new_label_mapper(), new_omp_context(), nonnull_arg_p(), notice_special_calls(), notice_stack_pointer_modification(), optimize_bb_for_size_p(), optimize_edge_for_size_p(), optimize_inline_calls(), optimize_insn_for_size_p(), output_cfg(), output_function(), output_gimple_stmt(), output_one_function_exception_table(), output_used_types(), parallelize_loops(), parse_ssa_operands(), partition_hot_cold_basic_blocks(), pass_init_dump_file(), perform_intra_sra(), perform_tree_ssa_dce(), pop_cfun(), prepare_block_for_update(), prepare_cmp_insn(), prepare_function_start(), print_rtl_with_bb(), process_assert_insertions(), process_bb_lives(), process_bb_node_lives(), process_scc(), profile_function(), propagate_dereference_distances(), pt_solution_empty_p(), pt_solution_includes_1(), pt_solution_includes_global(), pt_solutions_intersect_1(), ptr_parm_has_direct_uses(), push_cfun(), push_struct_function(), push_to_next_round_p(), rdg_flag_loop_exits(), rebuild_cgraph_edges(), rebuild_regno_allocno_maps(), record_loop_exits(), record_stmt_eh_region(), record_vars_into(), reemit_insn_block_notes(), reg_save(), relax_delay_slots(), release_dead_ssa_names(), release_defs(), release_function_body(), release_ssa_name(), release_ssa_name_after_update_ssa(), reload(), reload_as_needed(), remap_decls(), remap_ssa_name(), remove_bb(), remove_eh_handler(), remove_eh_handler_splicer(), remove_eh_landing_pad(), remove_stmt_from_eh_lp(), remove_unnecessary_regions(), remove_unreachable_eh_regions(), remove_unreachable_handlers(), remove_unreachable_handlers_no_lp(), remove_unused_locals(), rename_ssa_copies(), renumber_gimple_stmt_uids(), renumber_gimple_stmt_uids_in_blocks(), replace_ref_with(), requires_stack_frame_p(), reset_evolution_in_loop(), rest_of_clean_state(), rest_of_handle_postreload(), rewrite_into_loop_closed_ssa(), rewrite_into_ssa(), rewrite_stmt(), rtl_doloop(), rtl_loop_done(), rtl_move_loop_invariants(), rtl_profile_for_bb(), rtl_unroll_and_peel_loops(), rtl_unswitch(), run_scc_vn(), scan_insn(), scev_const_prop(), secname_for_decl(), set_cfun(), setup_entered_from_non_parent_p(), setup_incoming_promotions(), setup_one_parameter(), simple_mem(), simplify_binary_operation_1(), sink_clobbers(), sjlj_assign_call_site_values(), sjlj_build_landing_pads(), sjlj_emit_dispatch_table(), sms_schedule(), split_bb_make_tm_edge(), split_bbs_on_noreturn_calls(), split_function(), sra_initialize(), sra_ipa_reset_debug_stmts(), ssa_operand_alloc(), stabilize_va_list_loc(), statement_sink_location(), stmt_could_throw_p(), stream_in_histogram_value(), stringop_block_profile(), substitute_and_fold(), suitable_for_tail_call_opt_p(), suitable_for_tail_opt_p(), swap_tree_operands(), tail_merge_optimize(), thread_prologue_and_epilogue_insns(), thread_through_all_blocks(), translate_clast_user(), tree_call_cdce(), tree_complete_unroll(), tree_complete_unroll_inner(), tree_could_throw_p(), tree_estimate_probability(), tree_estimate_probability_driver(), tree_function_versioning(), tree_if_conversion(), tree_loop_distribution(), tree_optimize_tail_calls_1(), tree_parallelize_loops(), tree_ssa_dominator_optimize(), tree_ssa_lim_initialize(), tree_ssa_loop_bounds(), tree_ssa_loop_im(), tree_ssa_loop_init(), tree_ssa_loop_ivcanon(), tree_ssa_loop_ivopts(), tree_ssa_loop_prefetch(), tree_ssa_loop_unswitch(), tree_swap_operands_p(), tree_vectorize(), unshare_all_rtl_again(), unsplit_all_eh(), update_alias_info_with_stack_vars(), update_call_from_tree(), update_complex_assignment(), update_modified_stmt(), update_modified_stmts(), update_nonlocal_goto_save_area(), update_parameter_components(), update_properties_after_pass(), update_ssa(), update_stmt_operands(), used_types_insert(), va_list_counter_bump(), va_list_counter_op(), va_list_ptr_write(), vect_is_simple_iv_evolution(), vectorize_loops(), verify_curr_properties(), verify_gimple_in_cfg(), verify_gimple_label(), verify_gimple_phi(), verify_gimple_return(), verify_histograms(), verify_live_on_entry(), verify_loop_closed_ssa(), verify_loop_structure(), verify_ssa(), verify_ssa_name(), vt_find_locations(), walk_to_nondebug_insn(), want_to_gcse_p(), and warn_uninit().
struct machine_function*(* init_machine_status)(void) |
A pointer to a function to create target specific, per-function data structures.
These variables hold pointers to functions to create and destroy target specific, per-function data structures.
Referenced by allocate_struct_function().
rtx* regno_reg_rtx |
Indexed by register number, gives an rtx for that register (and only that register). For pseudo registers, it is the unique rtx for that pseudo. For hard registers, it is an rtx of the mode specified by reg_raw_mode. FIXME: We could put it into emit_status struct, but gengtype is not able to deal with length attribute nested in top level structures.
Indexed by pseudo register number, gives the rtx for that pseudo. Allocated in parallel with regno_pointer_align. FIXME: We could put it into emit_status struct, but gengtype is not able to deal with length attribute nested in top level structures.
Referenced by allocno_reload_assign(), allocnos_conflict_by_live_ranges_p(), alter_reg(), assign_by_spills(), assign_mem_slot(), assign_parm_setup_reg(), canon_reg(), compute_defs_uses_and_gen(), cse_insn(), dead_debug_insert_temp(), decompose_multiword_subregs(), decompose_register(), df_bb_refs_collect(), df_entry_block_defs_collect(), df_exit_block_uses_collect(), df_get_call_refs(), df_insn_refs_collect(), df_ref_change_reg_with_loc_1(), df_ref_record(), df_set_dead_notes_for_mw(), df_set_unused_notes_for_mw(), distribute_notes(), do_input_reload(), dump_reg_info(), emit_reload_insns(), find_costs_and_classes(), find_split_point(), free_after_compilation(), gen_reg_rtx(), gen_rtx_REG(), inherit_reload_reg(), init_alias_analysis(), init_emit(), init_live_subregs(), init_virtual_regs(), ira_build_conflicts(), ira_emit(), lra_constraints(), lra_create_live_ranges(), lra_final_code_change(), move_deaths(), process_bb_lives(), reload(), remove_inheritance_pseudos(), replace_pseudos_in(), save_call_clobbered_regs(), setup_preferred_alternate_classes_for_new_pseudos(), setup_save_areas(), simplify_set(), split_reg(), substitute(), target_reinit(), try_combine(), undo_optional_reloads(), update_equiv_regs(), and use_regs().
int trampolines_created |
Nonzero if at least one trampoline has been created.
This is a generic routine suitable for use as TARGET_ASM_FILE_END which emits a special section directive used to indicate whether or not this object file needs an executable stack. This is primarily a GNU extension to ELF but could be used on other targets.
Referenced by expand_builtin_init_trampoline(), and file_end_indicate_exec_stack().
During parsing of a global variable, this vector contains the types referenced by the global variable.
Referenced by used_types_insert().
htab_t types_used_by_vars_hash |
Hash table making the relationship between a global variable and the types it references in its initializer. The key of the entry is a referenced type, and the value is the DECL of the global variable. types_use_by_vars_do_hash and types_used_by_vars_eq below are the hash and equality functions to use for this hash table.
Referenced by premark_types_used_by_global_vars(), and types_used_by_var_decl_insert().
int virtuals_instantiated |
Nonzero if we've already converted virtual regs to hard regs.
Nonzero once virtual register instantiation has been done. assign_stack_local uses frame_pointer_rtx when this is nonzero. calls.c:emit_library_call_value_1 uses it to set up post-instantiation libcalls.
Referenced by assign_stack_local_1(), assign_stack_temp_for_type(), emit_library_call_value_1(), instantiate_virtual_regs(), pop_function_context(), and prepare_function_start().
struct rtl_data x_rtl |
Datastructures maintained for currently processed function in RTL form.