| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
gcc/
Patch autogenerated by refactor_passes.py from
https://github.com/davidmalcolm/gcc-refactoring-scripts
revision 03fe39476a4c4ea450b49e087cfa817b5f92021e
* asan.c (pass_asan): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_asan): ...new pass_data instance and...
(make_pass_asan): ...new function.
(pass_asan_O0): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_asan_O0): ...new pass_data instance and...
(make_pass_asan_O0): ...new function.
* auto-inc-dec.c (pass_inc_dec): Convert from a global struct to a
subclass of rtl_opt_pass along with...
(pass_data_inc_dec): ...new pass_data instance and...
(make_pass_inc_dec): ...new function.
* bb-reorder.c (pass_reorder_blocks): Convert from a global struct to
a subclass of rtl_opt_pass along with...
(pass_data_reorder_blocks): ...new pass_data instance and...
(make_pass_reorder_blocks): ...new function.
(pass_duplicate_computed_gotos): Convert from a global struct to a
subclass of rtl_opt_pass along with...
(pass_data_duplicate_computed_gotos): ...new pass_data instance and...
(make_pass_duplicate_computed_gotos): ...new function.
(pass_partition_blocks): Convert from a global struct to a subclass of
rtl_opt_pass along with...
(pass_data_partition_blocks): ...new pass_data instance and...
(make_pass_partition_blocks): ...new function.
* bt-load.c (pass_branch_target_load_optimize1): Convert from a global
struct to a subclass of rtl_opt_pass along with...
(pass_data_branch_target_load_optimize1): ...new pass_data instance
and...
(make_pass_branch_target_load_optimize1): ...new function.
(pass_branch_target_load_optimize2): Convert from a global struct to a
subclass of rtl_opt_pass along with...
(pass_data_branch_target_load_optimize2): ...new pass_data instance
and...
(make_pass_branch_target_load_optimize2): ...new function.
* cfgcleanup.c (pass_jump): Convert from a global struct to a subclass
of rtl_opt_pass along with...
(pass_data_jump): ...new pass_data instance and...
(make_pass_jump): ...new function.
(pass_jump2): Convert from a global struct to a subclass of
rtl_opt_pass along with...
(pass_data_jump2): ...new pass_data instance and...
(make_pass_jump2): ...new function.
* cfgexpand.c (pass_expand): Convert from a global struct to a
subclass of rtl_opt_pass along with...
(pass_data_expand): ...new pass_data instance and...
(make_pass_expand): ...new function.
* cfgrtl.c (pass_free_cfg): Convert from a global struct to a subclass
of rtl_opt_pass along with...
(pass_data_free_cfg): ...new pass_data instance and...
(make_pass_free_cfg): ...new function.
(pass_into_cfg_layout_mode): Convert from a global struct to a
subclass of rtl_opt_pass along with...
(pass_data_into_cfg_layout_mode): ...new pass_data instance and...
(make_pass_into_cfg_layout_mode): ...new function.
(pass_outof_cfg_layout_mode): Convert from a global struct to a
subclass of rtl_opt_pass along with...
(pass_data_outof_cfg_layout_mode): ...new pass_data instance and...
(make_pass_outof_cfg_layout_mode): ...new function.
* cgraphbuild.c (pass_build_cgraph_edges): Convert from a global
struct to a subclass of gimple_opt_pass along with...
(pass_data_build_cgraph_edges): ...new pass_data instance and...
(make_pass_build_cgraph_edges): ...new function.
(pass_rebuild_cgraph_edges): Convert from a global struct to a
subclass of gimple_opt_pass along with...
(pass_data_rebuild_cgraph_edges): ...new pass_data instance and...
(make_pass_rebuild_cgraph_edges): ...new function.
(pass_remove_cgraph_callee_edges): Convert from a global struct to a
subclass of gimple_opt_pass along with...
(pass_data_remove_cgraph_callee_edges): ...new pass_data instance
and...
(make_pass_remove_cgraph_callee_edges): ...new function.
* combine-stack-adj.c (pass_stack_adjustments): Convert from a global
struct to a subclass of rtl_opt_pass along with...
(pass_data_stack_adjustments): ...new pass_data instance and...
(make_pass_stack_adjustments): ...new function.
* combine.c (pass_combine): Convert from a global struct to a subclass
of rtl_opt_pass along with...
(pass_data_combine): ...new pass_data instance and...
(make_pass_combine): ...new function.
* compare-elim.c (pass_compare_elim_after_reload): Convert from a
global struct to a subclass of rtl_opt_pass along with...
(pass_data_compare_elim_after_reload): ...new pass_data instance
and...
(make_pass_compare_elim_after_reload): ...new function.
* cprop.c (pass_rtl_cprop): Convert from a global struct to a subclass
of rtl_opt_pass along with...
(pass_data_rtl_cprop): ...new pass_data instance and...
(make_pass_rtl_cprop): ...new function.
* cse.c (pass_cse): Convert from a global struct to a subclass of
rtl_opt_pass along with...
(pass_data_cse): ...new pass_data instance and...
(make_pass_cse): ...new function.
(pass_cse2): Convert from a global struct to a subclass of
rtl_opt_pass along with...
(pass_data_cse2): ...new pass_data instance and...
(make_pass_cse2): ...new function.
(pass_cse_after_global_opts): Convert from a global struct to a
subclass of rtl_opt_pass along with...
(pass_data_cse_after_global_opts): ...new pass_data instance and...
(make_pass_cse_after_global_opts): ...new function.
* dce.c (pass_ud_rtl_dce): Convert from a global struct to a subclass
of rtl_opt_pass along with...
(pass_data_ud_rtl_dce): ...new pass_data instance and...
(make_pass_ud_rtl_dce): ...new function.
(pass_fast_rtl_dce): Convert from a global struct to a subclass of
rtl_opt_pass along with...
(pass_data_fast_rtl_dce): ...new pass_data instance and...
(make_pass_fast_rtl_dce): ...new function.
* df-core.c (pass_df_initialize_opt): Convert from a global struct to
a subclass of rtl_opt_pass along with...
(pass_data_df_initialize_opt): ...new pass_data instance and...
(make_pass_df_initialize_opt): ...new function.
(pass_df_initialize_no_opt): Convert from a global struct to a
subclass of rtl_opt_pass along with...
(pass_data_df_initialize_no_opt): ...new pass_data instance and...
(make_pass_df_initialize_no_opt): ...new function.
(pass_df_finish): Convert from a global struct to a subclass of
rtl_opt_pass along with...
(pass_data_df_finish): ...new pass_data instance and...
(make_pass_df_finish): ...new function.
* dse.c (pass_rtl_dse1): Convert from a global struct to a subclass of
rtl_opt_pass along with...
(pass_data_rtl_dse1): ...new pass_data instance and...
(make_pass_rtl_dse1): ...new function.
(pass_rtl_dse2): Convert from a global struct to a subclass of
rtl_opt_pass along with...
(pass_data_rtl_dse2): ...new pass_data instance and...
(make_pass_rtl_dse2): ...new function.
* dwarf2cfi.c (pass_dwarf2_frame): Convert from a global struct to a
subclass of rtl_opt_pass along with...
(pass_data_dwarf2_frame): ...new pass_data instance and...
(make_pass_dwarf2_frame): ...new function.
* except.c (pass_set_nothrow_function_flags): Convert from a global
struct to a subclass of rtl_opt_pass along with...
(pass_data_set_nothrow_function_flags): ...new pass_data instance
and...
(make_pass_set_nothrow_function_flags): ...new function.
(pass_convert_to_eh_region_ranges): Convert from a global struct to a
subclass of rtl_opt_pass along with...
(pass_data_convert_to_eh_region_ranges): ...new pass_data instance
and...
(make_pass_convert_to_eh_region_ranges): ...new function.
* final.c (pass_compute_alignments): Convert from a global struct to a
subclass of rtl_opt_pass along with...
(pass_data_compute_alignments): ...new pass_data instance and...
(make_pass_compute_alignments): ...new function.
(pass_final): Convert from a global struct to a subclass of
rtl_opt_pass along with...
(pass_data_final): ...new pass_data instance and...
(make_pass_final): ...new function.
(pass_shorten_branches): Convert from a global struct to a subclass of
rtl_opt_pass along with...
(pass_data_shorten_branches): ...new pass_data instance and...
(make_pass_shorten_branches): ...new function.
(pass_clean_state): Convert from a global struct to a subclass of
rtl_opt_pass along with...
(pass_data_clean_state): ...new pass_data instance and...
(make_pass_clean_state): ...new function.
* function.c (pass_instantiate_virtual_regs): Convert from a global
struct to a subclass of rtl_opt_pass along with...
(pass_data_instantiate_virtual_regs): ...new pass_data instance and...
(make_pass_instantiate_virtual_regs): ...new function.
(pass_leaf_regs): Convert from a global struct to a subclass of
rtl_opt_pass along with...
(pass_data_leaf_regs): ...new pass_data instance and...
(make_pass_leaf_regs): ...new function.
(pass_thread_prologue_and_epilogue): Convert from a global struct to a
subclass of rtl_opt_pass along with...
(pass_data_thread_prologue_and_epilogue): ...new pass_data instance
and...
(make_pass_thread_prologue_and_epilogue): ...new function.
(pass_match_asm_constraints): Convert from a global struct to a
subclass of rtl_opt_pass along with...
(pass_data_match_asm_constraints): ...new pass_data instance and...
(make_pass_match_asm_constraints): ...new function.
* fwprop.c (pass_rtl_fwprop): Convert from a global struct to a
subclass of rtl_opt_pass along with...
(pass_data_rtl_fwprop): ...new pass_data instance and...
(make_pass_rtl_fwprop): ...new function.
(pass_rtl_fwprop_addr): Convert from a global struct to a subclass of
rtl_opt_pass along with...
(pass_data_rtl_fwprop_addr): ...new pass_data instance and...
(make_pass_rtl_fwprop_addr): ...new function.
* gcse.c (pass_rtl_pre): Convert from a global struct to a subclass of
rtl_opt_pass along with...
(pass_data_rtl_pre): ...new pass_data instance and...
(make_pass_rtl_pre): ...new function.
(pass_rtl_hoist): Convert from a global struct to a subclass of
rtl_opt_pass along with...
(pass_data_rtl_hoist): ...new pass_data instance and...
(make_pass_rtl_hoist): ...new function.
* gimple-low.c (pass_lower_cf): Convert from a global struct to a
subclass of gimple_opt_pass along with...
(pass_data_lower_cf): ...new pass_data instance and...
(make_pass_lower_cf): ...new function.
* gimple-ssa-strength-reduction.c (pass_strength_reduction): Convert
from a global struct to a subclass of gimple_opt_pass along with...
(pass_data_strength_reduction): ...new pass_data instance and...
(make_pass_strength_reduction): ...new function.
* ifcvt.c (pass_rtl_ifcvt): Convert from a global struct to a subclass
of rtl_opt_pass along with...
(pass_data_rtl_ifcvt): ...new pass_data instance and...
(make_pass_rtl_ifcvt): ...new function.
(pass_if_after_combine): Convert from a global struct to a subclass of
rtl_opt_pass along with...
(pass_data_if_after_combine): ...new pass_data instance and...
(make_pass_if_after_combine): ...new function.
(pass_if_after_reload): Convert from a global struct to a subclass of
rtl_opt_pass along with...
(pass_data_if_after_reload): ...new pass_data instance and...
(make_pass_if_after_reload): ...new function.
* init-regs.c (pass_initialize_regs): Convert from a global struct to
a subclass of rtl_opt_pass along with...
(pass_data_initialize_regs): ...new pass_data instance and...
(make_pass_initialize_regs): ...new function.
* ipa-cp.c (pass_ipa_cp): Convert from a global struct to a subclass
of ipa_opt_pass_d along with...
(pass_data_ipa_cp): ...new pass_data instance and...
(make_pass_ipa_cp): ...new function.
* ipa-inline-analysis.c (pass_inline_parameters): Convert from a
global struct to a subclass of gimple_opt_pass along with...
(pass_data_inline_parameters): ...new pass_data instance and...
(make_pass_inline_parameters): ...new function.
* ipa-inline.c (pass_early_inline): Convert from a global struct to a
subclass of gimple_opt_pass along with...
(pass_data_early_inline): ...new pass_data instance and...
(make_pass_early_inline): ...new function.
(pass_ipa_inline): Convert from a global struct to a subclass of
ipa_opt_pass_d along with...
(pass_data_ipa_inline): ...new pass_data instance and...
(make_pass_ipa_inline): ...new function.
* ipa-pure-const.c (pass_local_pure_const): Convert from a global
struct to a subclass of gimple_opt_pass along with...
(pass_data_local_pure_const): ...new pass_data instance and...
(make_pass_local_pure_const): ...new function.
(pass_ipa_pure_const): Convert from a global struct to a subclass of
ipa_opt_pass_d along with...
(pass_data_ipa_pure_const): ...new pass_data instance and...
(make_pass_ipa_pure_const): ...new function.
* ipa-reference.c (pass_ipa_reference): Convert from a global struct
to a subclass of ipa_opt_pass_d along with...
(pass_data_ipa_reference): ...new pass_data instance and...
(make_pass_ipa_reference): ...new function.
* ipa-split.c (pass_split_functions): Convert from a global struct to
a subclass of gimple_opt_pass along with...
(pass_data_split_functions): ...new pass_data instance and...
(make_pass_split_functions): ...new function.
(pass_feedback_split_functions): Convert from a global struct to a
subclass of gimple_opt_pass along with...
(pass_data_feedback_split_functions): ...new pass_data instance and...
(make_pass_feedback_split_functions): ...new function.
* ipa.c (pass_ipa_function_and_variable_visibility): Convert from a
global struct to a subclass of simple_ipa_opt_pass along with...
(pass_data_ipa_function_and_variable_visibility): ...new pass_data
instance and...
(make_pass_ipa_function_and_variable_visibility): ...new function.
(pass_ipa_free_inline_summary): Convert from a global struct to a
subclass of simple_ipa_opt_pass along with...
(pass_data_ipa_free_inline_summary): ...new pass_data instance and...
(make_pass_ipa_free_inline_summary): ...new function.
(pass_ipa_whole_program_visibility): Convert from a global struct to a
subclass of ipa_opt_pass_d along with...
(pass_data_ipa_whole_program_visibility): ...new pass_data instance
and...
(make_pass_ipa_whole_program_visibility): ...new function.
(pass_ipa_profile): Convert from a global struct to a subclass of
ipa_opt_pass_d along with...
(pass_data_ipa_profile): ...new pass_data instance and...
(make_pass_ipa_profile): ...new function.
(pass_ipa_cdtor_merge): Convert from a global struct to a subclass of
ipa_opt_pass_d along with...
(pass_data_ipa_cdtor_merge): ...new pass_data instance and...
(make_pass_ipa_cdtor_merge): ...new function.
* ira.c (pass_ira): Convert from a global struct to a subclass of
rtl_opt_pass along with...
(pass_data_ira): ...new pass_data instance and...
(make_pass_ira): ...new function.
(pass_reload): Convert from a global struct to a subclass of
rtl_opt_pass along with...
(pass_data_reload): ...new pass_data instance and...
(make_pass_reload): ...new function.
* jump.c (pass_cleanup_barriers): Convert from a global struct to a
subclass of rtl_opt_pass along with...
(pass_data_cleanup_barriers): ...new pass_data instance and...
(make_pass_cleanup_barriers): ...new function.
* loop-init.c (pass_loop2): Convert from a global struct to a subclass
of rtl_opt_pass along with...
(pass_data_loop2): ...new pass_data instance and...
(make_pass_loop2): ...new function.
(pass_rtl_loop_init): Convert from a global struct to a subclass of
rtl_opt_pass along with...
(pass_data_rtl_loop_init): ...new pass_data instance and...
(make_pass_rtl_loop_init): ...new function.
(pass_rtl_loop_done): Convert from a global struct to a subclass of
rtl_opt_pass along with...
(pass_data_rtl_loop_done): ...new pass_data instance and...
(make_pass_rtl_loop_done): ...new function.
(pass_rtl_move_loop_invariants): Convert from a global struct to a
subclass of rtl_opt_pass along with...
(pass_data_rtl_move_loop_invariants): ...new pass_data instance and...
(make_pass_rtl_move_loop_invariants): ...new function.
(pass_rtl_unswitch): Convert from a global struct to a subclass of
rtl_opt_pass along with...
(pass_data_rtl_unswitch): ...new pass_data instance and...
(make_pass_rtl_unswitch): ...new function.
(pass_rtl_unroll_and_peel_loops): Convert from a global struct to a
subclass of rtl_opt_pass along with...
(pass_data_rtl_unroll_and_peel_loops): ...new pass_data instance
and...
(make_pass_rtl_unroll_and_peel_loops): ...new function.
(pass_rtl_doloop): Convert from a global struct to a subclass of
rtl_opt_pass along with...
(pass_data_rtl_doloop): ...new pass_data instance and...
(make_pass_rtl_doloop): ...new function.
* lower-subreg.c (pass_lower_subreg): Convert from a global struct to
a subclass of rtl_opt_pass along with...
(pass_data_lower_subreg): ...new pass_data instance and...
(make_pass_lower_subreg): ...new function.
(pass_lower_subreg2): Convert from a global struct to a subclass of
rtl_opt_pass along with...
(pass_data_lower_subreg2): ...new pass_data instance and...
(make_pass_lower_subreg2): ...new function.
* lto-streamer-out.c (pass_ipa_lto_gimple_out): Convert from a global
struct to a subclass of ipa_opt_pass_d along with...
(pass_data_ipa_lto_gimple_out): ...new pass_data instance and...
(make_pass_ipa_lto_gimple_out): ...new function.
(pass_ipa_lto_finish_out): Convert from a global struct to a subclass
of ipa_opt_pass_d along with...
(pass_data_ipa_lto_finish_out): ...new pass_data instance and...
(make_pass_ipa_lto_finish_out): ...new function.
* mode-switching.c (pass_mode_switching): Convert from a global struct
to a subclass of rtl_opt_pass along with...
(pass_data_mode_switching): ...new pass_data instance and...
(make_pass_mode_switching): ...new function.
* modulo-sched.c (pass_sms): Convert from a global struct to a
subclass of rtl_opt_pass along with...
(pass_data_sms): ...new pass_data instance and...
(make_pass_sms): ...new function.
* omp-low.c (pass_expand_omp): Convert from a global struct to a
subclass of gimple_opt_pass along with...
(pass_data_expand_omp): ...new pass_data instance and...
(make_pass_expand_omp): ...new function.
(pass_lower_omp): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_lower_omp): ...new pass_data instance and...
(make_pass_lower_omp): ...new function.
(pass_diagnose_omp_blocks): Convert from a global struct to a subclass
of gimple_opt_pass along with...
(pass_data_diagnose_omp_blocks): ...new pass_data instance and...
(make_pass_diagnose_omp_blocks): ...new function.
* passes.c (pass_early_local_passes): Convert from a global struct to
a subclass of simple_ipa_opt_pass along with...
(pass_data_early_local_passes): ...new pass_data instance and...
(make_pass_early_local_passes): ...new function.
(pass_all_early_optimizations): Convert from a global struct to a
subclass of gimple_opt_pass along with...
(pass_data_all_early_optimizations): ...new pass_data instance and...
(make_pass_all_early_optimizations): ...new function.
(pass_all_optimizations): Convert from a global struct to a subclass
of gimple_opt_pass along with...
(pass_data_all_optimizations): ...new pass_data instance and...
(make_pass_all_optimizations): ...new function.
(pass_all_optimizations_g): Convert from a global struct to a subclass
of gimple_opt_pass along with...
(pass_data_all_optimizations_g): ...new pass_data instance and...
(make_pass_all_optimizations_g): ...new function.
(pass_rest_of_compilation): Convert from a global struct to a subclass
of rtl_opt_pass along with...
(pass_data_rest_of_compilation): ...new pass_data instance and...
(make_pass_rest_of_compilation): ...new function.
(pass_postreload): Convert from a global struct to a subclass of
rtl_opt_pass along with...
(pass_data_postreload): ...new pass_data instance and...
(make_pass_postreload): ...new function.
* postreload-gcse.c (pass_gcse2): Convert from a global struct to a
subclass of rtl_opt_pass along with...
(pass_data_gcse2): ...new pass_data instance and...
(make_pass_gcse2): ...new function.
* postreload.c (pass_postreload_cse): Convert from a global struct to
a subclass of rtl_opt_pass along with...
(pass_data_postreload_cse): ...new pass_data instance and...
(make_pass_postreload_cse): ...new function.
* predict.c (pass_profile): Convert from a global struct to a subclass
of gimple_opt_pass along with...
(pass_data_profile): ...new pass_data instance and...
(make_pass_profile): ...new function.
(pass_strip_predict_hints): Convert from a global struct to a subclass
of gimple_opt_pass along with...
(pass_data_strip_predict_hints): ...new pass_data instance and...
(make_pass_strip_predict_hints): ...new function.
* recog.c (pass_peephole2): Convert from a global struct to a subclass
of rtl_opt_pass along with...
(pass_data_peephole2): ...new pass_data instance and...
(make_pass_peephole2): ...new function.
(pass_split_all_insns): Convert from a global struct to a subclass of
rtl_opt_pass along with...
(pass_data_split_all_insns): ...new pass_data instance and...
(make_pass_split_all_insns): ...new function.
(pass_split_after_reload): Convert from a global struct to a subclass
of rtl_opt_pass along with...
(pass_data_split_after_reload): ...new pass_data instance and...
(make_pass_split_after_reload): ...new function.
(pass_split_before_regstack): Convert from a global struct to a
subclass of rtl_opt_pass along with...
(pass_data_split_before_regstack): ...new pass_data instance and...
(make_pass_split_before_regstack): ...new function.
(pass_split_before_sched2): Convert from a global struct to a subclass
of rtl_opt_pass along with...
(pass_data_split_before_sched2): ...new pass_data instance and...
(make_pass_split_before_sched2): ...new function.
(pass_split_for_shorten_branches): Convert from a global struct to a
subclass of rtl_opt_pass along with...
(pass_data_split_for_shorten_branches): ...new pass_data instance
and...
(make_pass_split_for_shorten_branches): ...new function.
* ree.c (pass_ree): Convert from a global struct to a subclass of
rtl_opt_pass along with...
(pass_data_ree): ...new pass_data instance and...
(make_pass_ree): ...new function.
* reg-stack.c (pass_stack_regs): Convert from a global struct to a
subclass of rtl_opt_pass along with...
(pass_data_stack_regs): ...new pass_data instance and...
(make_pass_stack_regs): ...new function.
(pass_stack_regs_run): Convert from a global struct to a subclass of
rtl_opt_pass along with...
(pass_data_stack_regs_run): ...new pass_data instance and...
(make_pass_stack_regs_run): ...new function.
* regcprop.c (pass_cprop_hardreg): Convert from a global struct to a
subclass of rtl_opt_pass along with...
(pass_data_cprop_hardreg): ...new pass_data instance and...
(make_pass_cprop_hardreg): ...new function.
* reginfo.c (pass_reginfo_init): Convert from a global struct to a
subclass of rtl_opt_pass along with...
(pass_data_reginfo_init): ...new pass_data instance and...
(make_pass_reginfo_init): ...new function.
* regmove.c (pass_regmove): Convert from a global struct to a subclass
of rtl_opt_pass along with...
(pass_data_regmove): ...new pass_data instance and...
(make_pass_regmove): ...new function.
* regrename.c (pass_regrename): Convert from a global struct to a
subclass of rtl_opt_pass along with...
(pass_data_regrename): ...new pass_data instance and...
(make_pass_regrename): ...new function.
* reorg.c (pass_delay_slots): Convert from a global struct to a
subclass of rtl_opt_pass along with...
(pass_data_delay_slots): ...new pass_data instance and...
(make_pass_delay_slots): ...new function.
(pass_machine_reorg): Convert from a global struct to a subclass of
rtl_opt_pass along with...
(pass_data_machine_reorg): ...new pass_data instance and...
(make_pass_machine_reorg): ...new function.
* sched-rgn.c (pass_sched): Convert from a global struct to a subclass
of rtl_opt_pass along with...
(pass_data_sched): ...new pass_data instance and...
(make_pass_sched): ...new function.
(pass_sched2): Convert from a global struct to a subclass of
rtl_opt_pass along with...
(pass_data_sched2): ...new pass_data instance and...
(make_pass_sched2): ...new function.
* stack-ptr-mod.c (pass_stack_ptr_mod): Convert from a global struct
to a subclass of rtl_opt_pass along with...
(pass_data_stack_ptr_mod): ...new pass_data instance and...
(make_pass_stack_ptr_mod): ...new function.
* store-motion.c (pass_rtl_store_motion): Convert from a global struct
to a subclass of rtl_opt_pass along with...
(pass_data_rtl_store_motion): ...new pass_data instance and...
(make_pass_rtl_store_motion): ...new function.
* tracer.c (pass_tracer): Convert from a global struct to a subclass
of gimple_opt_pass along with...
(pass_data_tracer): ...new pass_data instance and...
(make_pass_tracer): ...new function.
* trans-mem.c (pass_diagnose_tm_blocks): Convert from a global struct
to a subclass of gimple_opt_pass along with...
(pass_data_diagnose_tm_blocks): ...new pass_data instance and...
(make_pass_diagnose_tm_blocks): ...new function.
(pass_lower_tm): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_lower_tm): ...new pass_data instance and...
(make_pass_lower_tm): ...new function.
(pass_tm_init): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_tm_init): ...new pass_data instance and...
(make_pass_tm_init): ...new function.
(pass_tm_mark): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_tm_mark): ...new pass_data instance and...
(make_pass_tm_mark): ...new function.
(pass_tm_edges): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_tm_edges): ...new pass_data instance and...
(make_pass_tm_edges): ...new function.
(pass_tm_memopt): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_tm_memopt): ...new pass_data instance and...
(make_pass_tm_memopt): ...new function.
(pass_ipa_tm): Convert from a global struct to a subclass of
simple_ipa_opt_pass along with...
(pass_data_ipa_tm): ...new pass_data instance and...
(make_pass_ipa_tm): ...new function.
* tree-call-cdce.c (pass_call_cdce): Convert from a global struct to a
subclass of gimple_opt_pass along with...
(pass_data_call_cdce): ...new pass_data instance and...
(make_pass_call_cdce): ...new function.
* tree-cfg.c (pass_build_cfg): Convert from a global struct to a
subclass of gimple_opt_pass along with...
(pass_data_build_cfg): ...new pass_data instance and...
(make_pass_build_cfg): ...new function.
(pass_split_crit_edges): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_split_crit_edges): ...new pass_data instance and...
(make_pass_split_crit_edges): ...new function.
(pass_warn_function_return): Convert from a global struct to a
subclass of gimple_opt_pass along with...
(pass_data_warn_function_return): ...new pass_data instance and...
(make_pass_warn_function_return): ...new function.
(pass_warn_function_noreturn): Convert from a global struct to a
subclass of gimple_opt_pass along with...
(pass_data_warn_function_noreturn): ...new pass_data instance and...
(make_pass_warn_function_noreturn): ...new function.
(pass_warn_unused_result): Convert from a global struct to a subclass
of gimple_opt_pass along with...
(pass_data_warn_unused_result): ...new pass_data instance and...
(make_pass_warn_unused_result): ...new function.
* tree-cfgcleanup.c (pass_merge_phi): Convert from a global struct to
a subclass of gimple_opt_pass along with...
(pass_data_merge_phi): ...new pass_data instance and...
(make_pass_merge_phi): ...new function.
* tree-complex.c (pass_lower_complex): Convert from a global struct to
a subclass of gimple_opt_pass along with...
(pass_data_lower_complex): ...new pass_data instance and...
(make_pass_lower_complex): ...new function.
(pass_lower_complex_O0): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_lower_complex_O0): ...new pass_data instance and...
(make_pass_lower_complex_O0): ...new function.
* tree-eh.c (pass_lower_eh): Convert from a global struct to a
subclass of gimple_opt_pass along with...
(pass_data_lower_eh): ...new pass_data instance and...
(make_pass_lower_eh): ...new function.
(pass_refactor_eh): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_refactor_eh): ...new pass_data instance and...
(make_pass_refactor_eh): ...new function.
(pass_lower_resx): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_lower_resx): ...new pass_data instance and...
(make_pass_lower_resx): ...new function.
(pass_lower_eh_dispatch): Convert from a global struct to a subclass
of gimple_opt_pass along with...
(pass_data_lower_eh_dispatch): ...new pass_data instance and...
(make_pass_lower_eh_dispatch): ...new function.
(pass_cleanup_eh): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_cleanup_eh): ...new pass_data instance and...
(make_pass_cleanup_eh): ...new function.
* tree-emutls.c (pass_ipa_lower_emutls): Convert from a global struct
to a subclass of simple_ipa_opt_pass along with...
(pass_data_ipa_lower_emutls): ...new pass_data instance and...
(make_pass_ipa_lower_emutls): ...new function.
* tree-if-conv.c (pass_if_conversion): Convert from a global struct to
a subclass of gimple_opt_pass along with...
(pass_data_if_conversion): ...new pass_data instance and...
(make_pass_if_conversion): ...new function.
* tree-into-ssa.c (pass_build_ssa): Convert from a global struct to a
subclass of gimple_opt_pass along with...
(pass_data_build_ssa): ...new pass_data instance and...
(make_pass_build_ssa): ...new function.
* tree-loop-distribution.c (pass_loop_distribution): Convert from a
global struct to a subclass of gimple_opt_pass along with...
(pass_data_loop_distribution): ...new pass_data instance and...
(make_pass_loop_distribution): ...new function.
* tree-mudflap.c (pass_mudflap_1): Convert from a global struct to a
subclass of gimple_opt_pass along with...
(pass_data_mudflap_1): ...new pass_data instance and...
(make_pass_mudflap_1): ...new function.
(pass_mudflap_2): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_mudflap_2): ...new pass_data instance and...
(make_pass_mudflap_2): ...new function.
* tree-nomudflap.c (pass_mudflap_1): Convert from a global struct to a
subclass of gimple_opt_pass along with...
(pass_data_mudflap_1): ...new pass_data instance and...
(make_pass_mudflap_1): ...new function.
(pass_mudflap_2): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_mudflap_2): ...new pass_data instance and...
(make_pass_mudflap_2): ...new function.
* tree-nrv.c (pass_nrv): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_nrv): ...new pass_data instance and...
(make_pass_nrv): ...new function.
(pass_return_slot): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_return_slot): ...new pass_data instance and...
(make_pass_return_slot): ...new function.
* tree-object-size.c (pass_object_sizes): Convert from a global struct
to a subclass of gimple_opt_pass along with...
(pass_data_object_sizes): ...new pass_data instance and...
(make_pass_object_sizes): ...new function.
* tree-optimize.c (pass_cleanup_cfg_post_optimizing): Convert from a
global struct to a subclass of gimple_opt_pass along with...
(pass_data_cleanup_cfg_post_optimizing): ...new pass_data instance
and...
(make_pass_cleanup_cfg_post_optimizing): ...new function.
(pass_fixup_cfg): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_fixup_cfg): ...new pass_data instance and...
(make_pass_fixup_cfg): ...new function.
* tree-pass.h (pass_mudflap_1): Replace declaration with that of...
(make_pass_mudflap_1): ...new function.
(pass_mudflap_2): Replace declaration with that of...
(make_pass_mudflap_2): ...new function.
(pass_asan): Replace declaration with that of...
(make_pass_asan): ...new function.
(pass_asan_O0): Replace declaration with that of...
(make_pass_asan_O0): ...new function.
(pass_tsan): Replace declaration with that of...
(make_pass_tsan): ...new function.
(pass_tsan_O0): Replace declaration with that of...
(make_pass_tsan_O0): ...new function.
(pass_lower_cf): Replace declaration with that of...
(make_pass_lower_cf): ...new function.
(pass_refactor_eh): Replace declaration with that of...
(make_pass_refactor_eh): ...new function.
(pass_lower_eh): Replace declaration with that of...
(make_pass_lower_eh): ...new function.
(pass_lower_eh_dispatch): Replace declaration with that of...
(make_pass_lower_eh_dispatch): ...new function.
(pass_lower_resx): Replace declaration with that of...
(make_pass_lower_resx): ...new function.
(pass_build_cfg): Replace declaration with that of...
(make_pass_build_cfg): ...new function.
(pass_early_tree_profile): Replace declaration with that of...
(make_pass_early_tree_profile): ...new function.
(pass_cleanup_eh): Replace declaration with that of...
(make_pass_cleanup_eh): ...new function.
(pass_sra): Replace declaration with that of...
(make_pass_sra): ...new function.
(pass_sra_early): Replace declaration with that of...
(make_pass_sra_early): ...new function.
(pass_early_ipa_sra): Replace declaration with that of...
(make_pass_early_ipa_sra): ...new function.
(pass_tail_recursion): Replace declaration with that of...
(make_pass_tail_recursion): ...new function.
(pass_tail_calls): Replace declaration with that of...
(make_pass_tail_calls): ...new function.
(pass_tree_loop): Replace declaration with that of...
(make_pass_tree_loop): ...new function.
(pass_tree_loop_init): Replace declaration with that of...
(make_pass_tree_loop_init): ...new function.
(pass_lim): Replace declaration with that of...
(make_pass_lim): ...new function.
(pass_tree_unswitch): Replace declaration with that of...
(make_pass_tree_unswitch): ...new function.
(pass_predcom): Replace declaration with that of...
(make_pass_predcom): ...new function.
(pass_iv_canon): Replace declaration with that of...
(make_pass_iv_canon): ...new function.
(pass_scev_cprop): Replace declaration with that of...
(make_pass_scev_cprop): ...new function.
(pass_empty_loop): Replace declaration with that of...
(make_pass_empty_loop): ...new function.
(pass_record_bounds): Replace declaration with that of...
(make_pass_record_bounds): ...new function.
(pass_graphite): Replace declaration with that of...
(make_pass_graphite): ...new function.
(pass_graphite_transforms): Replace declaration with that of...
(make_pass_graphite_transforms): ...new function.
(pass_if_conversion): Replace declaration with that of...
(make_pass_if_conversion): ...new function.
(pass_loop_distribution): Replace declaration with that of...
(make_pass_loop_distribution): ...new function.
(pass_vectorize): Replace declaration with that of...
(make_pass_vectorize): ...new function.
(pass_slp_vectorize): Replace declaration with that of...
(make_pass_slp_vectorize): ...new function.
(pass_complete_unroll): Replace declaration with that of...
(make_pass_complete_unroll): ...new function.
(pass_complete_unrolli): Replace declaration with that of...
(make_pass_complete_unrolli): ...new function.
(pass_parallelize_loops): Replace declaration with that of...
(make_pass_parallelize_loops): ...new function.
(pass_loop_prefetch): Replace declaration with that of...
(make_pass_loop_prefetch): ...new function.
(pass_iv_optimize): Replace declaration with that of...
(make_pass_iv_optimize): ...new function.
(pass_tree_loop_done): Replace declaration with that of...
(make_pass_tree_loop_done): ...new function.
(pass_ch): Replace declaration with that of...
(make_pass_ch): ...new function.
(pass_ccp): Replace declaration with that of...
(make_pass_ccp): ...new function.
(pass_phi_only_cprop): Replace declaration with that of...
(make_pass_phi_only_cprop): ...new function.
(pass_build_ssa): Replace declaration with that of...
(make_pass_build_ssa): ...new function.
(pass_build_alias): Replace declaration with that of...
(make_pass_build_alias): ...new function.
(pass_build_ealias): Replace declaration with that of...
(make_pass_build_ealias): ...new function.
(pass_dominator): Replace declaration with that of...
(make_pass_dominator): ...new function.
(pass_dce): Replace declaration with that of...
(make_pass_dce): ...new function.
(pass_dce_loop): Replace declaration with that of...
(make_pass_dce_loop): ...new function.
(pass_cd_dce): Replace declaration with that of...
(make_pass_cd_dce): ...new function.
(pass_call_cdce): Replace declaration with that of...
(make_pass_call_cdce): ...new function.
(pass_merge_phi): Replace declaration with that of...
(make_pass_merge_phi): ...new function.
(pass_split_crit_edges): Replace declaration with that of...
(make_pass_split_crit_edges): ...new function.
(pass_pre): Replace declaration with that of...
(make_pass_pre): ...new function.
(pass_profile): Replace declaration with that of...
(make_pass_profile): ...new function.
(pass_strip_predict_hints): Replace declaration with that of...
(make_pass_strip_predict_hints): ...new function.
(pass_lower_complex_O0): Replace declaration with that of...
(make_pass_lower_complex_O0): ...new function.
(pass_lower_complex): Replace declaration with that of...
(make_pass_lower_complex): ...new function.
(pass_lower_vector): Replace declaration with that of...
(make_pass_lower_vector): ...new function.
(pass_lower_vector_ssa): Replace declaration with that of...
(make_pass_lower_vector_ssa): ...new function.
(pass_lower_omp): Replace declaration with that of...
(make_pass_lower_omp): ...new function.
(pass_diagnose_omp_blocks): Replace declaration with that of...
(make_pass_diagnose_omp_blocks): ...new function.
(pass_expand_omp): Replace declaration with that of...
(make_pass_expand_omp): ...new function.
(pass_expand_omp_ssa): Replace declaration with that of...
(make_pass_expand_omp_ssa): ...new function.
(pass_object_sizes): Replace declaration with that of...
(make_pass_object_sizes): ...new function.
(pass_strlen): Replace declaration with that of...
(make_pass_strlen): ...new function.
(pass_fold_builtins): Replace declaration with that of...
(make_pass_fold_builtins): ...new function.
(pass_stdarg): Replace declaration with that of...
(make_pass_stdarg): ...new function.
(pass_early_warn_uninitialized): Replace declaration with that of...
(make_pass_early_warn_uninitialized): ...new function.
(pass_late_warn_uninitialized): Replace declaration with that of...
(make_pass_late_warn_uninitialized): ...new function.
(pass_cse_reciprocals): Replace declaration with that of...
(make_pass_cse_reciprocals): ...new function.
(pass_cse_sincos): Replace declaration with that of...
(make_pass_cse_sincos): ...new function.
(pass_optimize_bswap): Replace declaration with that of...
(make_pass_optimize_bswap): ...new function.
(pass_optimize_widening_mul): Replace declaration with that of...
(make_pass_optimize_widening_mul): ...new function.
(pass_warn_function_return): Replace declaration with that of...
(make_pass_warn_function_return): ...new function.
(pass_warn_function_noreturn): Replace declaration with that of...
(make_pass_warn_function_noreturn): ...new function.
(pass_cselim): Replace declaration with that of...
(make_pass_cselim): ...new function.
(pass_phiopt): Replace declaration with that of...
(make_pass_phiopt): ...new function.
(pass_forwprop): Replace declaration with that of...
(make_pass_forwprop): ...new function.
(pass_phiprop): Replace declaration with that of...
(make_pass_phiprop): ...new function.
(pass_tree_ifcombine): Replace declaration with that of...
(make_pass_tree_ifcombine): ...new function.
(pass_dse): Replace declaration with that of...
(make_pass_dse): ...new function.
(pass_nrv): Replace declaration with that of...
(make_pass_nrv): ...new function.
(pass_rename_ssa_copies): Replace declaration with that of...
(make_pass_rename_ssa_copies): ...new function.
(pass_sink_code): Replace declaration with that of...
(make_pass_sink_code): ...new function.
(pass_fre): Replace declaration with that of...
(make_pass_fre): ...new function.
(pass_check_data_deps): Replace declaration with that of...
(make_pass_check_data_deps): ...new function.
(pass_copy_prop): Replace declaration with that of...
(make_pass_copy_prop): ...new function.
(pass_vrp): Replace declaration with that of...
(make_pass_vrp): ...new function.
(pass_uncprop): Replace declaration with that of...
(make_pass_uncprop): ...new function.
(pass_return_slot): Replace declaration with that of...
(make_pass_return_slot): ...new function.
(pass_reassoc): Replace declaration with that of...
(make_pass_reassoc): ...new function.
(pass_rebuild_cgraph_edges): Replace declaration with that of...
(make_pass_rebuild_cgraph_edges): ...new function.
(pass_remove_cgraph_callee_edges): Replace declaration with that of...
(make_pass_remove_cgraph_callee_edges): ...new function.
(pass_build_cgraph_edges): Replace declaration with that of...
(make_pass_build_cgraph_edges): ...new function.
(pass_local_pure_const): Replace declaration with that of...
(make_pass_local_pure_const): ...new function.
(pass_tracer): Replace declaration with that of...
(make_pass_tracer): ...new function.
(pass_warn_unused_result): Replace declaration with that of...
(make_pass_warn_unused_result): ...new function.
(pass_diagnose_tm_blocks): Replace declaration with that of...
(make_pass_diagnose_tm_blocks): ...new function.
(pass_lower_tm): Replace declaration with that of...
(make_pass_lower_tm): ...new function.
(pass_tm_init): Replace declaration with that of...
(make_pass_tm_init): ...new function.
(pass_tm_mark): Replace declaration with that of...
(make_pass_tm_mark): ...new function.
(pass_tm_memopt): Replace declaration with that of...
(make_pass_tm_memopt): ...new function.
(pass_tm_edges): Replace declaration with that of...
(make_pass_tm_edges): ...new function.
(pass_split_functions): Replace declaration with that of...
(make_pass_split_functions): ...new function.
(pass_feedback_split_functions): Replace declaration with that of...
(make_pass_feedback_split_functions): ...new function.
(pass_strength_reduction): Replace declaration with that of...
(make_pass_strength_reduction): ...new function.
(pass_ipa_lower_emutls): Replace declaration with that of...
(make_pass_ipa_lower_emutls): ...new function.
(pass_ipa_function_and_variable_visibility): Replace declaration with
that of...
(make_pass_ipa_function_and_variable_visibility): ...new function.
(pass_ipa_tree_profile): Replace declaration with that of...
(make_pass_ipa_tree_profile): ...new function.
(pass_early_local_passes): Replace declaration with that of...
(make_pass_early_local_passes): ...new function.
(pass_ipa_whole_program_visibility): Replace declaration with that
of...
(make_pass_ipa_whole_program_visibility): ...new function.
(pass_ipa_lto_gimple_out): Replace declaration with that of...
(make_pass_ipa_lto_gimple_out): ...new function.
(pass_ipa_increase_alignment): Replace declaration with that of...
(make_pass_ipa_increase_alignment): ...new function.
(pass_ipa_inline): Replace declaration with that of...
(make_pass_ipa_inline): ...new function.
(pass_ipa_free_lang_data): Replace declaration with that of...
(make_pass_ipa_free_lang_data): ...new function.
(pass_ipa_free_inline_summary): Replace declaration with that of...
(make_pass_ipa_free_inline_summary): ...new function.
(pass_ipa_cp): Replace declaration with that of...
(make_pass_ipa_cp): ...new function.
(pass_ipa_reference): Replace declaration with that of...
(make_pass_ipa_reference): ...new function.
(pass_ipa_pure_const): Replace declaration with that of...
(make_pass_ipa_pure_const): ...new function.
(pass_ipa_pta): Replace declaration with that of...
(make_pass_ipa_pta): ...new function.
(pass_ipa_lto_finish_out): Replace declaration with that of...
(make_pass_ipa_lto_finish_out): ...new function.
(pass_ipa_tm): Replace declaration with that of...
(make_pass_ipa_tm): ...new function.
(pass_ipa_profile): Replace declaration with that of...
(make_pass_ipa_profile): ...new function.
(pass_ipa_cdtor_merge): Replace declaration with that of...
(make_pass_ipa_cdtor_merge): ...new function.
(pass_cleanup_cfg_post_optimizing): Replace declaration with that
of...
(make_pass_cleanup_cfg_post_optimizing): ...new function.
(pass_init_datastructures): Replace declaration with that of...
(make_pass_init_datastructures): ...new function.
(pass_fixup_cfg): Replace declaration with that of...
(make_pass_fixup_cfg): ...new function.
(pass_expand): Replace declaration with that of...
(make_pass_expand): ...new function.
(pass_instantiate_virtual_regs): Replace declaration with that of...
(make_pass_instantiate_virtual_regs): ...new function.
(pass_rtl_fwprop): Replace declaration with that of...
(make_pass_rtl_fwprop): ...new function.
(pass_rtl_fwprop_addr): Replace declaration with that of...
(make_pass_rtl_fwprop_addr): ...new function.
(pass_jump): Replace declaration with that of...
(make_pass_jump): ...new function.
(pass_jump2): Replace declaration with that of...
(make_pass_jump2): ...new function.
(pass_lower_subreg): Replace declaration with that of...
(make_pass_lower_subreg): ...new function.
(pass_cse): Replace declaration with that of...
(make_pass_cse): ...new function.
(pass_fast_rtl_dce): Replace declaration with that of...
(make_pass_fast_rtl_dce): ...new function.
(pass_ud_rtl_dce): Replace declaration with that of...
(make_pass_ud_rtl_dce): ...new function.
(pass_rtl_dce): Replace declaration with that of...
(make_pass_rtl_dce): ...new function.
(pass_rtl_dse1): Replace declaration with that of...
(make_pass_rtl_dse1): ...new function.
(pass_rtl_dse2): Replace declaration with that of...
(make_pass_rtl_dse2): ...new function.
(pass_rtl_dse3): Replace declaration with that of...
(make_pass_rtl_dse3): ...new function.
(pass_rtl_cprop): Replace declaration with that of...
(make_pass_rtl_cprop): ...new function.
(pass_rtl_pre): Replace declaration with that of...
(make_pass_rtl_pre): ...new function.
(pass_rtl_hoist): Replace declaration with that of...
(make_pass_rtl_hoist): ...new function.
(pass_rtl_store_motion): Replace declaration with that of...
(make_pass_rtl_store_motion): ...new function.
(pass_cse_after_global_opts): Replace declaration with that of...
(make_pass_cse_after_global_opts): ...new function.
(pass_rtl_ifcvt): Replace declaration with that of...
(make_pass_rtl_ifcvt): ...new function.
(pass_into_cfg_layout_mode): Replace declaration with that of...
(make_pass_into_cfg_layout_mode): ...new function.
(pass_outof_cfg_layout_mode): Replace declaration with that of...
(make_pass_outof_cfg_layout_mode): ...new function.
(pass_loop2): Replace declaration with that of...
(make_pass_loop2): ...new function.
(pass_rtl_loop_init): Replace declaration with that of...
(make_pass_rtl_loop_init): ...new function.
(pass_rtl_move_loop_invariants): Replace declaration with that of...
(make_pass_rtl_move_loop_invariants): ...new function.
(pass_rtl_unswitch): Replace declaration with that of...
(make_pass_rtl_unswitch): ...new function.
(pass_rtl_unroll_and_peel_loops): Replace declaration with that of...
(make_pass_rtl_unroll_and_peel_loops): ...new function.
(pass_rtl_doloop): Replace declaration with that of...
(make_pass_rtl_doloop): ...new function.
(pass_rtl_loop_done): Replace declaration with that of...
(make_pass_rtl_loop_done): ...new function.
(pass_web): Replace declaration with that of...
(make_pass_web): ...new function.
(pass_cse2): Replace declaration with that of...
(make_pass_cse2): ...new function.
(pass_df_initialize_opt): Replace declaration with that of...
(make_pass_df_initialize_opt): ...new function.
(pass_df_initialize_no_opt): Replace declaration with that of...
(make_pass_df_initialize_no_opt): ...new function.
(pass_reginfo_init): Replace declaration with that of...
(make_pass_reginfo_init): ...new function.
(pass_inc_dec): Replace declaration with that of...
(make_pass_inc_dec): ...new function.
(pass_stack_ptr_mod): Replace declaration with that of...
(make_pass_stack_ptr_mod): ...new function.
(pass_initialize_regs): Replace declaration with that of...
(make_pass_initialize_regs): ...new function.
(pass_combine): Replace declaration with that of...
(make_pass_combine): ...new function.
(pass_if_after_combine): Replace declaration with that of...
(make_pass_if_after_combine): ...new function.
(pass_ree): Replace declaration with that of...
(make_pass_ree): ...new function.
(pass_partition_blocks): Replace declaration with that of...
(make_pass_partition_blocks): ...new function.
(pass_match_asm_constraints): Replace declaration with that of...
(make_pass_match_asm_constraints): ...new function.
(pass_regmove): Replace declaration with that of...
(make_pass_regmove): ...new function.
(pass_split_all_insns): Replace declaration with that of...
(make_pass_split_all_insns): ...new function.
(pass_fast_rtl_byte_dce): Replace declaration with that of...
(make_pass_fast_rtl_byte_dce): ...new function.
(pass_lower_subreg2): Replace declaration with that of...
(make_pass_lower_subreg2): ...new function.
(pass_mode_switching): Replace declaration with that of...
(make_pass_mode_switching): ...new function.
(pass_sms): Replace declaration with that of...
(make_pass_sms): ...new function.
(pass_sched): Replace declaration with that of...
(make_pass_sched): ...new function.
(pass_ira): Replace declaration with that of...
(make_pass_ira): ...new function.
(pass_reload): Replace declaration with that of...
(make_pass_reload): ...new function.
(pass_clean_state): Replace declaration with that of...
(make_pass_clean_state): ...new function.
(pass_branch_prob): Replace declaration with that of...
(make_pass_branch_prob): ...new function.
(pass_value_profile_transformations): Replace declaration with that
of...
(make_pass_value_profile_transformations): ...new function.
(pass_postreload_cse): Replace declaration with that of...
(make_pass_postreload_cse): ...new function.
(pass_gcse2): Replace declaration with that of...
(make_pass_gcse2): ...new function.
(pass_split_after_reload): Replace declaration with that of...
(make_pass_split_after_reload): ...new function.
(pass_branch_target_load_optimize1): Replace declaration with that
of...
(make_pass_branch_target_load_optimize1): ...new function.
(pass_thread_prologue_and_epilogue): Replace declaration with that
of...
(make_pass_thread_prologue_and_epilogue): ...new function.
(pass_stack_adjustments): Replace declaration with that of...
(make_pass_stack_adjustments): ...new function.
(pass_peephole2): Replace declaration with that of...
(make_pass_peephole2): ...new function.
(pass_if_after_reload): Replace declaration with that of...
(make_pass_if_after_reload): ...new function.
(pass_regrename): Replace declaration with that of...
(make_pass_regrename): ...new function.
(pass_cprop_hardreg): Replace declaration with that of...
(make_pass_cprop_hardreg): ...new function.
(pass_reorder_blocks): Replace declaration with that of...
(make_pass_reorder_blocks): ...new function.
(pass_branch_target_load_optimize2): Replace declaration with that
of...
(make_pass_branch_target_load_optimize2): ...new function.
(pass_leaf_regs): Replace declaration with that of...
(make_pass_leaf_regs): ...new function.
(pass_split_before_sched2): Replace declaration with that of...
(make_pass_split_before_sched2): ...new function.
(pass_compare_elim_after_reload): Replace declaration with that of...
(make_pass_compare_elim_after_reload): ...new function.
(pass_sched2): Replace declaration with that of...
(make_pass_sched2): ...new function.
(pass_stack_regs): Replace declaration with that of...
(make_pass_stack_regs): ...new function.
(pass_stack_regs_run): Replace declaration with that of...
(make_pass_stack_regs_run): ...new function.
(pass_df_finish): Replace declaration with that of...
(make_pass_df_finish): ...new function.
(pass_compute_alignments): Replace declaration with that of...
(make_pass_compute_alignments): ...new function.
(pass_duplicate_computed_gotos): Replace declaration with that of...
(make_pass_duplicate_computed_gotos): ...new function.
(pass_variable_tracking): Replace declaration with that of...
(make_pass_variable_tracking): ...new function.
(pass_free_cfg): Replace declaration with that of...
(make_pass_free_cfg): ...new function.
(pass_machine_reorg): Replace declaration with that of...
(make_pass_machine_reorg): ...new function.
(pass_cleanup_barriers): Replace declaration with that of...
(make_pass_cleanup_barriers): ...new function.
(pass_delay_slots): Replace declaration with that of...
(make_pass_delay_slots): ...new function.
(pass_split_for_shorten_branches): Replace declaration with that of...
(make_pass_split_for_shorten_branches): ...new function.
(pass_split_before_regstack): Replace declaration with that of...
(make_pass_split_before_regstack): ...new function.
(pass_convert_to_eh_region_ranges): Replace declaration with that
of...
(make_pass_convert_to_eh_region_ranges): ...new function.
(pass_shorten_branches): Replace declaration with that of...
(make_pass_shorten_branches): ...new function.
(pass_set_nothrow_function_flags): Replace declaration with that of...
(make_pass_set_nothrow_function_flags): ...new function.
(pass_dwarf2_frame): Replace declaration with that of...
(make_pass_dwarf2_frame): ...new function.
(pass_final): Replace declaration with that of...
(make_pass_final): ...new function.
(pass_rtl_seqabstr): Replace declaration with that of...
(make_pass_rtl_seqabstr): ...new function.
(pass_release_ssa_names): Replace declaration with that of...
(make_pass_release_ssa_names): ...new function.
(pass_early_inline): Replace declaration with that of...
(make_pass_early_inline): ...new function.
(pass_inline_parameters): Replace declaration with that of...
(make_pass_inline_parameters): ...new function.
(pass_update_address_taken): Replace declaration with that of...
(make_pass_update_address_taken): ...new function.
(pass_convert_switch): Replace declaration with that of...
(make_pass_convert_switch): ...new function.
* tree-profile.c (pass_ipa_tree_profile): Convert from a global struct
to a subclass of simple_ipa_opt_pass along with...
(pass_data_ipa_tree_profile): ...new pass_data instance and...
(make_pass_ipa_tree_profile): ...new function.
* tree-sra.c (pass_sra_early): Convert from a global struct to a
subclass of gimple_opt_pass along with...
(pass_data_sra_early): ...new pass_data instance and...
(make_pass_sra_early): ...new function.
(pass_sra): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_sra): ...new pass_data instance and...
(make_pass_sra): ...new function.
(pass_early_ipa_sra): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_early_ipa_sra): ...new pass_data instance and...
(make_pass_early_ipa_sra): ...new function.
* tree-ssa-ccp.c (pass_ccp): Convert from a global struct to a
subclass of gimple_opt_pass along with...
(pass_data_ccp): ...new pass_data instance and...
(make_pass_ccp): ...new function.
(pass_fold_builtins): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_fold_builtins): ...new pass_data instance and...
(make_pass_fold_builtins): ...new function.
* tree-ssa-copy.c (pass_copy_prop): Convert from a global struct to a
subclass of gimple_opt_pass along with...
(pass_data_copy_prop): ...new pass_data instance and...
(make_pass_copy_prop): ...new function.
* tree-ssa-copyrename.c (pass_rename_ssa_copies): Convert from a
global struct to a subclass of gimple_opt_pass along with...
(pass_data_rename_ssa_copies): ...new pass_data instance and...
(make_pass_rename_ssa_copies): ...new function.
* tree-ssa-dce.c (pass_dce): Convert from a global struct to a
subclass of gimple_opt_pass along with...
(pass_data_dce): ...new pass_data instance and...
(make_pass_dce): ...new function.
(pass_dce_loop): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_dce_loop): ...new pass_data instance and...
(make_pass_dce_loop): ...new function.
(pass_cd_dce): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_cd_dce): ...new pass_data instance and...
(make_pass_cd_dce): ...new function.
* tree-ssa-dom.c (pass_dominator): Convert from a global struct to a
subclass of gimple_opt_pass along with...
(pass_data_dominator): ...new pass_data instance and...
(make_pass_dominator): ...new function.
(pass_phi_only_cprop): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_phi_only_cprop): ...new pass_data instance and...
(make_pass_phi_only_cprop): ...new function.
* tree-ssa-dse.c (pass_dse): Convert from a global struct to a
subclass of gimple_opt_pass along with...
(pass_data_dse): ...new pass_data instance and...
(make_pass_dse): ...new function.
* tree-ssa-forwprop.c (pass_forwprop): Convert from a global struct to
a subclass of gimple_opt_pass along with...
(pass_data_forwprop): ...new pass_data instance and...
(make_pass_forwprop): ...new function.
* tree-ssa-ifcombine.c (pass_tree_ifcombine): Convert from a global
struct to a subclass of gimple_opt_pass along with...
(pass_data_tree_ifcombine): ...new pass_data instance and...
(make_pass_tree_ifcombine): ...new function.
* tree-ssa-loop-ch.c (pass_ch): Convert from a global struct to a
subclass of gimple_opt_pass along with...
(pass_data_ch): ...new pass_data instance and...
(make_pass_ch): ...new function.
* tree-ssa-loop.c (pass_tree_loop): Convert from a global struct to a
subclass of gimple_opt_pass along with...
(pass_data_tree_loop): ...new pass_data instance and...
(make_pass_tree_loop): ...new function.
(pass_tree_loop_init): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_tree_loop_init): ...new pass_data instance and...
(make_pass_tree_loop_init): ...new function.
(pass_lim): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_lim): ...new pass_data instance and...
(make_pass_lim): ...new function.
(pass_tree_unswitch): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_tree_unswitch): ...new pass_data instance and...
(make_pass_tree_unswitch): ...new function.
(pass_predcom): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_predcom): ...new pass_data instance and...
(make_pass_predcom): ...new function.
(pass_vectorize): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_vectorize): ...new pass_data instance and...
(make_pass_vectorize): ...new function.
(pass_graphite): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_graphite): ...new pass_data instance and...
(make_pass_graphite): ...new function.
(pass_graphite_transforms): Convert from a global struct to a subclass
of gimple_opt_pass along with...
(pass_data_graphite_transforms): ...new pass_data instance and...
(make_pass_graphite_transforms): ...new function.
(pass_check_data_deps): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_check_data_deps): ...new pass_data instance and...
(make_pass_check_data_deps): ...new function.
(pass_iv_canon): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_iv_canon): ...new pass_data instance and...
(make_pass_iv_canon): ...new function.
(pass_scev_cprop): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_scev_cprop): ...new pass_data instance and...
(make_pass_scev_cprop): ...new function.
(pass_record_bounds): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_record_bounds): ...new pass_data instance and...
(make_pass_record_bounds): ...new function.
(pass_complete_unroll): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_complete_unroll): ...new pass_data instance and...
(make_pass_complete_unroll): ...new function.
(pass_complete_unrolli): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_complete_unrolli): ...new pass_data instance and...
(make_pass_complete_unrolli): ...new function.
(pass_parallelize_loops): Convert from a global struct to a subclass
of gimple_opt_pass along with...
(pass_data_parallelize_loops): ...new pass_data instance and...
(make_pass_parallelize_loops): ...new function.
(pass_loop_prefetch): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_loop_prefetch): ...new pass_data instance and...
(make_pass_loop_prefetch): ...new function.
(pass_iv_optimize): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_iv_optimize): ...new pass_data instance and...
(make_pass_iv_optimize): ...new function.
(pass_tree_loop_done): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_tree_loop_done): ...new pass_data instance and...
(make_pass_tree_loop_done): ...new function.
* tree-ssa-math-opts.c (pass_cse_reciprocals): Convert from a global
struct to a subclass of gimple_opt_pass along with...
(pass_data_cse_reciprocals): ...new pass_data instance and...
(make_pass_cse_reciprocals): ...new function.
(pass_cse_sincos): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_cse_sincos): ...new pass_data instance and...
(make_pass_cse_sincos): ...new function.
(pass_optimize_bswap): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_optimize_bswap): ...new pass_data instance and...
(make_pass_optimize_bswap): ...new function.
(pass_optimize_widening_mul): Convert from a global struct to a
subclass of gimple_opt_pass along with...
(pass_data_optimize_widening_mul): ...new pass_data instance and...
(make_pass_optimize_widening_mul): ...new function.
* tree-ssa-phiopt.c (pass_phiopt): Convert from a global struct to a
subclass of gimple_opt_pass along with...
(pass_data_phiopt): ...new pass_data instance and...
(make_pass_phiopt): ...new function.
(pass_cselim): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_cselim): ...new pass_data instance and...
(make_pass_cselim): ...new function.
* tree-ssa-phiprop.c (pass_phiprop): Convert from a global struct to a
subclass of gimple_opt_pass along with...
(pass_data_phiprop): ...new pass_data instance and...
(make_pass_phiprop): ...new function.
* tree-ssa-pre.c (pass_pre): Convert from a global struct to a
subclass of gimple_opt_pass along with...
(pass_data_pre): ...new pass_data instance and...
(make_pass_pre): ...new function.
(pass_fre): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_fre): ...new pass_data instance and...
(make_pass_fre): ...new function.
* tree-ssa-reassoc.c (pass_reassoc): Convert from a global struct to a
subclass of gimple_opt_pass along with...
(pass_data_reassoc): ...new pass_data instance and...
(make_pass_reassoc): ...new function.
* tree-ssa-sink.c (pass_sink_code): Convert from a global struct to a
subclass of gimple_opt_pass along with...
(pass_data_sink_code): ...new pass_data instance and...
(make_pass_sink_code): ...new function.
* tree-ssa-strlen.c (pass_strlen): Convert from a global struct to a
subclass of gimple_opt_pass along with...
(pass_data_strlen): ...new pass_data instance and...
(make_pass_strlen): ...new function.
* tree-ssa-structalias.c (pass_build_alias): Convert from a global
struct to a subclass of gimple_opt_pass along with...
(pass_data_build_alias): ...new pass_data instance and...
(make_pass_build_alias): ...new function.
(pass_build_ealias): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_build_ealias): ...new pass_data instance and...
(make_pass_build_ealias): ...new function.
(pass_ipa_pta): Convert from a global struct to a subclass of
simple_ipa_opt_pass along with...
(pass_data_ipa_pta): ...new pass_data instance and...
(make_pass_ipa_pta): ...new function.
* tree-ssa-uncprop.c (pass_uncprop): Convert from a global struct to a
subclass of gimple_opt_pass along with...
(pass_data_uncprop): ...new pass_data instance and...
(make_pass_uncprop): ...new function.
* tree-ssa-uninit.c (pass_late_warn_uninitialized): Convert from a
global struct to a subclass of gimple_opt_pass along with...
(pass_data_late_warn_uninitialized): ...new pass_data instance and...
(make_pass_late_warn_uninitialized): ...new function.
* tree-ssa.c (pass_init_datastructures): Convert from a global struct
to a subclass of gimple_opt_pass along with...
(pass_data_init_datastructures): ...new pass_data instance and...
(make_pass_init_datastructures): ...new function.
(pass_early_warn_uninitialized): Convert from a global struct to a
subclass of gimple_opt_pass along with...
(pass_data_early_warn_uninitialized): ...new pass_data instance and...
(make_pass_early_warn_uninitialized): ...new function.
(pass_update_address_taken): Convert from a global struct to a
subclass of gimple_opt_pass along with...
(pass_data_update_address_taken): ...new pass_data instance and...
(make_pass_update_address_taken): ...new function.
* tree-ssanames.c (pass_release_ssa_names): Convert from a global
struct to a subclass of gimple_opt_pass along with...
(pass_data_release_ssa_names): ...new pass_data instance and...
(make_pass_release_ssa_names): ...new function.
* tree-stdarg.c (pass_stdarg): Convert from a global struct to a
subclass of gimple_opt_pass along with...
(pass_data_stdarg): ...new pass_data instance and...
(make_pass_stdarg): ...new function.
* tree-switch-conversion.c (pass_convert_switch): Convert from a
global struct to a subclass of gimple_opt_pass along with...
(pass_data_convert_switch): ...new pass_data instance and...
(make_pass_convert_switch): ...new function.
* tree-tailcall.c (pass_tail_recursion): Convert from a global struct
to a subclass of gimple_opt_pass along with...
(pass_data_tail_recursion): ...new pass_data instance and...
(make_pass_tail_recursion): ...new function.
(pass_tail_calls): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_tail_calls): ...new pass_data instance and...
(make_pass_tail_calls): ...new function.
* tree-vect-generic.c (pass_lower_vector): Convert from a global
struct to a subclass of gimple_opt_pass along with...
(pass_data_lower_vector): ...new pass_data instance and...
(make_pass_lower_vector): ...new function.
(pass_lower_vector_ssa): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_lower_vector_ssa): ...new pass_data instance and...
(make_pass_lower_vector_ssa): ...new function.
* tree-vectorizer.c (pass_slp_vectorize): Convert from a global struct
to a subclass of gimple_opt_pass along with...
(pass_data_slp_vectorize): ...new pass_data instance and...
(make_pass_slp_vectorize): ...new function.
(pass_ipa_increase_alignment): Convert from a global struct to a
subclass of simple_ipa_opt_pass along with...
(pass_data_ipa_increase_alignment): ...new pass_data instance and...
(make_pass_ipa_increase_alignment): ...new function.
* tree-vrp.c (pass_vrp): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_vrp): ...new pass_data instance and...
(make_pass_vrp): ...new function.
* tree.c (pass_ipa_free_lang_data): Convert from a global struct to a
subclass of simple_ipa_opt_pass along with...
(pass_data_ipa_free_lang_data): ...new pass_data instance and...
(make_pass_ipa_free_lang_data): ...new function.
* tsan.c (pass_tsan): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_tsan): ...new pass_data instance and...
(make_pass_tsan): ...new function.
(pass_tsan_O0): Convert from a global struct to a subclass of
gimple_opt_pass along with...
(pass_data_tsan_O0): ...new pass_data instance and...
(make_pass_tsan_O0): ...new function.
* var-tracking.c (pass_variable_tracking): Convert from a global
struct to a subclass of rtl_opt_pass along with...
(pass_data_variable_tracking): ...new pass_data instance and...
(make_pass_variable_tracking): ...new function.
* web.c (pass_web): Convert from a global struct to a subclass of
rtl_opt_pass along with...
(pass_data_web): ...new pass_data instance and...
(make_pass_web): ...new function.
* config/epiphany/epiphany.h (pass_mode_switch_use): Replace
declaration with that of...
(make_pass_mode_switch_use): ...new function.
(pass_resolve_sw_modes): Replace declaration with that of...
(make_pass_resolve_sw_modes): ...new function.
* config/epiphany/mode-switch-use.c (pass_mode_switch_use): Convert
from a global struct to a subclass of rtl_opt_pass along with...
(pass_data_mode_switch_use): ...new pass_data instance and...
(make_pass_mode_switch_use): ...new function.
* config/epiphany/resolve-sw-modes.c (pass_resolve_sw_modes): Convert
from a global struct to a subclass of rtl_opt_pass along with...
(pass_data_resolve_sw_modes): ...new pass_data instance and...
(make_pass_resolve_sw_modes): ...new function.
* config/i386/i386.c (pass_insert_vzeroupper): Convert from a global
struct to a subclass of rtl_opt_pass along with...
(pass_data_insert_vzeroupper): ...new pass_data instance and...
(make_pass_insert_vzeroupper): ...new function.
* config/sparc/sparc.c (pass_work_around_errata): Convert from a
global struct to a subclass of rtl_opt_pass along with...
(pass_data_work_around_errata): ...new pass_data instance and...
(make_pass_work_around_errata): ...new function.
* config/mips/mips.c (pass_mips_machine_reorg2): Convert from a global
struct to a subclass of rtl_opt_pass along with...
(pass_data_mips_machine_reorg2): ...new pass_data instance and...
(make_pass_mips_machine_reorg2): ...new function.
gcc/testsuite/
Patch autogenerated by refactor_passes.py from
https://github.com/davidmalcolm/gcc-refactoring-scripts
revision 03fe39476a4c4ea450b49e087cfa817b5f92021e
* gcc.dg/plugin/one_time_plugin.c (one_pass): Convert from a global
struct to a subclass of gimple_opt_pass along with...
(pass_data_one_pass): ...new pass_data instance and...
(make_one_pass): ...new function.
* gcc.dg/plugin/selfassign.c (pass_warn_self_assign): Convert from a
global struct to a subclass of gimple_opt_pass along with...
(pass_data_warn_self_assign): ...new pass_data instance and...
(make_pass_warn_self_assign): ...new function.
* g++.dg/plugin/dumb_plugin.c (pass_dumb_plugin_example): Convert from
a global struct to a subclass of gimple_opt_pass along with...
(pass_data_dumb_plugin_example): ...new pass_data instance and...
(make_pass_dumb_plugin_example): ...new function.
* g++.dg/plugin/selfassign.c (pass_warn_self_assign): Convert from a
global struct to a subclass of gimple_opt_pass along with...
(pass_data_warn_self_assign): ...new pass_data instance and...
(make_pass_warn_self_assign): ...new function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201508 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
| |
* postreload.c (move2add_valid_value_p): Check that we have
a zero subreg_regno_offset when accessing the register in
the requested mode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199449 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
* postreload.c (move2add_use_add2_insn): Use gen_lowpart_common.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199387 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* postreload.c (move2add_record_mode): New function.
(move2add_record_sym_value, move2add_valid_value_p): Likewise.
(move2add_use_add2_insn): Use move2add_record_sym_value.
(move2add_use_add3_insn): Likewise.
(reload_cse_move2add): Use move2add_valid_value_p and
move2add_record_mode. Invalidate call-clobbered and REG_INC
affected regs by setting reg_mode to VOIDmode.
(move2add_note_store): Don't pretend the inside of a SUBREG is
the actual destination. Invalidate single/leading registers by
setting reg_mode to VOIDmode.
Use move2add_record_sym_value, move2add_valid_value_p and
move2add_record_mode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199353 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197037 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195098 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR middle-end/55263
* postreload.c (rest_of_handle_postreload): With non-call exceptions,
if edges are purged call cleanup_cfg to remove unreachable blocks.
testsuite/
PR middle-end/55263
* g++.dg/pr55263.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193412 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
| |
* postreload.c (reload_cse_simplify): Return a bool indicating
whether the CFG was changed.
(reload_cse_regs_1): Traverse the CFG instead of the insns chain.
Cleanup the CFG if edges may have been removed.
(reload_cse_regs): Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193359 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* doc/invoke.texi: Update -fopt-info documentation.
* dumpfile.c: Move dump_flags here from passes.c.
Rename opt_info_options to optinfo_verbosity_options.
Add optgroup_options.
(dump_files): Add field for optinfo_flags in the static initializer.
(dump_register): Handle additional parameter for optgroup_flags.
(opt_info_enable_passes): Renamed opt_info_enable_all. Handle
optgroup_flags. Fix documentation.
(opt_info_switch_p_1): Handle optgroup options.
(opt_info_switch_p): Handle optgroup_flags. Warn on multiple files.
* dumpfile.h (dump_register): Additional argument for optgroup_flags.
All callers updated.
(struct dump_file_info): Add field for optgroup_flags.
Define OPTGROUP_* flags.
* tree-pass.h (struct opt_pass): Add addtional field for optinfo_flags.
All opt_pass static initializers updated.
* opts-global.c (dump_remap_tree_vectorizer_verbose): Use 'all'
instead of 'optall'.
(handle_common_deferred_options): Fix typo in error message.
* passes.c (register_one_dump_file): Add argument for optgroup_flags.
Turn on OPTGROUP_IPA for IPA passes.
Move dump_flags from here to dumpfile.c.
* statistics.c (statistics_early_init): Use OPTGROUP_NONE in call to
dump_register.
testsuite/ChangeLog
* testsuite/gcc.dg/plugin/selfassign.c: Add opgtroup_flags initializer.
* testsuite/gcc.dg/plugin/one_time_plugin.c: Likewise.
* testsuite/g++.dg/plugin/selfassign.c: Likewise.
* testsuite/g++.dg/plugin/dumb_plugin.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193061 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* system.h (dump_file): Do not define.
* tree-pass.h: Include dumpfile.h, which is a new file containing...
(enum tree_dump_index, TDF_*, get_dump_file_name, dump_enabled_p,
dump_initialized_p, dump_begin, dump_end, dump_node, dump_switch_p,
dump_flag_name, dump_file, dump_flags, dump_file_name,
get_dump_file_info, struct dump_file_info): all of this, moved to...
* dumpfile.h: Here, new file.
* tree-dump.h: Include dumpfile.h, but not tree-pass.h.
(dump_stmt): Remove prototype for C++ specific function.
(dump_enumerated_decls): Move prototype from here...
* tree-flow.h (dump_enumerated_decls): ... to here.
(get_ref_base_and_extent) Move prototype from here ...
* tree.h (get_ref_base_and_extent) ... to here.
* tree-ssa-live.c: Do not inclde tree-pretty-print.h, because
gimple-pretty-print.h is enough. Do not include tree-dump.h,
include timevar.h and dumpfile.h instead.
(struct numbered_tree_d, compare_decls_by_uid,
dump_enumerated_decls_push, dump_enumerated_decls): Move from here ...
* tree-dfa.c:(struct numbered_tree_d, compare_decls_by_uid,
dump_enumerated_decls_push, dump_enumerated_decls):... to here.
Do not include timevar.h.
* tree.c: Do not include timevar.h.
* tree-cfg.c: Do not include langhooks.h, tree-pretty-print.h, and
timevar.h.
(dump_cfg_stats): Use current_function_name.
(gimple_cfg2vcg): Likewise.
(dump_function_to_file): Likewise.
* df-scan.c: Do not include tree-pass.h and timevar.h.
Include dumpfile.h.
(df_entry_block_bitmap_verify, df_exit_block_bitmap_verify): Do not
use print_current_pass.
* df-problems.c: Include dumpfile.h.
Always define REG_DEAD_DEBUGGING, avoid #ifdef code, because it
leads to errors in the code not selected.
(df_note_compute): Do not print_rtl_with_bb here. Fix compilation
bug if REG_DEAD_DEBUGGING is not 0, get_insns is not available here.
* lcm.c: Include dumpfile.h.
Remove obsolete include of insn-attr.h.
* dojump.c (do_compare_rtx_and_jump): Remove failure printing for
missing probability notes.
* stmt.c: Include dumpfile.h.
(emit_case_decision_tree): Re-enable printing expand details only
if TDF_DETAILS.
* alias.c, auto-inc-dec.c, bb-reorder.c, caller-save.c, cfg.c,
cfgcleanup.c, cfgexpand.c, cfgloop.c, cfgloopmanip.c, cgraph.c,
cgraphclones.c, cgraphunit.c, combine.c, combine-stack-adj.c,
coverage.c, cprop.c, cse.c, cselib.c, dbgcnt.c, dce.c, df-core.c,
dse.c, dwarf2out.c, emit-rtl.c, except.c, expr.c, final.c,
function.c, fwprop.c, gcse.c, gimple-fold.c,
gimple-pretty-print.c, gimple-ssa-strength-reduction.c,
gimplify.c, graphite-blocking.c, graphite-clast-to-gimple.c,
graphite-dependences.c, graphite-interchange.c,
graphite-optimize-isl.c, graphite-poly.c,
graphite-sese-to-poly.c, haifa-sched.c, hw-doloop.c, ifcvt.c,
ipa.c, ipa-cp.c, ipa-inline-analysis.c, ipa-inline.c,
ipa-inline-transform.c, ipa-prop.c, ipa-pure-const.c,
ipa-reference.c, ipa-split.c, ipa-utils.c, ira.c, ira-emit.c,
jump.c, loop-doloop.c, loop-init.c, loop-invariant.c, loop-iv.c,
loop-unroll.c, loop-unswitch.c, lower-subreg.c,
lto-section-out.c, lto-streamer-in.c, matrix-reorg.c, mcf.c,
mode-switching.c, modulo-sched.c, omega.c, omp-low.c, passes.c,
plugin.c, postreload.c, postreload-gcse.c, predict.c, print-rtl.c,
print-tree.c, profile.c, recog.c, ree.c, regcprop.c, reginfo.c,
regmove.c, regrename.c, reg-stack.c, reload1.c, reorg.c,
sched-rgn.c, sched-vis.c, sel-sched.c, sel-sched-ir.c,
store-motion.c, tracer.c, trans-mem.c, tree-affine.c,
tree-call-cdce.c, tree-cfgcleanup.c, tree-chrec.c,
tree-data-ref.c, tree-diagnostic.c, tree-dump.c,
tree-eh.c, tree-flow-inline.h, tree-if-conv.c, tree-into-ssa.c,
tree-mudflap.c, tree-nrv.c, tree-object-size.c,
tree-optimize.c, tree-outof-ssa.c, tree-predcom.c,
tree-pretty-print.c, tree-profile.c, tree-scalar-evolution.c,
tree-sra.c, tree-ssa-address.c, tree-ssa-alias.c, tree-ssa.c,
tree-ssa-ccp.c, tree-ssa-coalesce.c, tree-ssa-copy.c,
tree-ssa-copyrename.c,, tree-ssa-dce.c, tree-ssa-dom.c,
tree-ssa-dse.c, tree-ssa-forwprop.c, tree-ssa-ifcombine.c,
tree-ssa-loop.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
tree-ssa-loop-ivcanon.c, tree-ssa-loop-ivopts.c,
tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
tree-ssa-loop-prefetch.c, tree-ssa-loop-unswitch.c,
tree-ssa-math-opts.c, tree-ssa-operands.c, tree-ssa-phiopt.c,
tree-ssa-phiprop.c, tree-ssa-pre.c, tree-ssa-propagate.c,
tree-ssa-reassoc.c, tree-ssa-sccvn.c, tree-ssa-sink.c,
tree-ssa-structalias.c, tree-ssa-tail-merge.c, tree-ssa-ter.c,
tree-ssa-threadedge.c, tree-ssa-threadupdate.c,
tree-ssa-uncprop.c, tree-ssa-uninit.c,
tree-switch-conversion.c, tree-tailcall.c,
tree-vect-data-refs.c, tree-vect-loop.c,
tree-vect-loop-manip.c, tree-vectorizer.c,
tree-vect-patterns.c, tree-vect-slp.c, tree-vect-stmts.c,
tree-vrp.c, value-prof.c, var-tracking.c, web.c: Include tree-pass.h
only if needed. If tree-pass.h is included, do not include timevar.h
and dumpfile.h. If tree-pass.h is not included but dump_file, or
dump_flags, or the TDF_* flags are used, include dumpfile.h.
If gimple-pretty-print.h is included, don't include tree-pretty-print.h.
Remove assorted unnecessary includes.
* config/mn10300/mn10300.c, config/c6x/c6x.c, config/ia64/ia64.c,
config/arm/arm.c, config/bfin/bfin.c, config/frv/frv.c,
config/spu/spu.c, config/mep/mep.c, config/i386/i386.c:
Include dumpfile.h.
* config/rl78/rl78.c: Include dumpfile.h instead of tree-pass.h.
* arm/t-arm, avr/t-avr, i386/t-i386, ia64/t-ia64, mep/t-mep,
spu/t-spu-elf: Fix dependencies.
c-family/
* c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
* c-ada-spec.c: Likewise.
* c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
c/
* c-decl.c: Include dumpfile.h instead of tree-dump.h.
* Make-lang.in: Fix dependencies.
cp/
* dump.c (dump_stmt): Moved here from c-dump.c.
* optimize.c: Include dumpfile.h instead of tree-dump.h.
* class.c: Likewise.
* decl2.c: Likewise.
* Make-lang.in: Fix dependencies.
fortran/
* f95-lang.c: Include dumpfile.h instead of tree-dump.h.
* Make-lang.in: Fix dependencies.
java/
* java-gimplify.c Include dumpfile.h instead of tree-dump.h
* Make-lang.in: Fix dependencies.
lto/
* lto.c: Do not include timevar.h.
* Make-lang.in: Fix dependencies.
ada/
* gcc-interface/utils.c: Include timevar.h.
* Make-lang.in: Fix dependencies.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189519 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(decl_default_tls_model): Move to tree.h
(dump_file): Move to system.h.
(default_stabs_asm_out_destructor, default_stabs_asm_out_constructor,
dbxout_int, dbxout_stabd, dbxout_begin_stabn, dbxout_begin_stabn_sline,
dbxout_begin_empty_stabs, dbxout_begin_simple_stabs,
dbxout_begin_simple_stabs_desc, dbxout_stab_value_zero,
dbxout_stab_value_zero, dbxout_stab_value_label_diff,
dbxout_stab_value_internal_label,
dbxout_stab_value_internal_label_diff): Move from here ...
* dbxout.h: ... to here.
* system.h (dump_file): Moved here from output.h.
* hwint.h (__gcc_host_wide_int__): Moved here from output.h.
* tree.h (decl_default_tls_model): Moved here from output.h.
* varasm.c (default_stabs_asm_out_destructor,
default_stabs_asm_out_constructor): Move from here ...
* dbxout.c: ... to here.
* gcov-dump.c (dump_file): Rename to dump_gcov_file. Update callers.
* collect2.h (dump_file): Rename to dump_ld_file.
* collect2.c: Likewise.
* tlink.c: Likewise.
* alias.c: Do not include output.h.
* auto-inc-dec.c: Likewise.
* bt-load.c: Likewise.
* caller-save.c: Likewise.
* cfg.c: Likewise.
* cfgbuild.c: Likewise.
* cfgcleanup.c: Likewise.
* cfglayout.c: Likewise.
* cfgloop.c: Likewise.
* cfgloopanal.c: Likewise.
* cfgloopmanip.c: Likewise.
* cfgrtl.c: Likewise.
* cgraph.c: Likewise.
* cgraphclones.c: Likewise.
* combine-stack-adj.c: Likewise.
* combine.c: Likewise.
* cprop.c: Likewise.
* cse.c: Likewise.
* cselib.c: Likewise.
* dbgcnt.c: Likewise.
* df-problems.c: Likewise.
* df-scan.c: Likewise.
* dojump.c: Likewise.
* fwprop.c: Likewise.
* gcse.c: Likewise.
* graph.c: Likewise.
* haifa-sched.c: Likewise.
* hw-doloop.c: Likewise.
* ipa-inline-transform.c: Likewise.
* ipa-pure-const.c: Likewise.
* ipa-reference.c: Likewise.
* ipa-utils.c: Likewise.
* ira-build.c: Likewise.
* ira-emit.c: Likewise.
* lcm.c: Likewise.
* loop-doloop.c: Likewise.
* loop-invariant.c: Likewise.
* loop-iv.c: Likewise.
* loop-unroll.c: Likewise.
* loop-unswitch.c: Likewise.
* lto-cgraph.c: Likewise.
* lto-section-in.c: Likewise.
* lto-streamer-in.c: Likewise.
* mcf.c: Likewise.
* mode-switching.c: Likewise.
* postreload-gcse.c: Likewise.
* postreload.c: Likewise.
* predict.c: Likewise.
* profile.c: Likewise.
* ree.c: Likewise.
* reg-stack.c: Likewise.
* regcprop.c: Likewise.
* regmove.c: Likewise.
* regstat.c: Likewise.
* reload1.c: Likewise.
* sched-ebb.c: Likewise.
* sel-sched-dump.c: Likewise.
* simplify-rtx.c: Likewise.
* stor-layout.c: Likewise.
* store-motion.c: Likewise.
* tracer.c: Likewise.
* tree-affine.c: Likewise.
* tree-cfg.c: Likewise.
* tree-cfgcleanup.c: Likewise.
* tree-dfa.c: Likewise.
* tree-into-ssa.c: Likewise.
* tree-nomudflap.c: Likewise.
* tree-optimize.c: Likewise.
* tree-pretty-print.c: Likewise.
* tree-profile.c: Likewise.
* tree-ssa-address.c: Likewise.
* tree-ssa-ccp.c: Likewise.
* tree-ssa-copy.c: Likewise.
* tree-ssa-dom.c: Likewise.
* tree-ssa-loop-ch.c: Likewise.
* tree-ssa-loop-im.c: Likewise.
* tree-ssa-loop-manip.c: Likewise.
* tree-ssa-loop-niter.c: Likewise.
* tree-ssa-loop-prefetch.c: Likewise.
* tree-ssa-loop-unswitch.c: Likewise.
* tree-ssa-loop.c: Likewise.
* tree-ssa-propagate.c: Likewise.
* tree-ssa-structalias.c: Likewise.
* tree-ssa-tail-merge.c: Likewise.
* tree-ssa-threadedge.c: Likewise.
* tree-ssa-threadupdate.c: Likewise.
* tree-ssa-uncprop.c: Likewise.
* tree-ssa-uninit.c: Likewise.
* tree-ssa.c: Likewise.
* value-prof.c: Likewise.
* var-tracking.c: Likewise.
* web.c: Likewise.
* config/m32r/m32r.c: Include dbxout.h.
* config/pa/pa.c: Likewise.
* config/rs6000/rs6000.c: Likewise.
* Makefile.in: Fix dependencies.
* config/rs6000/t-rs5000: Likewise.
c-family/
* c-ada-spec.c: Do not include output.h.
* c-semantics.c: Likewise.
cp/
* call.c: Do not include output.h.
* class.c: Likewise.
* except.c: Likewise.
* friend.c: Likewise.
* init.c: Likewise.
* lex.c: Likewise.
* method.c: Likewise.
* parser.c: Likewise.
* pt.c: Likewise.
* rtti.c: Likewise.
* search.c: Likewise.
objc/
* objc-act.c: Do not include output.h.
fortran/
* trans-common.c: Do not include output.h.
* trans-decl.c: Likewise.
java/
* resource.c: Do not include output.h.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188082 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Makefile.in: Fix typos.
* alias.c: Fix typos.
* auto-inc-dec.c: Fix typos.
* bb-reorder.c: Fix typos.
* cfgcleanup.c: Fix typos.
* cgraph.c: Fix typos.
* cgraph.h: Fix typos.
* cgraphunit.c: Fix typos.
* collect2-aix.h: Fix typos.
* collect2.c: Fix typos.
* compare-elim.c: Fix typos.
* config/alpha/vms.h: Fix typos.
* config/arm/README-interworking: Fix typos.
* config/arm/arm.c: Fix typos.
* config/arm/iterators.md: Fix typos.
* config/arm/vxworks.h: Fix typos.
* config/avr/avr.c: Fix typos.
* config/avr/avr.h: Fix typos.
* config/avr/avr.md: Fix typos.
* config/avr/builtins.def: Fix typos.
* config/c6x/c6x.c: Fix typos.
* config/cr16/cr16.c: Fix typos.
* config/cr16/cr16.md: Fix typos.
* config/cris/cris.md: Fix typos.
* config/darwin.c: Fix typos.
* config/darwin.opt: Fix typos.
* config/i386/i386-c.c: Fix typos.
* config/i386/i386.c: Fix typos.
* config/ia64/ia64.c: Fix typos.
* config/m68k/cf.md: Fix typos.
* config/mep/mep.c: Fix typos.
* config/microblaze/microblaze.c: Fix typos.
* config/microblaze/microblaze.h: Fix typos.
* config/mn10300/mn10300.c: Fix typos.
* config/mn10300/mn10300.md: Fix typos.
* config/pa/pa.c: Fix typos.
* config/picochip/picochip.h: Fix typos.
* config/rs6000/a2.md: Fix typos.
* config/rs6000/rs6000.c: Fix typos.
* config/rs6000/vector.md: Fix typos.
* config/rx/rx.md: Fix typos.
* config/rx/rx.opt: Fix typos.
* config/s390/2097.md: Fix typos.
* config/s390/s390.c: Fix typos.
* config/s390/s390.h: Fix typos.
* config/sh/sh.c: Fix typos.
* config/sh/sh.md: Fix typos.
* config/sparc/sync.md: Fix typos.
* config/spu/spu.c: Fix typos.
* config/spu/spu.md: Fix typos.
* config/vms/vms.c: Fix typos.
* config/vxworks-dummy.h: Fix typos.
* config/vxworks.h: Fix typos.
* cselib.c: Fix typos.
* df-scan.c: Fix typos.
* df.h: Fix typos.
* doc/extend.texi: Fix typos.
* doc/install.texi: Fix typos.
* doc/invoke.texi: Fix typos.
* doc/md.texi: Fix typos.
* doc/plugins.texi: Fix typos.
* doc/rtl.texi: Fix typos.
* dse.c: Fix typos.
* dwarf2asm.c: Fix typos.
* dwarf2out.c: Fix typos.
* except.h: Fix typos.
* expr.c: Fix typos.
* fold-const.c: Fix typos.
* gcc.c: Fix typos.
* gcse.c: Fix typos.
* genautomata.c: Fix typos.
* gengtype-state.c: Fix typos.
* gengtype.c: Fix typos.
* genhooks.c: Fix typos.
* gimple-fold.c: Fix typos.
* gimple-pretty-print.c: Fix typos.
* gimple.c: Fix typos.
* gimple.h: Fix typos.
* gimplify.c: Fix typos.
* graphite-interchange.c: Fix typos.
* graphite-sese-to-poly.c: Fix typos.
* ifcvt.c: Fix typos.
* input.c: Fix typos.
* ipa-cp.c: Fix typos.
* ipa-inline-analysis.c: Fix typos.
* ipa-inline-transform.c: Fix typos.
* ipa-inline.c: Fix typos.
* ipa-pure-const.c: Fix typos.
* ipa-ref.h: Fix typos.
* ipa-reference.c: Fix typos.
* ipa-utils.c: Fix typos.
* ipa.c: Fix typos.
* ira-emit.c: Fix typos.
* ira-lives.c: Fix typos.
* lto-streamer.c: Fix typos.
* lto-streamer.h: Fix typos.
* lto-wrapper.c: Fix typos.
* mcf.c: Fix typos.
* mode-switching.c: Fix typos.
* modulo-sched.c: Fix typos.
* plugin.c: Fix typos.
* postreload.c: Fix typos.
* sched-deps.c: Fix typos.
* sel-sched-ir.c: Fix typos.
* sel-sched-ir.h: Fix typos.
* sel-sched.c: Fix typos.
* sese.c: Fix typos.
* stor-layout.c: Fix typos.
* target-hooks-macros.h: Fix typos.
* target.def: Fix typos.
* trans-mem.c: Fix typos.
* tree-eh.c: Fix typos.
* tree-predcom.c: Fix typos.
* tree-sra.c: Fix typos.
* tree-ssa-address.c: Fix typos.
* tree-ssa-loop-ivopts.c: Fix typos.
* tree-ssa-loop-niter.c: Fix typos.
* tree-ssa-math-opts.c: Fix typos.
* tree-ssa-pre.c: Fix typos.
* tree-ssa-propagate.c: Fix typos.
* tree-ssa-reassoc.c: Fix typos.
* tree-ssa-sccvn.c: Fix typos.
* tree-ssa-ter.c: Fix typos.
* tree-ssa-uninit.c: Fix typos.
* tree-ssanames.c: Fix typos.
* tree-vect-generic.c: Fix typos.
* tree-vect-slp.c: Fix typos.
* tree.c: Fix typos.
* tree.h: Fix typos.
* varasm.c: Fix typos.
* varpool.c: Fix typos.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187959 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ATTR_FLAG_BUILT_IN.
* doc/rtl.texi (CALL_INSN_FUNCTION_USAGE): Use lowercase for rtx
codes. Document meaning of sets inside CALL_INSN_FUNCTION_USAGE.
* c-family/c-common.c (DEF_ATTR_STRING): Define and undefine as
necessary.
* builtin-attrs.def (DEF_ATTR_FOR_STRING): Define. Use it to
define a string "1".
(ATTR_RET1_NOTHROW_NONNULL_LEAF): New attr definition.
* builtins.def (BUILT_IN_MEMCPY, BUILT_IN_MEMMOVE, BUILT_IN_MEMSET,
BUILT_IN_STRCPY): Use it for these functions.
* postreload.c (reload_combine): Deal with SETs inside
CALL_INSN_FUNCTION_USAGE.
* caller-save.c (setup_save_areas, save_call_clobbered_regs):
Look for REG_RETURNED notes and use a cheap restore if possible.
* ira-int.h (struct ira_allocno): New member cheap_calls_crossed_num.
(ALLOCNO_CHEAP_CALLS_CROSSED_NUM): New macro.
* ira-build.c (ira_create_allocno, create_cap_allocno,
propagate_allocno_info, propagate_some_info_from_allocno,
copy_info_to_removed_store_destination, ira_flattening): Handle it.
* ira-lives.c (pseudo_regno_single_word_and_live_p,
find_call_crossed_cheap_reg): New static functions.
(process_bb_node_lives): Look for SETs in CALL_INSN_FUNCTION_USAGE,
and set ALLOCNO_CHEAP_CALLS_CROSSED_NUM if possible. Also make
a REG_RETURNED note in that case.
* ira.c (setup_reg_renumber): Change assert to allow cases where
allocnos only cross calls for which they are cheap to restore.
* ira-costs.c (ira_tune_allocno_costs): Compare
ALLOCNO_CALLS_CROSSED_NUM to ALLOCNO_CHEAP_CALLS_CROSSED_NUM rather
than 0.
* reg-notes.def (REG_RETURNED): New note.
* cse.c (cse_insn): Likewise.
* sched-deps.c (sched_analyze_insn): Likewise.
* expr.c (init_block_move_fn): Set a "fn spec" attribute.
* calls.c (decl_return_flags): New static function.
(expand_call): Generate a SET in CALL_INSN_FUNCTION_USAGE for
functions that return one of their arguments.
* lto/lto-lang.c (handle_fnspec_attribute): New static function.
(lto_attribute_table): Add "fn spec".
(DEF_ATTR_STRING): Define and undefine along with the other macros.
* regcprop.c (struct kill_set_value_data): New.
(kill_set_value): Interpret data as a pointer to such a struct.
Do nothing if the caller wants the register to be ignored.
(copyprop_hardreg_forward_1): Handle SETs in CALL_INSN_FUNCTION_USAGE.
testsuite/
* gcc.target/i386/retarg.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187459 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* reload.h (reload_cse_regs): Remove prototype.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187258 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
| |
* postreload.c (reload_combine): Mark reg_state as invalid at
volatile insns if there has been a use already.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181631 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* dse.c: Include regset.h .
(struct insn_info): Add member fixed_regs_live.
(note_add_store_info): New typedef.
(note_add_store): New function.
(emit_inc_dec_insn_before): Expect arg to be of type insn_info_t .
Use gen_add3_insn / gen_move_insn.
Check new insn for unwanted clobbers before emitting it.
(check_for_inc_dec): Rename to...
(check_for_inc_dec_1:) ... this. Return bool. Take insn_info
parameter. Changed all callers in file.
(check_for_inc_dec, copy_fixed_regs): New functions.
(scan_insn): Set fixed_regs_live field of insn_info.
* rtl.h (check_for_inc_dec): Update prototype.
* postreload.c (reload_cse_simplify): Take new signature of
check_ind_dec into account.
* reginfo.c (fixed_reg_set_regset): New variable.
(init_reg_sets_1): Initialize it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181046 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
| |
* postreload.c (reload_combine): Invalidate use information when across
volatile insn.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178995 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* rtl.h (set_src_cost, get_full_set_src_cost): New functions.
* auto-inc-dec.c (attempt_change): Use set_src_cost instead of
rtx_cost.
* calls.c (precompute_register_parameters): Likewise.
* combine.c (expand_compound_operation, make_extraction): Likewise.
(force_to_mode, distribute_and_simplify_rtx): Likewise.
* dse.c (find_shift_sequence): Likewise.
* expmed.c (init_expmed, expand_mult, expand_smod_pow2): Likewise.
* expr.c (compress_float_constant): Likewise.
* fwprop.c (should_replace_address, try_fwprop_subst): Likewise.
* gcse.c (want_to_gcse_p): Likewise.
* ifcvt.c (noce_try_sign_mask): Likewise.
* loop-doloop.c (doloop_optimize): Likewise.
* loop-invariant.c (create_new_invariant): Likewise.
* optabs.c (avoid_expensive_constant): Likewise.
* postreload.c (reload_cse_simplify_set, reload_cse_simplify_operands)
(try_replace_in_use, reload_cse_move2add): Likewise.
* reload1.c (calculate_elim_costs_all_insns): Likewise.
(note_reg_elim_costly): Likewise.
* rtlanal.c (insn_rtx_cost): Likewise.
* simplify-rtx.c (simplify_binary_operation_1): Likewise.
* stmt.c (lshift_cheap_p): Likewise.
* tree-ssa-loop-ivopts.c (seq_cost, computation_cost): Likewise.
* config/avr/avr.c (final_prescan_insn): Likewise.
* config/bfin/bfin.c (bfin_rtx_costs): Likewise.
* config/mips/mips.c (mips_binary_cost, mips_rtx_costs): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177851 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
| |
* rtl.h (set_rtx_cost, get_full_set_rtx_cost): New functions.
* auto-inc-dec.c (attempt_change): Use set_rtx_cost.
* cfgloopanal.c (seq_cost): Likewise.
* loop-invariant.c (create_new_invariant): Likewise.
* postreload.c (move2add_use_add2_insn, move2add_use_add3_insn)
(reload_cse_move2add): Use get_full_set_rtx_cost.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177850 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* combine.c (make_extraction, gen_lowpart_or_truncate,
apply_distributive_law, simplify_comparison,
reg_truncated_to_mode, record_truncated_value): Use it.
* cse.c (notreg_cost): Likewise.
* expmed.c (store_bit_field_1, extract_bit_field_1): Likewise.
* expr.c (convert_move, convert_modes): Likewise.
* optabs.c (expand_binop, expand_unop): Likewise.
* postreload.c (move2add_last_label): Likewise.
* regmove.c (optimize_reg_copy_3): Likewise.
* rtlhooks.c (gen_lowpart_general): Likewise.
* simplify-rtx.c (simplify_unary_operation_1): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175921 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175051 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
'enum reg_class' to reg_class_t.
* reload.h (memory_move_cost): Update prototype.
* postreload.c reload_cse_simplify_set): Change type dclass var to
reg_class_t.
* ira-int.h (ira_allocate_cost_vector, ira_free_cost_vector):
Update prototype.
(ira_allocate_and_set_costs): Change aclass argument type form
'enum reg_class' to reg_class_t.
* ira-build.c (ira_allocate_cost_vector, ira_free_cost_vector):
Change aclass argument type to reg_class_t.
(update_conflict_hard_reg_costs): Change type aclass and pref vars
to reg_class_t.
* gcc/ira.c (setup_class_subset_and_memory_move_costs): Adjust
memory_move_cost call.
* config/ia64/ia64.c (ia64_register_move_cost): Remove 'from' and
'to' local var. Rename from_i and to_i arguments to 'from' and 'to'.
Change type tmp var to reg_class_t.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173232 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* rtl.h (check_for_inc_dec): Declare.
* dse.c (check_for_inc_dec): Externalize...
* postreload.c (reload_cse_simplify): ...use it before deleting stmt.
(reload_cse_simplify_operands): Don't simplify opnds with side effects.
* testsuite/gfortran.dg/pr47614.f: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170059 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR rtl-optimization/43494
* rtl.h (for_each_inc_dec_fn): New type.
(for_each_inc_dec): Declare.
* rtlanal.c (struct for_each_inc_dec_ops): New type.
(for_each_inc_dec_find_inc_dec): New fn.
(for_each_inc_dec_find_mem): New fn.
(for_each_inc_dec): New fn.
* dse.c (struct insn_size): Remove.
(replace_inc_dec, replace_inc_dec_mem): Remove.
(emit_inc_dec_insn_before): New fn.
(check_for_inc_dec): Use it, along with for_each_inc_dec.
(canon_address): Pass mem modes to cselib_lookup.
* cselib.h (cselib_lookup): Add memmode argument. Adjust callers.
(cselib_lookup_from_insn): Likewise.
(cselib_subst_to_values): Likewise.
* cselib.c (find_slot_memmode): New var.
(cselib_find_slot): New fn. Use it instead of
htab_find_slot_with_hash everywhere.
(entry_and_rtx_equal_p): Use find_slot_memmode.
(autoinc_split): New fn.
(rtx_equal_for_cselib_p): Rename and implement in terms of...
(rtx_equal_for_cselib_1): ... this. Take memmode, pass it on.
Deal with autoinc. Special-case recursion into MEMs.
(cselib_hash_rtx): Likewise.
(cselib_lookup_mem): Infer pmode from address mode. Distinguish
address and MEM modes.
(cselib_subst_to_values): Add memmode, pass it on.
Deal with autoinc.
(cselib_lookup): Add memmode argument, pass it on.
(cselib_lookup_from_insn): Add memmode.
(cselib_invalidate_rtx): Discard obsolete push_operand handling.
(struct cselib_record_autoinc_data): New.
(cselib_record_autoinc_cb): New fn.
(cselib_record_sets): Use it, along with for_each_inc_dec. Pass MEM
mode to cselib_lookup. Reset autoinced REGs here instead of...
(cselib_process_insn): ... here.
* var-tracking.c (replace_expr_with_values, use_type): Pass MEM mode
to cselib_lookup.
(add_uses): Likewise, also to cselib_subst_to_values.
(add_stores): Likewise.
* sched-deps.c (add_insn_mem_dependence): Pass mode to
cselib_subst_to_values.
(sched_analyze_1, sched_analyze_2): Likewise. Adjusted.
* gcse.c (do_local_cprop): Adjusted.
* postreload.c (reload_cse_simplify_set): Adjusted.
(reload_cse_simplify_operands): Adjusted.
* sel-sched-dump (debug_mem_addr_value): Pass mode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@169782 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@169322 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* postreload.c (reload_combine_recognize_const_pattern): Do not
separate cc0 setter and user on cc0 targets.
PR rtl-optimization/46856
* gcc.c-torture/compile/pr46856.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@169321 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
* postreload.c (reload_combine_note_store): Also handle
PRE_MODIFY and POST_MODIFY.
* gfortran.dg/pr47008.f03: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168117 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* toplev.h: Don't include input.h or bversion.h.
(parse_optimize_options): Don't declare here.
* alias.c, auto-inc-dec.c, c-aux-info.c, c-convert.c, c-parser.c,
caller-save.c, cfg.c, cfganal.c, cfgbuild.c, cfgcleanup.c,
combine-stack-adj.c, config/arm/pe.c, config/darwin-c.c,
config/host-darwin.c, config/i386/host-cygwin.c,
config/i386/host-mingw32.c, config/i386/msformat-c.c,
config/i386/netware.c, config/i386/nwld.c,
config/i386/winnt-cxx.c, config/i386/winnt-stubs.c,
config/ia64/ia64-c.c, config/m32c/m32c-pragma.c,
config/mep/mep-pragma.c, config/microblaze/microblaze-c.c,
config/rs6000/host-darwin.c, config/rs6000/rs6000-c.c,
config/score/score3.c, config/score/score7.c,
config/sh/symbian-base.c, config/sh/symbian-c.c,
config/sh/symbian-cxx.c, config/sol2-c.c, config/sol2.c,
config/v850/v850-c.c, config/vxworks.c, convert.c, cppbuiltin.c,
cselib.c, dbgcnt.c, ddg.c, dfp.c, dominance.c, emit-rtl.c,
fixed-value.c, fwprop.c, ggc-common.c, gimple.c, gimplify.c,
graphite-blocking.c, graphite-clast-to-gimple.c,
graphite-dependences.c, graphite-flattening.c,
graphite-interchange.c, graphite-poly.c,
graphite-scop-detection.c, graphite.c, haifa-sched.c,
implicit-zee.c, integrate.c, ipa-pure-const.c, ipa-reference.c,
ira-build.c, ira-conflicts.c, ira-costs.c, ira-lives.c, jump.c,
lists.c, loop-doloop.c, loop-iv.c, lto-cgraph.c, lto-compress.c,
lto-opts.c, lto-section-in.c, lto-section-out.c,
lto-streamer-out.c, lto-symtab.c, modulo-sched.c, optabs.c,
params.c, postreload-gcse.c, postreload.c, predict.c, profile.c,
regcprop.c, reginfo.c, regmove.c, reorg.c, resource.c,
sched-deps.c, sched-ebb.c, sched-rgn.c, sdbout.c,
sel-sched-dump.c, sel-sched-ir.c, sese.c, stmt.c, targhooks.c,
tree-cfgcleanup.c, tree-mudflap.c, tree-nomudflap.c,
tree-object-size.c, tree-outof-ssa.c, tree-phinodes.c,
tree-profile.c, tree-sra.c, tree-ssa-ccp.c, tree-ssa-coalesce.c,
tree-ssa-live.c, tree-ssa-loop-prefetch.c, tree-ssa-loop.c,
tree-ssa-operands.c, tree-ssa-structalias.c, tree-ssa-uninit.c,
tree-vect-patterns.c, value-prof.c, var-tracking.c, web.c: Don't
include toplev.h.
* Makefile.in (TOPLEV_H): Remove. All uses changed to use
toplev.h. Dependencies for above files and c-family files changed
to remove $(TOPLEV_H) or toplev.h.
(C_TREE_H): Don't include $(TOPLEV_H).
(DIAGNOSTIC_CORE_H): Use $(INPUT_H) instead of input.h. Add
bversion.h.
* config/arm/t-pe, config/arm/t-wince-pe, config/i386/t-cygming,
config/ia64/t-ia64, config/mep/t-mep, config/score/t-score-elf,
config/t-darwin, config/t-sol2,
config/t-vxworks, config/v850/t-v850, config/v850/t-v850e:
Dependencies for above files changed to remove $(TOPLEV_H) or
toplev.h.
c-family:
* c-common.h (parse_optimize_options): Declare.
* c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
cp:
* cp-gimplify.c, cp-lang.c, cvt.c, cxx-pretty-print.c, error.c,
except.c, expr.c, friend.c, init.c, mangle.c, name-lookup.c,
optimize.c, parser.c, rtti.c, tree.c, typeck2.c: Don't include
toplev.h.
* Make-lang.in: Dependencies for above files changed to remove
toplev.h.
java:
* expr.c, lang.c, mangle.c, mangle_name.c, typeck.c,
verify-glue.c: Don't include toplev.h.
* Make-lang.in: Dependencies for above files changed to remove
toplev.h.
lto:
* Make-lang.in (lto/lto-object.o): Depend on toplev.h instead of
$(TOPLEV_H).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167293 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
| |
* postreload.c (reload_combine_note_store): Deal with embedded
side effects in MEM expressions.
* gfortran.dg/pr46297.f: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166905 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
Reverse backward loop. Fix formatting issues.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166878 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* gcc/postreload.c (reload_combine): Invalidate register use
information on all control flow insns.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166820 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* postreload.c (move2add_use_add2_insn): Use full_costs for
comparison.
(move2add_use_add3_insn): Likewise.
(reload_cse_move2add): Likewise.
* rtlanal.c (get_full_rtx_cost): New function.
* rtl.h (struct full_rtx_costs): New.
(init_costs_to_max, init_costs_to_zero, costs_lt_p,
costs_add_n_insns): New inline functions.
(get_full_rtx_cost): Declare.
testsuite/
PR target/40457
* gcc.target/arm/pr40457-3.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164732 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
to update conditions. Fix reg_mode[] check.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164524 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* postreload.c (reload_cse_simplify_operands): Use
SET_REGNO_RAW instead of SET_REGNO.
* caller-save.c (reg_save_code): Use SET_REGNO_RAW instead of
SET_REGNO.
* ira.c (setup_prohibited_mode_move_regs): Use SET_REGNO_RAW
instead of SET_REGNO.
* rtl.h (SET_REGNO_RAW): New macro.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162924 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
into account.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162812 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR rtl-optimization/45137
* rtl.h (prev_nonnote_nondebug_insn, next_nonnote_nondebug_insn): New
prototypes.
* emit-rtl.c (prev_nonnote_nondebug_insn, next_nonnote_nondebug_insn):
New functions.
* combine.c (next_nonnote_nondebug_insn): Removed.
* ifcvt.c (noce_process_if_block): Use prev_nonnote_nondebug_insn.
* haifa-sched.c (queue_to_ready): Use next_nonnote_nondebug_insn.
* sched-deps.c (sched_analyze_insn): Likewise.
(fixup_sched_groups, deps_start_bb): Use prev_nonnote_nondebug_insn.
* rtlanal.c (canonicalize_condition): Likewise.
* postreload.c (reload_combine_recognize_pattern): Likewise.
(reload_cse_move2add): Use next_nonnote_nondebug_insn.
* gcc.dg/pr45055.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162714 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
| |
(reload_combine_recognize_const_pattern): Use it here. Allow
substituting into a final add insn, and substituting into a memory
reference in an insn that sets the reg.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162573 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
for limiting the insn movement to the right scope.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162550 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR middle-end/45009
* postreload.c: Include "target.h".
(reload_combine_closest_single_use): Don't take DEBUG_INSNs
into account.
(fixup_debug_insns): Don't copy the rtx.
(reload_combine_recognize_const_pattern): DEBUG_INSNs can't
have uses. Don't copy when replacing. Call fixup_debug_insns
in the case where we merged one add with another.
(reload_combine_recognize_pattern): Fail if there aren't any
uses. Try harder to determine whether we're picking a valid
index register. Don't set store_ruid for an insn we're going
to scan in the next iteration.
(reload_combine): Remove unused code.
(reload_combine_note_use): When updating use information for
an old insn, ignore a use that occurs after store_ruid.
* Makefile.in (postreload.o): Update dependencies.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162390 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
FROM and TO. All callers changed. Don't look for tracked uses,
just scan the RTL for DEBUG_INSNs and substitute.
(reload_combine_recognize_pattern): Call fixup_debug_insns.
(reload_combine): Ignore DEBUG_INSNs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162342 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
number of uses for DEBUG_INSNs.
(fixup_debug_insns): New static function.
(reload_combine_recognize_const_pattern): Use it. Don't let the
main loop be affected by DEBUG_INSNs.
Really disallow moving adds past a jump insn.
(reload_combine_recognize_pattern): Don't update use_ruid here.
(reload_combine_note_use): Do it here.
(reload_combine): Use control_flow_insn_p rather than JUMP_P.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162301 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* postreload.c (reload_cse_move2add): Return bool, true if anything.
changed. All callers changed.
(move2add_use_add2_insn): Likewise.
(move2add_use_add3_insn): Likewise.
(reload_cse_regs): If reload_cse_move2add changed anything, rerun
reload_combine.
(RELOAD_COMBINE_MAX_USES): Bump to 16.
(last_jump_ruid): New static variable.
(struct reg_use): New members CONTAINING_MEM and RUID.
(reg_state): New members ALL_OFFSETS_MATCH and REAL_STORE_RUID.
(reload_combine_split_one_ruid, reload_combine_split_ruids,
reload_combine_purge_insn_uses, reload_combine_closest_single_use
reload_combine_purge_reg_uses_after_ruid,
reload_combine_recognize_const_pattern): New static functions.
(reload_combine_recognize_pattern): Verify that ALL_OFFSETS_MATCH
is true for our reg and that we have available index regs.
(reload_combine_note_use): New args RUID and CONTAINING_MEM. All
callers changed. Use them to initialize fields in struct reg_use.
(reload_combine): Initialize last_jump_ruid. Be careful when to
take PREV_INSN of the scanned insn. Update REAL_STORE_RUID fields.
Call reload_combine_recognize_const_pattern.
(reload_combine_note_store): Update REAL_STORE_RUID field.
* gcc.target/arm/pr42235.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162270 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
| |
New static variables.
(reload_combine_recognize_pattern): New static function, broken out
of reload_combine.
(reload_combine): Use it. Only initialize first_index_reg and
last_index_reg once.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162228 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
| |
2010-07-12 H.J. Lu <hongjiu.lu@intel.com>
PR bootstrap/44921
* postreload.c (move2add_use_add3_insn): Silence gcc warning
on min_regno.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162120 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
(move2add_use_add2_insn): New.
(move2add_use_add3_insn): New.
(reload_cse_move2add): Handle SYMBOL + OFFSET case.
(move2add_note_store): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162085 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* toplev.h: Do not include diagnostic-core.h.
Include diagnostic-core.h in every file that includes toplev.h.
* c-tree.h: Do not include toplev.h.
* pretty-print.h: Update comment.
* Makefile.in: Update dependencies.
* alias.c: Include diagnostic-core.h in every file that includes
toplev.h.
* attribs.c: Likewise.
* auto-inc-dec.c: Likewise.
* bb-reorder.c: Likewise.
* bt-load.c: Likewise.
* caller-save.c: Likewise.
* calls.c: Likewise.
* cfg.c: Likewise.
* cfganal.c: Likewise.
* cfgbuild.c: Likewise.
* cfgcleanup.c: Likewise.
* cfghooks.c: Likewise.
* cfgloop.c: Likewise.
* combine.c: Likewise.
* config/alpha/alpha.c: Likewise.
* config/arc/arc.c: Likewise.
* config/arm/arm.c: Likewise.
* config/arm/pe.c: Likewise.
* config/avr/avr.c: Likewise.
* config/bfin/bfin.c: Likewise.
* config/cris/cris.c: Likewise.
* config/crx/crx.c: Likewise.
* config/darwin-c.c: Likewise.
* config/darwin.c: Likewise.
* config/fr30/fr30.c: Likewise.
* config/frv/frv.c: Likewise.
* config/h8300/h8300.c: Likewise.
* config/host-darwin.c: Likewise.
* config/i386/i386.c: Likewise.
* config/i386/netware.c: Likewise.
* config/i386/nwld.c: Likewise.
* config/i386/winnt-cxx.c: Likewise.
* config/i386/winnt-stubs.c: Likewise.
* config/i386/winnt.c: Likewise.
* config/ia64/ia64-c.c: Likewise.
* config/ia64/ia64.c: Likewise.
* config/iq2000/iq2000.c: Likewise.
* config/lm32/lm32.c: Likewise.
* config/m32c/m32c-pragma.c: Likewise.
* config/m32c/m32c.c: Likewise.
* config/m32r/m32r.c: Likewise.
* config/m68hc11/m68hc11.c: Likewise.
* config/m68k/m68k.c: Likewise.
* config/mcore/mcore.c: Likewise.
* config/mep/mep-pragma.c: Likewise.
* config/mep/mep.c: Likewise.
* config/mmix/mmix.c: Likewise.
* config/mn10300/mn10300.c: Likewise.
* config/moxie/moxie.c: Likewise.
* config/pa/pa.c: Likewise.
* config/pdp11/pdp11.c: Likewise.
* config/picochip/picochip.c: Likewise.
* config/rs6000/rs6000-c.c: Likewise.
* config/rs6000/rs6000.c: Likewise.
* config/rx/rx.c: Likewise.
* config/s390/s390.c: Likewise.
* config/score/score.c: Likewise.
* config/score/score3.c: Likewise.
* config/score/score7.c: Likewise.
* config/sh/sh.c: Likewise.
* config/sh/symbian-base.c: Likewise.
* config/sh/symbian-c.c: Likewise.
* config/sh/symbian-cxx.c: Likewise.
* config/sol2-c.c: Likewise.
* config/sol2.c: Likewise.
* config/sparc/sparc.c: Likewise.
* config/spu/spu.c: Likewise.
* config/stormy16/stormy16.c: Likewise.
* config/v850/v850-c.c: Likewise.
* config/v850/v850.c: Likewise.
* config/vax/vax.c: Likewise.
* config/vxworks.c: Likewise.
* config/xtensa/xtensa.c: Likewise.
* convert.c: Likewise.
* cse.c: Likewise.
* cselib.c: Likewise.
* dbgcnt.c: Likewise.
* dbxout.c: Likewise.
* ddg.c: Likewise.
* dominance.c: Likewise.
* emit-rtl.c: Likewise.
* explow.c: Likewise.
* expmed.c: Likewise.
* fixed-value.c: Likewise.
* fold-const.c: Likewise.
* fwprop.c: Likewise.
* gcse.c: Likewise.
* ggc-common.c: Likewise.
* ggc-page.c: Likewise.
* ggc-zone.c: Likewise.
* gimple-low.c: Likewise.
* gimplify.c: Likewise.
* graph.c: Likewise.
* haifa-sched.c: Likewise.
* ifcvt.c: Likewise.
* implicit-zee.c: Likewise.
* integrate.c: Likewise.
* ira-build.c: Likewise.
* ira-color.c: Likewise.
* ira-conflicts.c: Likewise.
* ira-costs.c: Likewise.
* ira-lives.c: Likewise.
* ira.c: Likewise.
* lists.c: Likewise.
* loop-doloop.c: Likewise.
* loop-iv.c: Likewise.
* lto-opts.c: Likewise.
* lto-symtab.c: Likewise.
* main.c: Likewise.
* modulo-sched.c: Likewise.
* optabs.c: Likewise.
* params.c: Likewise.
* plugin.c: Likewise.
* postreload-gcse.c: Likewise.
* postreload.c: Likewise.
* predict.c: Likewise.
* profile.c: Likewise.
* real.c: Likewise.
* regcprop.c: Likewise.
* reginfo.c: Likewise.
* regmove.c: Likewise.
* reorg.c: Likewise.
* resource.c: Likewise.
* rtl.c: Likewise.
* rtlanal.c: Likewise.
* sched-deps.c: Likewise.
* sched-ebb.c: Likewise.
* sched-rgn.c: Likewise.
* sdbout.c: Likewise.
* sel-sched-dump.c: Likewise.
* sel-sched-ir.c: Likewise.
* simplify-rtx.c: Likewise.
* stmt.c: Likewise.
* stor-layout.c: Likewise.
* store-motion.c: Likewise.
* targhooks.c: Likewise.
* tree-cfg.c: Likewise.
* tree-cfgcleanup.c: Likewise.
* tree-dump.c: Likewise.
* tree-eh.c: Likewise.
* tree-inline.c: Likewise.
* tree-nomudflap.c: Likewise.
* tree-object-size.c: Likewise.
* tree-optimize.c: Likewise.
* tree-outof-ssa.c: Likewise.
* tree-phinodes.c: Likewise.
* tree-profile.c: Likewise.
* tree-ssa-ccp.c: Likewise.
* tree-ssa-coalesce.c: Likewise.
* tree-ssa-live.c: Likewise.
* tree-ssa-loop-niter.c: Likewise.
* tree-ssa-loop-prefetch.c: Likewise.
* tree-ssa-loop.c: Likewise.
* tree-ssa-structalias.c: Likewise.
* tree-ssa-uninit.c: Likewise.
* tree-ssa.c: Likewise.
* tree-vect-data-refs.c: Likewise.
* tree-vect-loop-manip.c: Likewise.
* tree-vect-loop.c: Likewise.
* tree-vect-patterns.c: Likewise.
* tree-vect-stmts.c: Likewise.
* tree-vrp.c: Likewise.
* varasm.c: Likewise.
* vec.c: Likewise.
* web.c: Likewise.
* xcoffout.c: Likewise.
c-family/
* c-common.h: Include diagnostic-core.h. Error if already
included.
* c-semantics.c: Do not define GCC_DIAG_STYLE here.
cp/
* cp-tree.h: Do not include toplev.h.
java/
* boehm.c: Include diagnostic-core.h in every file that includes
toplev.h.
* class.c: Likewise.
* constants.c: Likewise.
* decl.c: Likewise.
* except.c: Likewise.
* expr.c: Likewise.
* jcf-parse.c: Likewise.
* mangle.c: Likewise.
* mangle_name.c: Likewise.
* resource.c: Likewise.
* typeck.c: Likewise.
* verify-glue.c: Likewise.
ada/
* gcc-interface/utils.c: Include diagnostic-core.h in every file
that includes toplev.h.
lto/
* lto-coff.c: Include diagnostic-core.h in every file that
includes toplev.h.
* lto-elf.c: Likewise.
* lto-lang.c: Likewise.
* lto-macho.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161943 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* target-def.h (TARGET_REGISTER_MOVE_COST): New.
(TARGET_INITIALIZER): Use TARGET_REGISTER_MOVE_COST.
* targhooks.c (default_register_move_cost): New function.
* targhooks.h (default_register_move_cost): Declare function.
* defaults.h (REGISTER_MOVE_COST): Delete.
* ira-int.h (ira_register_move_cost): Update comment.
* ira.c: (ira_register_move_cost): Update comment.
* reload.h (register_move_cost): Declare.
* reginfo.c (register_move_cost): New function.
(move_cost): Update comment.
(init_move_cost, memory_move_secondary_cost): Replace
REGISTER_MOVE_COST with register_move_cost.
* postreload.c (reload_cse_simplify_set): (Ditto.).
* reload.c (find_valid_class, find_reloads): (Ditto.).
* reload1.c (choose_reload_regs): (Ditto.).
* doc/tm.texi (TARGET_REGISTER_MOVE_COST): New.
(REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Update documentation.
* doc/md.texi (can_create_pseudo_p): Update documentation.
* config/i386/i386.h (MEMORY_MOVE_COST): Remove macro.
* config/i386/i386-protos.h (int ix86_memory_move_cost): Remove.
* config/i386/i386.h (ix86_memory_move_cost): Make static.
(TARGET_MEMORY_MOVE_COST): Define.
* config/ia64/ia64.h (MEMORY_MOVE_COST): Remove macro.
* config/ia64/ia64-protos.h (int ia64_memory_move_cost): Remove.
* config/ia64/ia64.h (ia64_memory_move_cost): Make static.
(TARGET_MEMORY_MOVE_COST): Define.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161470 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* target-def.h (TARGET_MEMORY_MOVE_COST): New.
(TARGET_INITIALIZER): Use TARGET_MEMORY_MOVE_COST.
* targhooks.c (default_memory_move_cost): New function.
* targhooks.h (default_memory_move_cost): Declare function.
* reload.h (memory_move_cost): Declare.
(memory_move_secondary_cost): Change type of 'in' argument to bool.
* reginfo.c (memory_move_cost): New function.
(memory_move_secondary_cost): Change type of 'in' argument to bool.
* ira.h (ira_memory_move_cost): Update comment.
* ira.c: (ira_memory_move_cost): Update comment.
(setup_class_subset_and_memory_move_costs): Replace MEMORY_MOVE_COST
with memory_move_cost.
* postreload.c (reload_cse_simplify_set): (Ditto.).
* reload1.c (choose_reload_regs): (Ditto.).
* doc/tm.texi (TARGET_MEMORY_MOVE_COST): New.
(MEMORY_MOVE_COST): Revise documentation.
* config/i386/i386.h (MEMORY_MOVE_COST): Remove macro.
* config/i386/i386-protos.h (int ix86_memory_move_cost): Remove.
* config/i386/i386.h (ix86_memory_move_cost): Make static. Change
type of 'in' argument to bool.
(TARGET_MEMORY_MOVE_COST): Define.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160323 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* lto-streamer-in.c (input_function): Stream it in.
* lto-streamer-out.c (output_function): Stream it out.
* function.c (allocate_struct_function): Set it.
(expand_function_end): Substitute cfun->can_throw_non_call_exceptions
for flag_non_call_exceptions.
* cfgbuild.c (control_flow_insn_p): Likewise.
(make_edges): Likewise.
* cfgexpand.c (expand_stack_alignment): Likewise.
* combine.c (distribute_notes): Likewise.
* cse.c (cse_extended_basic_block): Likewise.
* except.c (insn_could_throw_p): Likewise.
* gcse.c (simple_mem): Likewise.
* ipa-pure-const.c (check_call): Likewise.
(check_stmt ): Likewise.
* lower-subreg.c (lower-subreg.c): Likewise.
* optabs.c (emit_libcall_block): Likewise.
(prepare_cmp_insn): Likewise.
* postreload-gcse.c (eliminate_partially_redundant_loads): Likewise.
* postreload.c (rest_of_handle_postreload): Likewise.
* reload1.c (reload_as_needed): Likewise.
(emit_input_reload_insns): Likewise.
(emit_output_reload_insns): Likewise.
(fixup_abnormal_edges): Likewise.
* sel-sched-ir.c (init_global_and_expr_for_insn): Likewise.
* store-motion.c (find_moveable_store): Likewise.
* tree-eh.c (stmt_could_throw_p): Likewise.
(tree_could_throw_p): Likewise.
* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
* config/arm/arm.c (arm_expand_prologue): Likewise.
(thumb1_expand_prologue): Likewise.
* config/rx/rx.md (cbranchsf4): Likewise.
(cmpsf): Likewise.
* config/s390/s390.c (s390_emit_prologue): Likewise.
* tree-inline.c (initialize_cfun): Copy can_throw_non_call_exceptions.
(inline_forbidden_into_p): New predicate.
(expand_call_inline): Use it to forbid inlining.
(tree_can_inline_p): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159847 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* tree.h: Include real.h and fixed-value.h as basic datatypes.
* dfp.c, convert.c, reload1.c, reginfo.c, tree-flow.h,
tree-ssa-threadedge.c, tree-ssanames.c, tree-loop-linear.c,
tree-into-ssa.c, tree-vect-generic.c, tree-ssa-structalias.c,
tree-ssa-loop-im.c, tree-dump.c, tree-complex.c, tree-ssa-uninit.c,
genrecog.c, tree-ssa-threadupdate.c, tree-ssa-loop-niter.c,
tree-pretty-print.c, tree-loop-distribution.c,
tree-ssa-loop-unswitch.c, c-lex.c, optabs.c, postreload-gcse.c,
tree-ssa-loop-manip.c, postreload.c, tree-ssa-loop-ch.c,
tree-tailcall.c, tree.c, reload.c, tree-scalar-evolution.c, rtlanal.c,
tree-phinodes.c, builtins.c, final.c, genoutput.c, fold-const.c,
tree-ssa-dse.c, genautomata.c, tree-ssa-uncprop.c, toplev.c,
tree-chrec.c, genemit.c, c-cppbuiltin.c, tree-ssa-sccvn.c,
tree-ssa-ccp.c, tree-ssa-loop-ivopts.c, mode-switching.c,
tree-call-cdce.c, cse.c, genpeep.c, tree-ssa-math-opts.c,
tree-ssa-dom.c, tree-nrv.c, tree-ssa-propagate.c, tree-ssa-alias.c,
tree-ssa-sink.c, jump.c, ifcvt.c, dwarf2out.c, expr.c, genattrtab.c,
genconditions.c, tree-ssa-loop-ivcanon.c, tree-ssa-loop.c,
tree-parloops.c, recog.c, tree-ssa-address.c, lcm.c, tree-eh.c,
gimple-pretty-print.c, c-pretty-print.c, print-rtl.c, gcse.c,
tree-if-conv.c, tree-data-ref.c, tree-affine.c, gimplify.c,
tree-ssa-phiopt.c, implicit-zee.c, expmed.c, tree-dfa.c, emit-rtl.c,
store-motion.c, cselib.c, tree-cfgcleanup.c, simplify-rtx.c,
tree-ssa-pre.c, genpreds.c, tree-mudflap.c, print-tree.c,
tree-ssa-copy.c, tree-ssa-forwprop.c, tree-ssa-dce.c, varasm.c,
tree-nested.c, tree-ssa.c, tree-ssa-loop-prefetch.c, rtl.c,
tree-inline.c, integrate.c, tree-optimize.c, tree-ssa-phiprop.c,
fixed-value.c, combine.c, tree-profile.c, c-common.c, sched-vis.c,
tree-cfg.c, passes.c, tree-ssa-reassoc.c, config/alpha/alpha.c,
config/frv/frv.c, config/s390/s390.c, config/m32c/m32c.c,
config/spu/spu.c, config/sparc/sparc.c, config/mep/mep.c,
config/m32r/m32r.c, config/rx/rx.c, config/i386/i386.c,
config/sh/sh.c, config/pdp11/pdp11.c, config/avr/avr.c,
config/crx/crx.c, config/xtensa/xtensa.c, config/stormy16/stormy16.c,
config/fr30/fr30.c, config/lm32/lm32.c, config/moxie/moxie.c,
config/m68hc11/m68hc11.c, config/cris/cris.c, config/iq2000/iq2000.c,
config/mn10300/mn10300.c, config/ia64/ia64.c, config/m68k/m68k.c,
config/rs6000/rs6000.c, config/picochip/picochip.c, config/darwin.c,
config/arc/arc.c, config/mcore/mcore.c, config/score/score3.c,
config/score/score7.c, config/score/score.c, config/arm/arm.c,
config/pa/pa.c, config/mips/mips.c, config/vax/vax.c,
config/h8300/h8300.c, config/v850/v850.c, config/mmix/mmix.c,
config/bfin/bfin.c:
Clean up redundant includes.
* Makefile.in: Update accordingly.
java/ChangeLog:
* typeck.c, decl.c, jcf-parse.c, except.c, expr.c:
cp/Changelog:
* error.c, tree.c, typeck2.c, cxx-pretty-print.c, mangle.c:
Clean up redundant includes.
fortran/ChangeLog:
* trans-const.c, trans-types.c, trans-intrinsic.c:
Clean up redundant includes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159663 138bc75d-0d04-0410-961f-82ee72b054a4
|