1. 05 Jan, 2015 1 commit
  2. 19 Nov, 2014 1 commit
    • Merger of git branch "gimple-classes-v2-option-3" · 538dd0b7
      gcc/ChangeLog:
      	Merger of git branch "gimple-classes-v2-option-3".
      
      	* ChangeLog.gimple-classes: New.
      
      	* coretypes.h (struct gcond): Add forward decl.
      	(struct gdebug): Likewise.
      	(struct ggoto): Likewise.
      	(struct glabel): Likewise.
      	(struct gswitch): Likewise.
      	(struct gassign): Likewise.
      	(struct gasm): Likewise.
      	(struct gcall): Likewise.
      	(struct gtransaction): Likewise.
      	(struct greturn): Likewise.
      	(struct gbind): Likewise.
      	(struct gcatch): Likewise.
      	(struct geh_filter): Likewise.
      	(struct geh_mnt): Likewise.
      	(struct geh_else): Likewise.
      	(struct gresx): Likewise.
      	(struct geh_dispatch): Likewise.
      	(struct gphi): Likewise.
      	(struct gtry): Likewise.
      	(struct gomp_atomic_load): Likewise.
      	(struct gomp_atomic_store): Likewise.
      	(struct gomp_continue): Likewise.
      	(struct gomp_critical): Likewise.
      	(struct gomp_for): Likewise.
      	(struct gomp_parallel): Likewise.
      	(struct gomp_task): Likewise.
      	(struct gomp_sections): Likewise.
      	(struct gomp_single): Likewise.
      	(struct gomp_target): Likewise.
      	(struct gomp_teams): Likewise.
      
      	* doc/gimple.texi (Class hierarchy of GIMPLE statements): Update
      	for renaming of gimple subclasses.
      
      	* gdbhooks.py: Update.
      
      	* gimple-iterator.c (gsi_for_phi): New.
      	(gsi_start_phis): Strengthen return type from gimple_stmt_iterator
      	to gphi_iterator.
      	* gimple-iterator.h (struct gphi_iterator): New subclass of
      	gimple_stmt_iterator.
      	(gsi_for_phi): New prototype.
      	(gsi_start_phis): Strengthen return type from gimple_stmt_iterator
      	to gphi_iterator.
      	(gsi_next_nonvirtual_phi): Strengthen param from
      	gimple_stmt_iterator * to gphi_iterator *, and local "phi" from
      	gimple to gphi *.
      
      	* gsstruct.def: Update for renamings of classes.
      
      	* gimple.c (gimple_build_return): Strengthen return type from
      	gimple to greturn *.
      	(gimple_call_reset_alias_info): Strengthen param to gcall *.
      	(gimple_build_call_1): Strengthen return type from gimple to
      	gcall *.
      	(gimple_build_call_vec): Likewise.
      	(gimple_build_call): Likewise.
      	(gimple_build_call_valist): Likewise.
      	(gimple_build_call_internal_1): Likewise.
      	(gimple_build_call_internal): Likewise.
      	(gimple_build_call_internal_vec): Likewise.
      	(gimple_build_call_from_tree): Likewise.
      	(gimple_build_assign_stat): Strengthen return type from gimple to
      	gassign *.
      	(gimple_build_assign_with_ops): Likewise.
      	(gimple_build_assign_with_ops): Likewise.
      	(gimple_build_cond): Strengthen return type from gimple to
      	gcond *.
      	(gimple_build_cond_from_tree): Likewise.
      	(gimple_cond_set_condition_from_tree): Require a gcond *.
      	(gimple_build_label): Strengthen return type from gimple to
      	glabel *.
      	(gimple_build_goto): Strengthen return type from gimple to
      	ggoto *.
      	(gimple_build_bind): Strengthen return type from gimple to
      	gbind *.
      	(gimple_build_asm_1): Strengthen return type from gimple to
      	gasm *.
      	(gimple_build_asm_vec): Likewise.
      	(gimple_build_catch): Strengthen return type from gimple to
      	gcatch *.
      	(gimple_build_eh_filter): Strengthen return type from gimple to
      	geh_filter *.
      	(gimple_build_eh_must_not_throw): Strengthen return type from
      	gimple to geh_mnt *.
      	(gimple_build_eh_else): Strengthen return type from gimple to
      	geh_else *.
      	(gimple_build_try): Update for renaming of gimple_statement_try to
      	gtry.
      	(gimple_build_resx): Strengthen return type from gimple to
      	gresx *.
      	(gimple_build_switch_nlabels): Strengthen return type from gimple
      	to gswitch *.
      	(gimple_build_switch): Likewise.
      	(gimple_build_eh_dispatch): Strengthen return type from gimple to
      	geh_dispatch *.
      	(gimple_build_debug_bind_stat): Strengthen return type from gimple
      	to gdebug *.
      	(gimple_build_debug_source_bind_stat): Strengthen return type from
      	gimple to gdebug *.
      	(gimple_build_omp_critical): Strengthen return type from gimple to
      	gomp_critical *.
      	(gimple_build_omp_for): Strengthen return type from gimple to
      	gomp_for *.
      	(gimple_build_omp_parallel): Strengthen return type from gimple to
      	gomp_parallel *.
      	(gimple_build_omp_task): Strengthen return type from gimple to
      	gomp_task *.
      	(gimple_build_omp_continue): Strengthen return type from gimple to
      	gomp_continue *.
      	(gimple_build_omp_sections): Strengthen return type from gimple to
      	gomp_sections *.
      	(gimple_build_omp_single): Strengthen return type from gimple to
      	gomp_single *.
      	(gimple_build_omp_target): Strengthen return type from gimple to
      	gomp_target *.
      	(gimple_build_omp_teams): Strengthen return type from gimple to
      	gomp_teams *.
      	(gimple_build_omp_atomic_load): Strengthen return type from gimple
      	to gomp_atomic_load *.
      	(gimple_build_omp_atomic_store): Strengthen return type from gimple
      	to gomp_atomic_store *.
      	(gimple_build_transaction): Strengthen return type from gimple
      	to gtransaction *.
      	(empty_stmt_p): Replace check for GIMPLE_BIND with a dyn_cast.
      	(gimple_call_fnspec): Require a const gcall *.
      	(gimple_call_arg_flags): Likewise.
      	(gimple_call_return_flags): Likewise.
      	(gimple_set_bb): Add a checked cast.
      	(gimple_copy): Within the cases, add locals of the appropriate
      	subclass and use in place of "stmt" and "copy" for typesafety.
      	(gimple_has_side_effects): Add a checked cast.
      	(gimple_could_trap_p_1): Likewise.
      	(gimple_call_copy_skip_args): Require a gcall *, and return one.
      	(gimple_asm_clobbers_memory_p): Require a const gasm *.
      	(infer_nonnull_range): Replace a check for GIMPLE_RETURN with a
      	dyn_cast, introducing local "return_stmt" and using ti in place
      	of "stmt".
      
      	* gimple.h (gimple_vec): Eliminate this typedef.
      	(struct gimple_statement_call): Rename to...
      	(struct gcall): ...this.
      	(struct gimple_statement_bind): Rename to...
      	(struct gbind): ...this.
      	(struct gimple_statement_catch): Rename to...
      	(struct gcatch): ...this.
      	(struct gimple_statement_eh_filter): Rename to...
      	(struct geh_filter): ...this.
      	(struct gimple_statement_eh_else): Rename to...
      	(struct geh_else): ...this.
      	(struct gimple_statement_eh_mnt): Rename to...
      	(struct geh_mnt): ...this.
      	(struct gimple_statement_phi): Rename to...
      	(struct gphi): ...this.
      	(struct gimple_statement_resx): Rename to...
      	(struct gresx): ...this.
      	(struct gimple_statement_eh_dispatch): Rename to...
      	(struct geh_dispatch): ...this.
      	(struct gimple_statement_try): Rename to...
      	(struct gtry): ...this.
      	(struct gimple_statement_asm): Rename to...
      	(struct gasm): ...this.
      	(struct gimple_statement_omp_critical): Rename to...
      	(struct gomp_critical): ...this.
      	(struct gimple_statement_omp_for): Rename to...
      	(struct gomp_for): ...this.
      	(struct gimple_statement_omp_parallel): Rename to...
      	(struct gomp_parallel): ...this.
      	(struct gimple_statement_omp_target): Rename to...
      	(struct gomp_target): ...this.
      	(struct gimple_statement_omp_task): Rename to...
      	(struct gomp_task): ...this.
      	(struct gimple_statement_omp_sections): Rename to...
      	(struct gomp_sections): ...this.
      	(struct gimple_statement_omp_continue): Rename to...
      	(struct gomp_continue): ...this.
      	(struct gimple_statement_omp_single): Rename to...
      	(struct gomp_single): ...this.
      	(struct gimple_statement_omp_teams): Rename to...
      	(struct gomp_teams): ...this.
      	(struct gimple_statement_omp_atomic_load): Rename to...
      	(struct gomp_atomic_load): ...this.
      	(struct gimple_statement_omp_atomic_store :): Rename to...
      	(struct gomp_atomic_store :): ...this.
      	(struct gimple_statement_transaction): Rename to...
      	(struct gtransaction): ...this.
      	(struct gcond): New subclass.
      	(struct gdebug): New subclass.
      	(struct ggoto): New subclass.
      	(struct glabel): New subclass.
      	(struct gswitch): New subclass.
      	(struct gassign): New subclass.
      	(struct greturn): New subclass.
      	(is_a_helper <gimple_statement_asm *>::test): Rename to...
      	(is_a_helper <gasm *>::test): ...this.
      	(is_a_helper <gimple_statement_bind *>::test): Rename to...
      	(is_a_helper <gbind *>::test): ...this.
      	(is_a_helper <gassign *>::test): New.
      	(is_a_helper <gimple_statement_call *>::test): Rename to...
      	(is_a_helper <gcall *>::test): ...this.
      	(is_a_helper <gimple_statement_catch *>::test): Rename to...
      	(is_a_helper <gcatch *>::test): ...this.
      	(is_a_helper <gimple_statement_resx *>::test): Rename to...
      	(is_a_helper <gresx *>::test): ...this.
      	(is_a_helper <gcond *>::test): New.
      	(is_a_helper <gdebug *>::test): New.
      	(is_a_helper <ggoto *>::test): New.
      	(is_a_helper <glabel *>::test): New.
      	(is_a_helper <gimple_statement_eh_dispatch *>::test): Rename to...
      	(is_a_helper <geh_dispatch *>::test): ...this.
      	(is_a_helper <gimple_statement_eh_else *>::test): Rename to...
      	(is_a_helper <geh_else *>::test): ...this.
      	(is_a_helper <gimple_statement_eh_filter *>::test): Rename to...
      	(is_a_helper <geh_filter *>::test): ...this.
      	(is_a_helper <gimple_statement_eh_mnt *>::test): Rename to...
      	(is_a_helper <geh_mnt *>::test): ...this.
      	(is_a_helper <gimple_statement_omp_atomic_load *>::test): Rename to...
      	(is_a_helper <gomp_atomic_load *>::test): ...this.
      	(is_a_helper <gimple_statement_omp_atomic_store *>::test): Rename to...
      	(is_a_helper <gomp_atomic_store *>::test): ...this.
      	(is_a_helper <gimple_statement_omp_continue *>::test): Rename to...
      	(is_a_helper <gomp_continue *>::test): ...this.
      	(is_a_helper <gimple_statement_omp_critical *>::test): Rename to...
      	(is_a_helper <gomp_critical *>::test): ...this.
      	(is_a_helper <gimple_statement_omp_for *>::test): Rename to...
      	(is_a_helper <gomp_for *>::test): ...this.
      	(is_a_helper <gimple_statement_omp_parallel *>::test): Rename to...
      	(is_a_helper <gomp_parallel *>::test): ...this.
      	(is_a_helper <gimple_statement_omp_target *>::test): Rename to...
      	(is_a_helper <gomp_target *>::test): ...this.
      	(is_a_helper <gimple_statement_omp_sections *>::test): Rename to...
      	(is_a_helper <gomp_sections *>::test): ...this.
      	(is_a_helper <gimple_statement_omp_single *>::test): Rename to...
      	(is_a_helper <gomp_single *>::test): ...this.
      	(is_a_helper <gimple_statement_omp_teams *>::test): Rename to...
      	(is_a_helper <gomp_teams *>::test): ...this.
      	(is_a_helper <gimple_statement_omp_task *>::test): Rename to...
      	(is_a_helper <gomp_task *>::test): ...this.
      	(is_a_helper <gimple_statement_phi *>::test): Rename to...
      	(is_a_helper <gphi *>::test): ...this.
      	(is_a_helper <gimple_statement_transaction *>::test): Rename to...
      	(is_a_helper <gtransaction *>::test): ...this.
      	(is_a_helper <greturn *>::test): New.
      	(is_a_helper <gswitch *>::test): New.
      	(is_a_helper <gimple_statement_try *>::test): Rename to...
      	(is_a_helper <gtry *>::test): ...this.
      	(is_a_helper <const gimple_statement_asm *>::test): Rename to...
      	(is_a_helper <const gasm *>::test): ...this.
      	(is_a_helper <const gimple_statement_bind *>::test): Rename to...
      	(is_a_helper <const gbind *>::test): ...this.
      	(is_a_helper <const gimple_statement_call *>::test): Rename to...
      	(is_a_helper <const gcall *>::test): ...this.
      	(is_a_helper <const gimple_statement_catch *>::test): Rename to...
      	(is_a_helper <const gcatch *>::test): ...this.
      	(is_a_helper <const gimple_statement_resx *>::test): Rename to...
      	(is_a_helper <const gresx *>::test): ...this.
      	(is_a_helper <const gimple_statement_eh_dispatch *>::test): Rename to...
      	(is_a_helper <const geh_dispatch *>::test): ...this.
      	(is_a_helper <const gimple_statement_eh_filter *>::test): Rename to...
      	(is_a_helper <const geh_filter *>::test): ...this.
      	(is_a_helper <const gimple_statement_omp_atomic_load *>::test):
      	Rename to...
      	(is_a_helper <const gomp_atomic_load *>::test): ...this.
      	(is_a_helper <const gimple_statement_omp_atomic_store *>::test):
      	Rename to...
      	(is_a_helper <const gomp_atomic_store *>::test): ...this.
      	(is_a_helper <const gimple_statement_omp_continue *>::test):
      	Rename to...
      	(is_a_helper <const gomp_continue *>::test): ...this.
      	(is_a_helper <const gimple_statement_omp_critical *>::test):
      	Rename to...
      	(is_a_helper <const gomp_critical *>::test): ...this.
      	(is_a_helper <const gimple_statement_omp_for *>::test): Rename to...
      	(is_a_helper <const gomp_for *>::test): ...this.
      	(is_a_helper <const gimple_statement_omp_parallel *>::test):
      	Rename to...
      	(is_a_helper <const gomp_parallel *>::test): ...this.
      	(is_a_helper <const gimple_statement_omp_target *>::test): Rename to...
      	(is_a_helper <const gomp_target *>::test): ...this.
      	(is_a_helper <const gimple_statement_omp_sections *>::test):
      	Rename to...
      	(is_a_helper <const gomp_sections *>::test): ...this.
      	(is_a_helper <const gimple_statement_omp_single *>::test): Rename to...
      	(is_a_helper <const gomp_single *>::test): ...this.
      	(is_a_helper <const gimple_statement_omp_teams *>::test): Rename to...
      	(is_a_helper <const gomp_teams *>::test): ...this.
      	(is_a_helper <const gimple_statement_omp_task *>::test): Rename to...
      	(is_a_helper <const gomp_task *>::test): ...this.
      	(is_a_helper <const gimple_statement_phi *>::test): Rename to...
      	(is_a_helper <const gphi *>::test): ...this.
      	(is_a_helper <const gimple_statement_transaction *>::test): Rename to...
      	(is_a_helper <const gtransaction *>::test): ...this.
      	(gimple_build_return): Strengthen return type to greturn *.
      	(gimple_call_reset_alias_info): Require a gcall *.
      	(gimple_build_call_vec): Return a gcall *.
      	(gimple_build_call): Likewise.
      	(gimple_build_call_valist): Likewise.
      	(gimple_build_call_internal): Likewise.
      	(gimple_build_call_internal_vec): Likewise.
      	(gimple_build_call_from_tree): Likewise.
      	(gimple_build_assign_stat): Return a gassign *.
      	(gimple_build_assign_with_ops): Likewise.
      	(gimple_build_cond): Return a gcond *.
      	(gimple_build_cond_from_tree): Likewise.
      	(gimple_cond_set_condition_from_tree): Require a gcond *.
      	(gimple_build_label): Return a glabel *.
      	(gimple_build_goto): Return a ggoto *.
      	(gimple_build_bind): Return a gbind *.
      	(gimple_build_asm_vec): Return a gasm *.
      	(gimple_build_catch): Return a gcatch *.
      	(gimple_build_eh_filter): Return a geh_filter *.
      	(gimple_build_eh_must_not_throw): Return a geh_mnt *.
      	(gimple_build_eh_else): Return a geh_else *.
      	(gimple_build_try): Return a gtry *.
      	(gimple_build_resx): Return a gresx *.
      	(gimple_build_switch_nlabels): Return a gswitch *.
      	(gimple_build_switch): Return a gswitch *.
      	(gimple_build_eh_dispatch): Return a geh_dispatch *.
      	(gimple_build_debug_bind_stat): Return a gdebug *.
      	(gimple_build_debug_source_bind_stat): Return a gdebug *.
      	(gimple_build_omp_critical): Return a gomp_critical *.
      	(gimple_build_omp_for): Return a gomp_for *.
      	(gimple_build_omp_parallel): Return a gomp_parallel *.
      	(gimple_build_omp_task): Return a gomp_task *.
      	(gimple_build_omp_continue): Return a gomp_continue *.
      	(gimple_build_omp_sections): Return a gomp_sections *.
      	(gimple_build_omp_single): Return a gomp_single *.
      	(gimple_build_omp_target): Return a gomp_target *.
      	(gimple_build_omp_teams): Return a gomp_teams *.
      	(gimple_build_omp_atomic_load): Return a gomp_atomic_load *.
      	(gimple_build_omp_atomic_store): Return a gomp_atomic_store *.
      	(gimple_build_transaction): Return a gtransaction *.
      	(gimple_call_arg_flags): Require a const gcall *.
      	(gimple_call_return_flags): Likewise.
      	(gimple_call_copy_skip_args): Require and return a gcall *.
      	(gimple_asm_clobbers_memory_p): Require a const gasm *.
      	(gimple_seq_first_stmt_as_a_bind): New.
      	(gimple_assign_nontemporal_move_p): Require a const gassign *
      	rather than a const_gimple.
      	(gimple_call_internal_fn): Update for renaming to gcall.
      	(gimple_call_fntype): Likewise.
      	(gimple_call_set_fntype): Require a gcall * rather than a gimple.
      	(gimple_call_set_fn): Likewise.
      	(gimple_call_set_internal_fn): Likewise.
      	(gimple_call_set_chain): Likewise.
      	(gimple_call_set_tail): Likewise.
      	(gimple_call_tail_p): Likewise.
      	(gimple_call_set_return_slot_opt): Likewise.
      	(gimple_call_return_slot_opt_p): Likewise.
      	(gimple_call_set_from_thunk): Likewise.
      	(gimple_call_from_thunk_p): Likewise.
      	(gimple_call_set_va_arg_pack): Likewise.
      	(gimple_call_va_arg_pack_p): Likewise.
      	(gimple_call_set_nothrow): Likewise.
      	(gimple_call_nothrow_p): Likewise.
      	(gimple_call_set_alloca_for_var): Likewise.
      	(gimple_call_alloca_for_var_p): Likewise.
      	(gimple_call_use_set): Likewise.
      	(gimple_call_clobber_set): Likewise.
      	(gimple_call_return_type): Require a const gcall * rather than a
      	const_gimple.
      	(gimple_call_chain_ptr): Likewise.
      	(gimple_call_copy_flags): Require a pair of gcall *.
      	(gimple_cond_set_code): Require a gcond * rather than a gimple
      	(gimple_cond_set_lhs): Likewise.
      	(gimple_cond_set_rhs): Likewise.
      	(gimple_cond_set_true_label): Likewise.
      	(gimple_cond_set_false_label): Likewise.
      	(gimple_cond_make_false): Likewise.
      	(gimple_cond_make_true): Likewise.
      	(gimple_cond_lhs_ptr): Require a const gcond * rather than a
      	const_gimple.
      	(gimple_cond_rhs_ptr): Likewise.
      	(gimple_cond_true_label): Likewise.
      	(gimple_cond_false_label): Likewise.
      	(gimple_cond_true_p): Likewise.
      	(gimple_cond_false_p): Likewise.
      	(gimple_cond_set_condition): Likewise.
      	(gimple_label_label): Require a const glabel *.
      	(gimple_label_set_label): Require a glabel *.
      	(gimple_goto_set_dest): Require a ggoto *.
      	(gimple_bind_vars): Require a const gbind *.
      	(gimple_bind_block): Likewise.
      	(gimple_bind_set_vars): Require a gbind *.
      	(gimple_bind_append_vars): Likewise.
      	(gimple_bind_body_ptr): Likewise.
      	(gimple_bind_body): Likewise.
      	(gimple_bind_set_body): Likewise.
      	(gimple_bind_add_stmt): Likewise.
      	(gimple_bind_add_seq): Likewise.
      	(gimple_bind_set_block): Likewise.
      	(gimple_asm_ninputs): Require a const gasm *.
      	(gimple_asm_noutputs): Likewise.
      	(gimple_asm_nclobbers): Likewise.
      	(gimple_asm_nlabels): Likewise.
      	(gimple_asm_input_op): Likewise.
      	(gimple_asm_input_op_ptr): Likewise.
      	(gimple_asm_output_op): Likewise.
      	(gimple_asm_output_op_ptr): Likewise.
      	(gimple_asm_clobber_op): Likewise.
      	(gimple_asm_label_op): Likewise.
      	(gimple_asm_string): Likewise.
      	(gimple_asm_volatile_p): Likewise.
      	(gimple_asm_input_p): Likewise.
      	(gimple_asm_set_input_op): Require a gasm *.
      	(gimple_asm_set_output_op): Likewise.
      	(gimple_asm_set_clobber_op): Likewise.
      	(gimple_asm_set_label_op): Likewise.
      	(gimple_asm_set_volatile): Likewise.
      	(gimple_asm_set_input): Likewise.
      	(gimple_catch_types): Require a const gcatch *.
      	(gimple_catch_types_ptr): Require a gcatch *.
      	(gimple_catch_handler_ptr): Likewise.
      	(gimple_catch_handler): Likewise.
      	(gimple_catch_set_types): Likewise.
      	(gimple_catch_set_handler): Likewise.
      	(gimple_eh_filter_types): Update for renaming of subclass to
      	geh_filter.
      	(gimple_eh_filter_types_ptr): Likewise.
      	(gimple_eh_filter_failure_ptr): Likewise.
      	(gimple_eh_filter_set_types): Require a geh_filter *.
      	(gimple_eh_filter_set_failure): Likewise.
      	(gimple_eh_must_not_throw_fndecl): Require a geh_mnt *.
      	(gimple_eh_must_not_throw_set_fndecl): Likewise.
      	(gimple_eh_else_n_body_ptr): Require a geh_else *.
      	(gimple_eh_else_n_body): Likewise.
      	(gimple_eh_else_e_body_ptr): Likewise.
      	(gimple_eh_else_e_body): Likewise.
      	(gimple_eh_else_set_n_body): Likewise.
      	(gimple_eh_else_set_e_body): Likewise.
      	(gimple_try_set_kind): Require a gtry *.
      	(gimple_try_set_catch_is_cleanup): Likewise.
      	(gimple_try_set_eval): Likewise.
      	(gimple_try_set_cleanup): Likewise.
      	(gimple_try_eval_ptr): Update for renaming of subclass to gtry.
      	(gimple_try_cleanup_ptr): Likewise.
      	(gimple_phi_capacity): Update for renaming of subclass to gphi.
      	(gimple_phi_num_args): Likewise.
      	(gimple_phi_result): Likewise.
      	(gimple_phi_result_ptr): Likewise.
      	(gimple_phi_arg): Likewise.
      	(gimple_phi_set_result): Require a gphi *.
      	(gimple_phi_set_arg): Likewise.
      	(gimple_phi_arg_def_ptr): Likewise.
      	(gimple_phi_arg_edge): Likewise.
      	(gimple_phi_arg_location): Likewise.
      	(gimple_phi_arg_location_from_edge): Likewise.
      	(gimple_phi_arg_set_location): Likewise.
      	(gimple_phi_arg_has_location): Likewise.
      	(gimple_resx_region): Require a const gresx *.
      	(gimple_resx_set_region): Require a gresx *.
      	(gimple_eh_dispatch_region): Require a const geh_dispatch *.
      	(gimple_eh_dispatch_set_region): Require a geh_dispatch *.
      	(gimple_switch_num_labels): Require a const gswitch *.
      	(gimple_switch_set_num_labels): Likewise.
      	(gimple_switch_index): Likewise.
      	(gimple_switch_index_ptr): Likewise.
      	(gimple_switch_label): Likewise.
      	(gimple_switch_default_label): Likewise.
      	(gimple_switch_set_index): Require a gswitch *.
      	(gimple_switch_set_label): Likewise.
      	(gimple_switch_set_default_label): Likewise.
      	(gimple_omp_critical_name): Require a const gomp_critical *.
      	(gimple_omp_critical_name_ptr): Require a gomp_critical *.
      	(gimple_omp_critical_set_name): Likewise.
      	(gimple_omp_for_set_kind): Require a gomp_for *.
      	(gimple_omp_for_set_combined_p): Likewise.
      	(gimple_omp_for_set_combined_into_p): Likewise.
      	(gimple_omp_for_clauses): Update for renaming of subclass to
      	gomp_for.
      	(gimple_omp_for_clauses_ptr): Likewise.
      	(gimple_omp_for_set_clauses): Likewise.
      	(gimple_omp_for_collapse): Likewise.
      	(gimple_omp_for_index): Likewise.
      	(gimple_omp_for_index_ptr): Likewise.
      	(gimple_omp_for_set_index): Likewise.
      	(gimple_omp_for_initial): Likewise.
      	(gimple_omp_for_initial_ptr): Likewise.
      	(gimple_omp_for_set_initial): Likewise.
      	(gimple_omp_for_final): Likewise.
      	(gimple_omp_for_final_ptr): Likewise.
      	(gimple_omp_for_set_final): Likewise.
      	(gimple_omp_for_incr): Likewise.
      	(gimple_omp_for_incr_ptr): Likewise.
      	(gimple_omp_for_set_incr): Likewise.
      	(gimple_omp_for_pre_body): Likewise.
      	(gimple_omp_for_set_pre_body): Likewise.
      	(gimple_omp_parallel_clauses): Update for renaming of subclass to
      	gomp_parallel.
      	(gimple_omp_parallel_clauses_ptr): Require a gomp_parallel *.
      	(gimple_omp_parallel_set_clauses): Likewise.
      	(gimple_omp_parallel_child_fn_ptr): Likewise.
      	(gimple_omp_parallel_set_child_fn): Likewise.
      	(gimple_omp_parallel_data_arg_ptr): Likewise.
      	(gimple_omp_parallel_set_data_arg): Likewise.
      	(gimple_omp_parallel_child_fn): Require a const gomp_parallel *.
      	(gimple_omp_parallel_data_arg): Likewise.
      	(gimple_omp_task_clauses): Update for renaming of subclass to
      	gomp_task.
      	(gimple_omp_task_clauses_ptr): Likewise.
      	(gimple_omp_task_set_clauses): Likewise.
      	(gimple_omp_task_child_fn): Likewise.
      	(gimple_omp_task_child_fn_ptr): Likewise.
      	(gimple_omp_task_set_child_fn): Likewise.
      	(gimple_omp_task_data_arg): Likewise.
      	(gimple_omp_task_data_arg_ptr): Likewise.
      	(gimple_omp_task_set_data_arg): Likewise.
      	(gimple_omp_taskreg_clauses): Whitespace fixes.
      	(gimple_omp_taskreg_clauses_ptr): Likewise.
      	(gimple_omp_taskreg_set_clauses): Likewise.
      	(gimple_omp_taskreg_child_fn): Likewise.
      	(gimple_omp_taskreg_child_fn_ptr): Likewise.
      	(gimple_omp_taskreg_set_child_fn): Likewise.
      	(gimple_omp_taskreg_data_arg): Likewise.
      	(gimple_omp_taskreg_data_arg_ptr): Likewise.
      	(gimple_omp_taskreg_set_data_arg): Likewise.
      	(gimple_omp_task_copy_fn): Update for renaming of subclass to
      	gomp_task.
      	(gimple_omp_task_copy_fn_ptr): Likewise.
      	(gimple_omp_task_set_copy_fn): Likewise.
      	(gimple_omp_task_arg_size): Likewise.
      	(gimple_omp_task_arg_size_ptr): Likewise.
      	(gimple_omp_task_set_arg_size): Likewise.
      	(gimple_omp_task_arg_align): Likewise.
      	(gimple_omp_task_arg_align_ptr): Likewise.
      	(gimple_omp_task_set_arg_align): Likewise.
      	(gimple_omp_single_clauses): Update for renaming of subclass to
      	gomp_single.
      	(gimple_omp_single_clauses_ptr): Likewise.
      	(gimple_omp_single_set_clauses): Likewise.
      	(gimple_omp_target_clauses): Update for renaming of subclass to
      	gomp_target.
      	(gimple_omp_target_clauses_ptr): Likewise.
      	(gimple_omp_target_set_clauses): Require a gomp_target *.
      	(gimple_omp_target_set_kind): Likewise.
      	(gimple_omp_target_child_fn_ptr): Likewise.
      	(gimple_omp_target_set_child_fn): Likewise.
      	(gimple_omp_target_data_arg_ptr): Likewise.
      	(gimple_omp_target_set_data_arg): Likewise.
      	(gimple_omp_target_child_fn): Require a const gomp_target *.
      	(gimple_omp_target_data_arg): Likewise.
      	(gimple_omp_teams_clauses): Update for renaming of subclass to
      	gomp_teams.
      	(gimple_omp_teams_clauses_ptr): Likewise.
      	(gimple_omp_teams_set_clauses): Require a gomp_teams *.
      	(gimple_omp_sections_clauses): Update for renaming of subclass to
      	gomp_sections.
      	(gimple_omp_sections_clauses_ptr): Likewise.
      	(gimple_omp_sections_set_clauses): Likewise.
      	(gimple_omp_sections_control): Likewise.
      	(gimple_omp_sections_control_ptr): Likewise.
      	(gimple_omp_sections_set_control): Likewise.
      	(gimple_omp_for_set_cond): Likewise.
      	(gimple_omp_for_cond): Likewise.
      	(gimple_omp_atomic_store_set_val): Require a gomp_atomic_store *.
      	(gimple_omp_atomic_store_val_ptr): Likewise.
      	(gimple_omp_atomic_load_set_lhs): Likewise.
      	(gimple_omp_atomic_store_val): Require a const gomp_atomic_store *.
      	(gimple_omp_atomic_load_lhs): Likewise.
      	(gimple_omp_atomic_load_rhs): Likewise.
      	(gimple_omp_atomic_load_lhs_ptr): Require a gomp_atomic_load *.
      	(gimple_omp_atomic_load_set_rhs): Likewise.
      	(gimple_omp_atomic_load_rhs_ptr): Likewise.
      	(gimple_omp_continue_control_def): Require a const gomp_continue *.
      	(gimple_omp_continue_control_use): Likewise.
      	(gimple_omp_continue_control_def_ptr): Require a gomp_continue *.
      	(gimple_omp_continue_set_control_def): Likewise.
      	(gimple_omp_continue_control_use_ptr): Likewise.
      	(gimple_omp_continue_set_control_use): Likewise.
      	(gimple_transaction_body_ptr): Require a gtransaction *.
      	(gimple_transaction_body): Likewise.
      	(gimple_transaction_label_ptr): Likewise.
      	(gimple_transaction_label): Require a const gtransaction *.
      	(gimple_transaction_subcode): Likewise.
      	(gimple_transaction_set_body): Require a gtransaction *.
      	(gimple_transaction_set_label): Likewise.
      	(gimple_transaction_set_subcode): Likewise.
      	(gimple_return_retval_ptr): Require a const greturn *.
      	(gimple_return_retval): Likewise.
      	(gimple_return_set_retval): Require a greturn *.
      	(gimple_expr_type): Introduce local "call_stmt" and use in place of
      	"stmt" for typesafety.
      
      	* asan.c: Use gimple subclasses.
      	* auto-profile.c: Likewise.
      	* builtins.c: Likewise.
      	* builtins.h: Likewise.
      	* cfgexpand.c: Likewise.
      	* cfgloop.c: Likewise.
      	* cfgloopmanip.c: Likewise.
      	* cgraph.c: Likewise.
      	* cgraph.h: Likewise.
      	* cgraphbuild.c: Likewise.
      	* cgraphclones.c: Likewise.
      	* cgraphunit.c: Likewise.
      	* expr.h: Likewise.
      	* gimple-builder.c: Likewise.
      	* gimple-builder.h: Likewise.
      	* gimple-fold.c: Likewise.
      	* gimple-low.c: Likewise.
      	* gimple-pretty-print.c: Likewise.
      	* gimple-ssa-isolate-paths.c: Likewise.
      	* gimple-ssa-strength-reduction.c: Likewise.
      	* gimple-streamer-in.c: Likewise.
      	* gimple-streamer-out.c: Likewise.
      	* gimple-walk.c: Likewise.
      	* gimplify-me.c: Likewise.
      	* gimplify.c: Likewise.
      	* gimplify.h: Likewise.
      	* graphite-scop-detection.c: Likewise.
      	* graphite-sese-to-poly.c: Likewise.
      	* internal-fn.c: Likewise.
      	* internal-fn.def:: Likewise.
      	* internal-fn.h: Likewise.
      	* ipa-icf-gimple.c: Likewise.
      	* ipa-icf-gimple.h: Likewise.
      	* ipa-icf.c: Likewise.
      	* ipa-inline-analysis.c: Likewise.
      	* ipa-prop.c: Likewise.
      	* ipa-prop.h: Likewise.
      	* ipa-pure-const.c: Likewise.
      	* ipa-split.c: Likewise.
      	* lto-streamer-in.c: Likewise.
      	* lto-streamer-out.c: Likewise.
      	* omp-low.c: Likewise.
      	* predict.c: Likewise.
      	* sanopt.c: Likewise.
      	* sese.c: Likewise.
      	* ssa-iterators.h: Likewise.
      	* stmt.c: Likewise.
      	* trans-mem.c: Likewise.
      	* tree-call-cdce.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* tree-cfg.h: Likewise.
      	* tree-cfgcleanup.c: Likewise.
      	* tree-chkp.c: Likewise.
      	* tree-chkp.h: Likewise.
      	* tree-complex.c: Likewise.
      	* tree-data-ref.c: Likewise.
      	* tree-dfa.c: Likewise.
      	* tree-eh.c: Likewise.
      	* tree-eh.h: Likewise.
      	* tree-emutls.c: Likewise.
      	* tree-if-conv.c: Likewise.
      	* tree-inline.c: Likewise.
      	* tree-inline.h: Likewise.
      	* tree-into-ssa.c: Likewise.
      	* tree-into-ssa.h: Likewise.
      	* tree-loop-distribution.c: Likewise.
      	* tree-nrv.c: Likewise.
      	* tree-object-size.c: Likewise.
      	* tree-outof-ssa.c: Likewise.
      	* tree-parloops.c: Likewise.
      	* tree-phinodes.c: Likewise.
      	* tree-phinodes.h: Likewise.
      	* tree-predcom.c: Likewise.
      	* tree-profile.c: Likewise.
      	* tree-scalar-evolution.c: Likewise.
      	* tree-scalar-evolution.h
      	* tree-sra.cn_function):
      	* tree-ssa-alias.c: Likewise.
      	* tree-ssa-alias.h: Likewise.
      	* tree-ssa-ccp.c: Likewise.
      	* tree-ssa-coalesce.c: Likewise.
      	* tree-ssa-copy.c: Likewise.
      	* tree-ssa-copyrename.c: Likewise.
      	* tree-ssa-dce.c: Likewise.
      	* tree-ssa-dom.c: Likewise.
      	* tree-ssa-forwprop.c: Likewise.
      	* tree-ssa-ifcombine.c: Likewise.
      	* tree-ssa-live.c: Likewise.
      	* tree-ssa-loop-im.c: Likewise.
      	* tree-ssa-loop-ivcanon.c: Likewise.
      	* tree-ssa-loop-ivopts.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-math-opts.c: Likewise.
      	* tree-ssa-operands.c: Likewise.
      	* tree-ssa-phiopt.c: Likewise.
      	* tree-ssa-phiprop.c: Likewise.
      	* tree-ssa-pre.c: Likewise.
      	* tree-ssa-propagate.c: Likewise.
      	* tree-ssa-propagate.h: Likewise.
      	* tree-ssa-reassoc.c: Likewise.
      	* tree-ssa-sccvn.c: Likewise.
      	* tree-ssa-sccvn.h: Likewise.
      	* tree-ssa-sink.c: Likewise.
      	* tree-ssa-strlen.c
      	* tree-ssa-structalias.c
      	* tree-ssa-tail-merge.c: Likewise.
      	* tree-ssa-ter.c: Likewise.
      	* tree-ssa-threadedge.c: Likewise.
      	* tree-ssa-threadedge.h: Likewise.
      	* tree-ssa-threadupdate.c: Likewise.
      	* tree-ssa-uncprop.c: Likewise.
      	* tree-ssa-uninit.c: Likewise.
      	* tree-ssa.c: Likewise.
      	* tree-stdarg.c: Likewise.
      	* tree-switch-conversion.c: Likewise.
      	* tree-tailcall.c: Likewise.
      	* tree-vect-data-refs.c: Likewise.
      	* tree-vect-generic.c: Likewise.
      	* tree-vect-loop-manip.c: Likewise.
      	* tree-vect-loop.c: Likewise.
      	* tree-vect-patterns.c: Likewise.
      	* tree-vect-slp.c: Likewise.
      	* tree-vect-stmts.c: Likewise.
      	* tree-vectorizer.h: Likewise.
      	* tree-vrp.c: Likewise.
      	* tree.c: Likewise.
      	* ubsan.c: Likewise.
      	* value-prof.c: Likewise.
      	* value-prof.h: Likewise.
      	* vtable-verify.c: Likewise.
      
      gcc/c-family/ChangeLog:
      	Merger of git branch "gimple-classes-v2-option-3".
      	* ChangeLog.gimple-classes: New.
      	* c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
      	from being just a vec<gimple> to a vec<gbind *>.
      
      gcc/java/ChangeLog:
      	Merger of git branch "gimple-classes-v2-option-3".
      	* ChangeLog.gimple-classes: New.
      	* java-gimplify.c (java_gimplify_block): Strengthen local "outer"
      	from gimple to gbind *.
      
      From-SVN: r217787
      David Malcolm committed
  3. 27 Oct, 2014 1 commit
    • ggcplug.c: Shuffle includes to include gcc-plugin.h earlier. · 60393bbc
      2014-10-27  Andrew MacLeod  <amacleod@redhat.com>
      
      	* testsuite/gcc.dg/plugin/ggcplug.c: Shuffle includes to include
      	gcc-plugin.h earlier.
      
      2014-10-27  Andrew MacLeod  <amacleod@redhat.com>
      
      	* c/c-typeck.c: Adjust include files.
      
      2014-10-27  Andrew MacLeod  <amacleod@redhat.com>
      
      	* c-family/c-gimplify.c: Adjust include files.
      
      2014-10-27  Andrew MacLeod  <amacleod@redhat.com>
      
      	* cp/cp-gimplify.c: Adjust include files.
      
      2014-10-27  Andrew MacLeod  <amacleod@redhat.com>
      
      	* go/go-gcc.cc: Adjust include files.
      	* go/go-lang.c: Ditto.
      
      2014-10-27  Andrew MacLeod  <amacleod@redhat.com>
      
      	* java/java-gimplify.c: Adjust include files.
      
      2014-10-27  Andrew MacLeod  <amacleod@redhat.com>
      
      	* lto/lto-lang.c: Adjust include files.
      	* lto/lto-object.c: Ditto.
      	* lto/lto-partition.c: Ditto.
      	* lto/lto-symtab.c: Ditto.
      	* lto/lto.c: Ditto.
      
      2014-10-27  Andrew MacLeod  <amacleod@redhat.com>
      
      	* basic-block.h: Remove all includes.
      	(enum profile_status_d, struct control_flow_graph): Move to cfg.h
      	* cfg.h (profile_status_d, struct control_flow_graph): Relocate here.
      	* Makefile.in (GTFILES): Add cfg.h to list.
      	* cgraph.h (symbol_table::create_empty): Move to cgraph.c.
      	* cgraph.c (symbol_table::create_empty): Relocate from cgraph.h.
      	* genconditions.c (write_header): Add predict.h and basic-block.h to
      	lits of includes.
      	* genemit.c (main): Ditto.
      	* genpreds.c (write_insn_preds_c): Ditto.
      	* genrecog.c (write_header): Ditto.
      	* gengtype.c (open_base_files): Add predict.h, basic-block.h, and cfg.h
      	to list of includes.
      	* alias.c: Adjust include files.
      	* asan.c: Ditto.
      	* auto-inc-dec.c: Ditto.
      	* auto-profile.c: Ditto.
      	* bb-reorder.c: Ditto.
      	* bt-load.c: Ditto.
      	* builtins.c: Ditto.
      	* caller-save.c: Ditto.
      	* calls.c: Ditto.
      	* cfg.c: Ditto.
      	* cfganal.c: Ditto.
      	* cfgbuild.c: Ditto.
      	* cfgcleanup.c: Ditto.
      	* cfgexpand.c: Ditto.
      	* cfghooks.c: Ditto.
      	* cfgloop.c: Ditto.
      	* cfgloopanal.c: Ditto.
      	* cfgloopmanip.c: Ditto.
      	* cfgrtl.c: Ditto.
      	* cgraphbuild.c: Ditto.
      	* cgraphclones.c: Ditto.
      	* cgraphunit.c: Ditto.
      	* combine-stack-adj.c: Ditto.
      	* combine.c: Ditto.
      	* compare-elim.c: Ditto.
      	* coverage.c: Ditto.
      	* cprop.c: Ditto.
      	* cse.c: Ditto.
      	* cselib.c: Ditto.
      	* data-streamer-in.c: Ditto.
      	* data-streamer-out.c: Ditto.
      	* data-streamer.c: Ditto.
      	* dce.c: Ditto.
      	* ddg.c: Ditto.
      	* ddg.h: Ditto.
      	* df-core.c: Ditto.
      	* df-problems.c: Ditto.
      	* df-scan.c: Ditto.
      	* df.h: Ditto.
      	* dojump.c: Ditto.
      	* dominance.c: Ditto.
      	* domwalk.c: Ditto.
      	* dse.c: Ditto.
      	* dwarf2cfi.c: Ditto.
      	* emit-rtl.c: Ditto.
      	* et-forest.c: Ditto.
      	* except.c: Ditto.
      	* expmed.c: Ditto.
      	* expr.c: Ditto.
      	* final.c: Ditto.
      	* fold-const.c: Ditto.
      	* function.c: Ditto.
      	* fwprop.c: Ditto.
      	* gcc-plugin.h: Ditto.
      	* gcse.c: Ditto.
      	* generic-match-head.c: Ditto.
      	* ggc-page.c: Ditto.
      	* gimple-builder.c: Ditto.
      	* gimple-expr.c: Ditto.
      	* gimple-fold.c: Ditto.
      	* gimple-iterator.c: Ditto.
      	* gimple-low.c: Ditto.
      	* gimple-match-head.c: Ditto.
      	* gimple-pretty-print.c: Ditto.
      	* gimple-ssa-isolate-paths.c: Ditto.
      	* gimple-ssa-strength-reduction.c: Ditto.
      	* gimple-streamer-in.c: Ditto.
      	* gimple-streamer-out.c: Ditto.
      	* gimple-streamer.h: Ditto.
      	* gimple-walk.c: Ditto.
      	* gimple.c: Ditto.
      	* gimplify-me.c: Ditto.
      	* gimplify.c: Ditto.
      	* graph.c: Ditto.
      	* graphite-blocking.c: Ditto.
      	* graphite-clast-to-gimple.c: Ditto.
      	* graphite-dependences.c: Ditto.
      	* graphite-interchange.c: Ditto.
      	* graphite-isl-ast-to-gimple.c: Ditto.
      	* graphite-optimize-isl.c: Ditto.
      	* graphite-poly.c: Ditto.
      	* graphite-scop-detection.c: Ditto.
      	* graphite-sese-to-poly.c: Ditto.
      	* graphite.c: Ditto.
      	* haifa-sched.c: Ditto.
      	* hw-doloop.c: Ditto.
      	* ifcvt.c: Ditto.
      	* init-regs.c: Ditto.
      	* internal-fn.c: Ditto.
      	* ipa-cp.c: Ditto.
      	* ipa-devirt.c: Ditto.
      	* ipa-icf-gimple.c: Ditto.
      	* ipa-icf.c: Ditto.
      	* ipa-inline-analysis.c: Ditto.
      	* ipa-inline.c: Ditto.
      	* ipa-polymorphic-call.c: Ditto.
      	* ipa-profile.c: Ditto.
      	* ipa-prop.c: Ditto.
      	* ipa-pure-const.c: Ditto.
      	* ipa-reference.c: Ditto.
      	* ipa-split.c: Ditto.
      	* ipa-utils.c: Ditto.
      	* ipa.c: Ditto.
      	* ira-build.c: Ditto.
      	* ira-color.c: Ditto.
      	* ira-conflicts.c: Ditto.
      	* ira-costs.c: Ditto.
      	* ira-emit.c: Ditto.
      	* ira-lives.c: Ditto.
      	* ira.c: Ditto.
      	* jump.c: Ditto.
      	* lcm.c: Ditto.
      	* loop-doloop.c: Ditto.
      	* loop-init.c: Ditto.
      	* loop-invariant.c: Ditto.
      	* loop-iv.c: Ditto.
      	* loop-unroll.c: Ditto.
      	* lower-subreg.c: Ditto.
      	* lra-assigns.c: Ditto.
      	* lra-coalesce.c: Ditto.
      	* lra-constraints.c: Ditto.
      	* lra-eliminations.c: Ditto.
      	* lra-lives.c: Ditto.
      	* lra-spills.c: Ditto.
      	* lra.c: Ditto.
      	* lto-cgraph.c: Ditto.
      	* lto-compress.c: Ditto.
      	* lto-opts.c: Ditto.
      	* lto-section-in.c: Ditto.
      	* lto-section-out.c: Ditto.
      	* lto-streamer-in.c: Ditto.
      	* lto-streamer-out.c: Ditto.
      	* lto-streamer.c: Ditto.
      	* mcf.c: Ditto.
      	* mode-switching.c: Ditto.
      	* modulo-sched.c: Ditto.
      	* omp-low.c: Ditto.
      	* optabs.c: Ditto.
      	* opts-global.c: Ditto.
      	* passes.c: Ditto.
      	* postreload-gcse.c: Ditto.
      	* postreload.c: Ditto.
      	* predict.c: Ditto.
      	* print-rtl.c: Ditto.
      	* profile.c: Ditto.
      	* recog.c: Ditto.
      	* ree.c: Ditto.
      	* reg-stack.c: Ditto.
      	* regcprop.c: Ditto.
      	* regcprop.h: Ditto.
      	* reginfo.c: Ditto.
      	* regrename.c: Ditto.
      	* regstat.c: Ditto.
      	* reload.c: Ditto.
      	* reload1.c: Ditto.
      	* reorg.c: Ditto.
      	* resource.c: Ditto.
      	* rtlanal.c: Ditto.
      	* sched-deps.c: Ditto.
      	* sched-ebb.c: Ditto.
      	* sched-int.h: Ditto.
      	* sched-rgn.c: Ditto.
      	* sched-vis.c: Ditto.
      	* sel-sched-dump.c: Ditto.
      	* sel-sched-ir.c: Ditto.
      	* sel-sched-ir.h: Ditto.
      	* sel-sched.c: Ditto.
      	* sese.c: Ditto.
      	* shrink-wrap.c: Ditto.
      	* stack-ptr-mod.c: Ditto.
      	* stmt.c: Ditto.
      	* store-motion.c: Ditto.
      	* symtab.c: Ditto.
      	* toplev.c: Ditto.
      	* tracer.c: Ditto.
      	* trans-mem.c: Ditto.
      	* tree-affine.c: Ditto.
      	* tree-call-cdce.c: Ditto.
      	* tree-cfg.c: Ditto.
      	* tree-cfgcleanup.c: Ditto.
      	* tree-chrec.c: Ditto.
      	* tree-complex.c: Ditto.
      	* tree-data-ref.c: Ditto.
      	* tree-dfa.c: Ditto.
      	* tree-eh.c: Ditto.
      	* tree-emutls.c: Ditto.
      	* tree-if-conv.c: Ditto.
      	* tree-inline.c: Ditto.
      	* tree-into-ssa.c: Ditto.
      	* tree-loop-distribution.c: Ditto.
      	* tree-nested.c: Ditto.
      	* tree-nrv.c: Ditto.
      	* tree-object-size.c: Ditto.
      	* tree-outof-ssa.c: Ditto.
      	* tree-parloops.c: Ditto.
      	* tree-phinodes.c: Ditto.
      	* tree-predcom.c: Ditto.
      	* tree-pretty-print.c: Ditto.
      	* tree-profile.c: Ditto.
      	* tree-scalar-evolution.c: Ditto.
      	* tree-sra.c: Ditto.
      	* tree-ssa-address.c: Ditto.
      	* tree-ssa-alias.c: Ditto.
      	* tree-ssa-ccp.c: Ditto.
      	* tree-ssa-coalesce.c: Ditto.
      	* tree-ssa-copy.c: Ditto.
      	* tree-ssa-copyrename.c: Ditto.
      	* tree-ssa-dce.c: Ditto.
      	* tree-ssa-dom.c: Ditto.
      	* tree-ssa-dse.c: Ditto.
      	* tree-ssa-forwprop.c: Ditto.
      	* tree-ssa-ifcombine.c: Ditto.
      	* tree-ssa-live.c: Ditto.
      	* tree-ssa-loop-ch.c: Ditto.
      	* tree-ssa-loop-im.c: Ditto.
      	* tree-ssa-loop-ivcanon.c: Ditto.
      	* tree-ssa-loop-ivopts.c: Ditto.
      	* tree-ssa-loop-manip.c: Ditto.
      	* tree-ssa-loop-niter.c: Ditto.
      	* tree-ssa-loop-prefetch.c: Ditto.
      	* tree-ssa-loop-unswitch.c: Ditto.
      	* tree-ssa-loop.c: Ditto.
      	* tree-ssa-math-opts.c: Ditto.
      	* tree-ssa-operands.c: Ditto.
      	* tree-ssa-phiopt.c: Ditto.
      	* tree-ssa-phiprop.c: Ditto.
      	* tree-ssa-pre.c: Ditto.
      	* tree-ssa-propagate.c: Ditto.
      	* tree-ssa-reassoc.c: Ditto.
      	* tree-ssa-sccvn.c: Ditto.
      	* tree-ssa-sink.c: Ditto.
      	* tree-ssa-strlen.c: Ditto.
      	* tree-ssa-structalias.c: Ditto.
      	* tree-ssa-tail-merge.c: Ditto.
      	* tree-ssa-ter.c: Ditto.
      	* tree-ssa-threadedge.c: Ditto.
      	* tree-ssa-threadupdate.c: Ditto.
      	* tree-ssa-uncprop.c: Ditto.
      	* tree-ssa-uninit.c: Ditto.
      	* tree-ssa.c: Ditto.
      	* tree-ssanames.c: Ditto.
      	* tree-stdarg.c: Ditto.
      	* tree-streamer-in.c: Ditto.
      	* tree-streamer-out.c: Ditto.
      	* tree-streamer.c: Ditto.
      	* tree-switch-conversion.c: Ditto.
      	* tree-tailcall.c: Ditto.
      	* tree-vect-data-refs.c: Ditto.
      	* tree-vect-generic.c: Ditto.
      	* tree-vect-loop-manip.c: Ditto.
      	* tree-vect-loop.c: Ditto.
      	* tree-vect-patterns.c: Ditto.
      	* tree-vect-slp.c: Ditto.
      	* tree-vect-stmts.c: Ditto.
      	* tree-vectorizer.c: Ditto.
      	* tree-vrp.c: Ditto.
      	* tree.c: Ditto.
      	* tsan.c: Ditto.
      	* ubsan.c: Ditto.
      	* valtrack.c: Ditto.
      	* valtrack.h: Ditto.
      	* value-prof.c: Ditto.
      	* var-tracking.c: Ditto.
      	* varasm.c: Ditto.
      	* varpool.c: Ditto.
      	* vtable-verify.c: Ditto.
      	* web.c: Ditto.
      	* config/aarch64/aarch64-builtins.c: Ditto.
      	* config/aarch64/aarch64.c: Ditto.
      	* config/alpha/alpha.c: Ditto.
      	* config/arc/arc.c: Ditto.
      	* config/arm/arm.c: Ditto.
      	* config/avr/avr.c: Ditto.
      	* config/bfin/bfin.c: Ditto.
      	* config/c6x/c6x.c: Ditto.
      	* config/cr16/cr16.c: Ditto.
      	* config/cris/cris.c: Ditto.
      	* config/darwin-c.c: Ditto.
      	* config/darwin.c: Ditto.
      	* config/epiphany/epiphany.c: Ditto.
      	* config/epiphany/mode-switch-use.c: Ditto.
      	* config/epiphany/resolve-sw-modes.c: Ditto.
      	* config/fr30/fr30.c: Ditto.
      	* config/frv/frv.c: Ditto.
      	* config/h8300/h8300.c: Ditto.
      	* config/i386/i386.c: Ditto.
      	* config/i386/winnt.c: Ditto.
      	* config/ia64/ia64.c: Ditto.
      	* config/iq2000/iq2000.c: Ditto.
      	* config/lm32/lm32.c: Ditto.
      	* config/m32c/m32c.c: Ditto.
      	* config/m32r/m32r.c: Ditto.
      	* config/m68k/m68k.c: Ditto.
      	* config/mcore/mcore.c: Ditto.
      	* config/mep/mep.c: Ditto.
      	* config/microblaze/microblaze.c: Ditto.
      	* config/mips/mips.c: Ditto.
      	* config/mmix/mmix.c: Ditto.
      	* config/mn10300/mn10300.c: Ditto.
      	* config/moxie/moxie.c: Ditto.
      	* config/msp430/msp430.c: Ditto.
      	* config/nds32/nds32-cost.c: Ditto.
      	* config/nds32/nds32-fp-as-gp.c: Ditto.
      	* config/nds32/nds32-intrinsic.c: Ditto.
      	* config/nds32/nds32-isr.c: Ditto.
      	* config/nds32/nds32-md-auxiliary.c: Ditto.
      	* config/nds32/nds32-memory-manipulation.c: Ditto.
      	* config/nds32/nds32-pipelines-auxiliary.c: Ditto.
      	* config/nds32/nds32-predicates.c: Ditto.
      	* config/nds32/nds32.c: Ditto.
      	* config/nios2/nios2.c: Ditto.
      	* config/pa/pa.c: Ditto.
      	* config/pdp11/pdp11.c: Ditto.
      	* config/rl78/rl78.c: Ditto.
      	* config/rs6000/rs6000.c: Ditto.
      	* config/rx/rx.c: Ditto.
      	* config/s390/s390.c: Ditto.
      	* config/sh/sh-mem.cc: Ditto.
      	* config/sh/sh.c: Ditto.
      	* config/sh/sh_optimize_sett_clrt.cc: Ditto.
      	* config/sh/sh_treg_combine.cc: Ditto.
      	* config/sparc/sparc.c: Ditto.
      	* config/spu/spu.c: Ditto.
      	* config/stormy16/stormy16.c: Ditto.
      	* config/tilegx/tilegx.c: Ditto.
      	* config/tilepro/tilepro.c: Ditto.
      	* config/v850/v850.c: Ditto.
      	* config/vax/vax.c: Ditto.
      	* config/xtensa/xtensa.c: Ditto.
      
      From-SVN: r216735
      Andrew MacLeod committed
  4. 31 Jul, 2014 1 commit
    • re PR c++/60517 (warning/error for taking address of member of a temporary object) · b4dfdc11
      2014-07-31  Marc Glisse  <marc.glisse@inria.fr>
      
      	PR c++/60517
      gcc/c/
      	* c-typeck.c (c_finish_return): Return 0 instead of the address of
      	a local variable.
      gcc/cp/
      	* typeck.c (maybe_warn_about_returning_address_of_local): Return
      	whether it is returning the address of a local variable.
      	(check_return_expr): Return 0 instead of the address of a local
      	variable.
      gcc/c-family/
      	* c.opt (-Wreturn-local-addr): Move to common.opt.
      gcc/
      	* common.opt (-Wreturn-local-addr): Moved from c.opt.
      	* gimple-ssa-isolate-paths.c: Include diagnostic-core.h and intl.h.
      	(isolate_path): New argument to avoid inserting a trap.
      	(find_implicit_erroneous_behaviour): Handle returning the address
      	of a local variable.
      	(find_explicit_erroneous_behaviour): Likewise.
      gcc/testsuite/
      	* c-c++-common/addrtmp.c: New file.
      	* c-c++-common/uninit-G.c: Adapt.
      
      From-SVN: r213323
      Marc Glisse committed
  5. 09 Jul, 2014 1 commit
    • remove has_execute · 558d2559
      gcc/
      
      	* tree-pass.h (pass_data): Remove has_execute member.
      	* passes.c (execute_one_pass): Don't check pass->has_execute.
      	* asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
      	cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
      	compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
      	config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
      	config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
      	config/sh/sh_optimize_sett_clrt.cc, config/sh/sh_treg_combine.cc,
      	config/sparc/sparc.c, cprop.c, cse.c, dce.c, df-core.c, dse.c,
      	dwarf2cfi.c, except.c, final.c, function.c, fwprop.c, gcse.c,
      	gimple-low.c, gimple-ssa-isolate-paths.c,
      	gimple-ssa-strength-reduction.c, graphite.c, ifcvt.c, init-regs.c,
      	ipa-comdats.c, ipa-cp.c, ipa-devirt.c, ipa-inline-analysis.c,
      	ipa-inline.c, ipa-profile.c, ipa-pure-const.c, ipa-reference.c,
      	ipa-split.c, ipa-visibility.c, ipa.c, ira.c, jump.c, loop-init.c,
      	lower-subreg.c, mode-switching.c, modulo-sched.c, omp-low.c, passes.c,
      	postreload-gcse.c, postreload.c, predict.c, recog.c, ree.c,
      	reg-stack.c, regcprop.c, reginfo.c, regrename.c, reorg.c, sched-rgn.c,
      	stack-ptr-mod.c, store-motion.c, tracer.c, trans-mem.c,
      	tree-call-cdce.c, tree-cfg.c, tree-cfgcleanup.c, tree-complex.c,
      	tree-eh.c, tree-emutls.c, tree-if-conv.c, tree-into-ssa.c,
      	tree-loop-distribution.c, tree-nrv.c, tree-object-size.c,
      	tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c,
      	tree-sra.c, tree-ssa-ccp.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-ch.c, tree-ssa-loop-im.c,
      	tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
      	tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
      	tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
      	tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
      	tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
      	tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
      	tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
      	tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c,
      	web.c: Remove initializer for pass_data::has_execute.
      
      From-SVN: r212383
      Trevor Saunders committed
  6. 06 May, 2014 1 commit
    • tree-pass.h (TODO_verify_ssa, [...]): Remove. · 3bea341f
      2014-05-06  Richard Biener  <rguenther@suse.de>
      
      	* tree-pass.h (TODO_verify_ssa, TODO_verify_flow,
      	TODO_verify_stmts, TODO_verify_rtl_sharing): Remove.
      	(TODO_verify_all): Adjust.
      	* asan.c: Remove references to TODO_verify_ssa, TODO_verify_flow,
      	TODO_verify_stmts and TODO_verify_rtl_sharing.
      	* bb-reorder.c: Likewise.
      	* cfgexpand.c: Likewise.
      	* cprop.c: Likewise.
      	* cse.c: Likewise.
      	* function.c: Likewise.
      	* fwprop.c: Likewise.
      	* gcse.c: Likewise.
      	* gimple-ssa-isolate-paths.c: Likewise.
      	* gimple-ssa-strength-reduction.c: Likewise.
      	* ipa-split.c: Likewise.
      	* loop-init.c: Likewise.
      	* loop-unroll.c: Likewise.
      	* lower-subreg.c: Likewise.
      	* modulo-sched.c: Likewise.
      	* postreload-gcse.c: Likewise.
      	* predict.c: Likewise.
      	* recog.c: Likewise.
      	* sched-rgn.c: Likewise.
      	* store-motion.c: Likewise.
      	* tracer.c: Likewise.
      	* trans-mem.c: Likewise.
      	* tree-call-cdce.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* tree-cfgcleanup.c: Likewise.
      	* tree-complex.c: Likewise.
      	* tree-eh.c: Likewise.
      	* tree-emutls.c: Likewise.
      	* tree-if-conv.c: Likewise.
      	* tree-into-ssa.c: Likewise.
      	* tree-loop-distribution.c: Likewise.
      	* tree-object-size.c: Likewise.
      	* tree-parloops.c: Likewise.
      	* tree-pass.h: Likewise.
      	* tree-sra.c: Likewise.
      	* tree-ssa-ccp.c: Likewise.
      	* tree-ssa-copy.c: Likewise.
      	* tree-ssa-copyrename.c: Likewise.
      	* tree-ssa-dce.c: Likewise.
      	* tree-ssa-dom.c: Likewise.
      	* tree-ssa-dse.c: Likewise.
      	* tree-ssa-forwprop.c: Likewise.
      	* tree-ssa-ifcombine.c: Likewise.
      	* tree-ssa-loop-ch.c: Likewise.
      	* tree-ssa-loop-ivcanon.c: Likewise.
      	* tree-ssa-loop.c: Likewise.
      	* tree-ssa-math-opts.c: Likewise.
      	* tree-ssa-phiopt.c: Likewise.
      	* tree-ssa-phiprop.c: Likewise.
      	* tree-ssa-pre.c: Likewise.
      	* tree-ssa-reassoc.c: Likewise.
      	* tree-ssa-sink.c: Likewise.
      	* tree-ssa-strlen.c: Likewise.
      	* tree-ssa-tail-merge.c: Likewise.
      	* tree-ssa-uncprop.c: Likewise.
      	* tree-switch-conversion.c: Likewise.
      	* tree-tailcall.c: Likewise.
      	* tree-vect-generic.c: Likewise.
      	* tree-vectorizer.c: Likewise.
      	* tree-vrp.c: Likewise.
      	* tsan.c: Likewise.
      	* var-tracking.c: Likewise.
      	* bt-load.c: Likewise.
      	* cfgcleanup.c: Likewise.
      	* combine-stack-adj.c: Likewise.
      	* combine.c: Likewise.
      	* compare-elim.c: Likewise.
      	* config/epiphany/resolve-sw-modes.c: Likewise.
      	* config/i386/i386.c: Likewise.
      	* config/mips/mips.c: Likewise.
      	* config/s390/s390.c: Likewise.
      	* config/sh/sh_treg_combine.cc: Likewise.
      	* config/sparc/sparc.c: Likewise.
      	* dce.c: Likewise.
      	* dse.c: Likewise.
      	* final.c: Likewise.
      	* ifcvt.c: Likewise.
      	* mode-switching.c: Likewise.
      	* passes.c: Likewise.
      	* postreload.c: Likewise.
      	* ree.c: Likewise.
      	* reg-stack.c: Likewise.
      	* regcprop.c: Likewise.
      	* regrename.c: Likewise.
      	* web.c: Likewise.
      
      From-SVN: r210106
      Richard Biener committed
  7. 17 Apr, 2014 3 commits
    • pass cfun to pass::execute · be55bfe6
      gcc/
      	* passes.c (opt_pass::execute): Adjust.
      	(pass_manager::execute_pass_mode_switching): Likewise.
      	(early_local_passes::execute): Likewise.
      	(execute_one_pass): Pass cfun to the pass's execute method.
      	* tree-pass.h (opt_pass::execute): Add function * argument.
      	* asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
      	cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
      	compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
      	config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
      	config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
      	config/sparc/sparc.c, cprop.c, dce.c, df-core.c, dse.c, dwarf2cfi.c,
      	except.c, final.c, function.c, fwprop.c, gcse.c, gimple-low.c,
      	gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
      	graphite.c, ifcvt.c, init-regs.c, ipa-cp.c, ipa-devirt.c,
      	ipa-inline-analysis.c, ipa-inline.c, ipa-profile.c, ipa-pure-const.c,
      	ipa-reference.c, ipa-split.c, ipa.c, ira.c, jump.c, loop-init.c,
      	lower-subreg.c, mode-switching.c, omp-low.c, postreload-gcse.c,
      	postreload.c, predict.c, recog.c, ree.c, reg-stack.c, regcprop.c,
      	reginfo.c, regrename.c, reorg.c, sched-rgn.c, stack-ptr-mod.c,
      	store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
      	tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
      	tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
      	tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-ssa-ccp.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-ch.c, tree-ssa-loop-im.c,
      	tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
      	tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
      	tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
      	tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
      	tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
      	tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
      	tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
      	tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
      	Adjust.
      
      From-SVN: r209482
      Trevor Saunders committed
    • pass current function to opt_pass::gate () · 1a3d085c
      gcc/
      	* passes.c (opt_pass::gate): Take function * argument.
      	(gate_all_early_local_passes): Merge into
      	(early_local_passes::gate): this.
      	(gate_all_early_optimizations): Merge into
      	(all_early_optimizations::gate): this.
      	(gate_all_optimizations): Mege into
      	(all_optimizations::gate): this.
      	(gate_all_optimizations_g): Merge into
      	(all_optimizations_g::gate): this.
      	(gate_rest_of_compilation): Mege into
      	(rest_of_compilation::gate): this.
      	(gate_postreload): Merge into
      	(postreload::gate): this.
      	(dump_one_pass): Pass cfun to the pass's gate method.
      	(execute_ipa_summary_passes): Likewise.
      	(execute_one_pass): Likewise.
      	(ipa_write_summaries_2): Likewise.
      	(ipa_write_optimization_summaries_1): Likewise.
      	(ipa_read_summaries_1): Likewise.
      	(ipa_read_optimization_summaries_1): Likewise.
      	(execute_ipa_stmt_fixups): Likewise.
      	* tree-pass.h (opt_pass::gate): Add function * argument.
      	* asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c,
      	combine-stack-adj.c, combine.c, compare-elim.c,
      	config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
      	config/rl78/rl78.c, config/sh/sh_optimize_sett_clrt.cc,
      	config/sh/sh_treg_combine.cc, config/sparc/sparc.c, cprop.c, cse.c,
      	dce.c, df-core.c, dse.c, dwarf2cfi.c, except.c,  fwprop.c, gcse.c,
      	gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
      	graphite.c, ifcvt.c, init-regs.c, ipa-cp.c, ipa-devirt.c,
      	ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
      	loop-init.c, lower-subreg.c, mode-switching.c, modulo-sched.c,
      	omp-low.c, postreload-gcse.c, postreload.c, predict.c, recog.c, ree.c,
      	reg-stack.c, regcprop.c, regrename.c, reorg.c, sched-rgn.c,
      	store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
      	tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
      	tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c,
      	tree-nrv.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
      	tree-sra.c, tree-ssa-ccp.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-ch.c, tree-ssa-loop-im.c,
      	tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
      	tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
      	tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
      	tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
      	tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
      	tree-ssa.c, tree-stdarg.c, tree-switch-conversion.c, tree-tailcall.c,
      	tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c, tsan.c, ubsan.c,
      	var-tracking.c, vtable-verify.c, web.c: Adjust.
      
      gcc/testsuite/
      	* g++.dg/plugin/dumb_plugin.c, g++.dg/plugin/selfasign.c,
      	gcc.dg/plugin/one_time_plugin.c, gcc.dg/plugin/selfasign.c: Adjust.
      
      From-SVN: r209481
      Trevor Saunders committed
    • remove has_gate · 0481253d
      gcc/
      	* passes.c (dump_one_pass): don't check pass->has_gate.
      	(execute_ipa_summary_passes): Likewise.
      	(execute_one_pass): Likewise.
      	(ipa_write_summaries_2): Likewise.
      	(ipa_write_optimization_summaries_1): Likewise.
      	(ipa_read_optimization_summaries_1): Likewise.
      	(execute_ipa_stmt_fixups): Likewise.
      	* tree-pass.h (pass_data::has_gate): Remove.
      	* asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
      	cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
      	compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
      	config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
      	config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
      	config/sh/sh_optimize_sett_clrt.cc, config/sh/sh_treg_combine.cc,
      	config/sparc/sparc.c, cprop.c, cse.c, dce.c, df-core.c, dse.c,
      	dwarf2cfi.c, except.c, final.c, function.c, fwprop.c, gcse.c,
      	gimple-low.c, gimple-ssa-isolate-paths.c,
      	gimple-ssa-strength-reduction.c, graphite.c, ifcvt.c, init-regs.c,
      	ipa-cp.c, ipa-devirt.c, ipa-inline-analysis.c, ipa-inline.c,
      	ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
      	ira.c, jump.c, loop-init.c, lower-subreg.c, mode-switching.c,
      	modulo-sched.c, omp-low.c, postreload-gcse.c, postreload.c, predict.c,
      	recog.c, ree.c, reg-stack.c, regcprop.c, reginfo.c, regrename.c,
      	reorg.c, sched-rgn.c, stack-ptr-mod.c, store-motion.c, tracer.c,
      	trans-mem.c, tree-call-cdce.c, tree-cfg.c, tree-cfgcleanup.c,
      	tree-complex.c, tree-eh.c, tree-emutls.c, tree-if-conv.c,
      	tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
      	tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
      	tree-sra.c, tree-ssa-ccp.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-ch.c, tree-ssa-loop-im.c,
      	tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
      	tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
      	tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
      	tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
      	tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
      	tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
      	tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
      	tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
      	Adjust.
      
      gcc/testsuite/
      	* g++.dg/plugin/dumb_plugin.c, g++.dg/plugin/selfassign.c,
      	gcc.dg/plugin/one_time_plugin.c, gcc.dg/plugin/selfassign.c: Adjust.
      
      From-SVN: r209479
      Trevor Saunders committed
  8. 02 Jan, 2014 2 commits
    • Update copyright years in gcc/ · 23a5b65a
      From-SVN: r206289
      Richard Sandiford committed
    • arc-common.c, [...]: Use the standard form for the copyright notice. · f9030485
      gcc/
      	* common/config/arc/arc-common.c, config/arc/arc-modes.def,
      	config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
      	config/arc/arc.md, config/arc/arc.opt, config/arm/arm_neon_builtins.def,
      	config/arm/crypto.def, config/i386/avx512cdintrin.h,
      	config/i386/avx512erintrin.h, config/i386/avx512fintrin.h,
      	config/i386/avx512pfintrin.h, config/i386/btver2.md,
      	config/i386/shaintrin.h, config/i386/slm.md, config/linux-protos.h,
      	config/linux.c, config/winnt-c.c, diagnostic-color.c,
      	diagnostic-color.h, gimple-ssa-isolate-paths.c, vtable-verify.c,
      	vtable-verify.h: Use the standard form for the copyright notice.
      
      gcc/c-family/
      	* array-notation-common.c, c-cilkplus.c: Use the standard form for
      	the copyright notice.
      
      gcc/c/
      	* c-array-notation.c: Use the standard form for the copyright notice.
      
      gcc/cp/
      	* cp-array-notation.c, cp-cilkplus.c, vtable-class-hierarchy.c: Use
      	the standard form for the copyright notice.
      
      gcc/testsuite/
      	* gcc.target/arc/arc.exp: Use the standard form for the copyright
      	notice.
      
      libgcc/
      	* config/arc/asm.h, config/arc/crtg.S, config/arc/crtgend.S,
      	config/arc/crti.S, config/arc/crtn.S, config/arc/divtab-arc700.c,
      	config/arc/dp-hack.h, config/arc/fp-hack.h,
      	config/arc/ieee-754/adddf3.S, config/arc/ieee-754/addsf3.S,
      	config/arc/ieee-754/arc600-dsp/divdf3.S,
      	config/arc/ieee-754/arc600-dsp/divsf3.S,
      	config/arc/ieee-754/arc600-dsp/muldf3.S,
      	config/arc/ieee-754/arc600-dsp/mulsf3.S,
      	config/arc/ieee-754/arc600-mul64/divdf3.S,
      	config/arc/ieee-754/arc600-mul64/divsf3.S,
      	config/arc/ieee-754/arc600-mul64/muldf3.S,
      	config/arc/ieee-754/arc600-mul64/mulsf3.S,
      	config/arc/ieee-754/arc600/divsf3.S,
      	config/arc/ieee-754/arc600/mulsf3.S,
      	config/arc/ieee-754/divdf3.S, config/arc/ieee-754/divsf3-stdmul.S,
      	config/arc/ieee-754/divsf3.S, config/arc/ieee-754/divtab-arc-df.c,
      	config/arc/ieee-754/divtab-arc-sf.c, config/arc/ieee-754/eqdf2.S,
      	config/arc/ieee-754/eqsf2.S, config/arc/ieee-754/extendsfdf2.S,
      	config/arc/ieee-754/fixdfsi.S, config/arc/ieee-754/fixsfsi.S,
      	config/arc/ieee-754/fixunsdfsi.S, config/arc/ieee-754/floatsidf.S,
      	config/arc/ieee-754/floatsisf.S, config/arc/ieee-754/floatunsidf.S,
      	config/arc/ieee-754/gedf2.S, config/arc/ieee-754/gesf2.S,
      	config/arc/ieee-754/gtdf2.S, config/arc/ieee-754/gtsf2.S,
      	config/arc/ieee-754/muldf3.S, config/arc/ieee-754/mulsf3.S,
      	config/arc/ieee-754/orddf2.S, config/arc/ieee-754/ordsf2.S,
      	config/arc/ieee-754/truncdfsf2.S, config/arc/ieee-754/uneqdf2.S,
      	config/arc/ieee-754/uneqsf2.S, config/arc/initfini.c,
      	config/arc/lib1funcs.S, config/arc/t-arc, config/arc/t-arc-newlib,
      	config/cris/umulsidi3.S, config/msp430/cmpsi2.S,
      	config/msp430/epilogue.S, config/msp430/lib2bitcountHI.c,
      	config/msp430/lib2divHI.c, config/msp430/lib2divQI.c,
      	config/msp430/lib2divSI.c, config/msp430/lib2mul.c,
      	config/msp430/msp430-divmod.h, config/msp430/msp430-mul.h,
      	config/msp430/slli.S, config/msp430/srai.S, config/msp430/srli.S,
      	config/rl78/divmodhi.S, config/rl78/divmodqi.S, config/rl78/divmodsi.S,
      	config/rl78/signbit.S, vtv_end.c, vtv_end_preinit.c, vtv_start.c,
      	vtv_start_preinit.c: Use the standard form for the copyright notice.
      
      libgomp/
      	* hashtab.h: Use the standard form for the copyright notice.
      
      libstdc++-v3/
      	* testsuite/18_support/new_handler.cc,
      	testsuite/18_support/terminate_handler.cc,
      	testsuite/18_support/unexpected_handler.cc: Use the standard form for
      	the copyright notice.
      
      From-SVN: r206288
      Richard Sandiford committed
  9. 16 Dec, 2013 1 commit
    • re PR middle-end/58956 (wrong code at -O1 and above (affecting gcc 4.6 to trunk)) · 9f1363cd
      	PR middle-end/58956
      	PR middle-end/59470
      	* gimple-walk.h (walk_stmt_load_store_addr_fn): New typedef.
      	(walk_stmt_load_store_addr_ops, walk_stmt_load_store_ops): Use it
      	for callback params.
      	* gimple-walk.c (walk_stmt_load_store_ops): Likewise.
      	(walk_stmt_load_store_addr_ops): Likewise.  Adjust all callback
      	calls to supply the gimple operand containing the base tree
      	as an extra argument.
      	* tree-ssa-ter.c: Include gimple-walk.h.
      	(find_ssaname, find_ssaname_in_store): New helper functions.
      	(find_replaceable_in_bb): For calls or GIMPLE_ASM, only set
      	same_root_var if USE is used somewhere in the stores of the stmt.
      	* ipa-prop.c (visit_ref_for_mod_analysis): Remove name of the stmt
      	argument and ATTRIBUTE_UNUSED, add another unnamed tree argument.
      	* ipa-pure-const.c (check_load, check_store, check_ipa_load,
      	check_ipa_store): Likewise.
      	* gimple.c (gimple_ior_addresses_taken_1, check_loadstore): Likewise.
      	* ipa-split.c (test_nonssa_use, mark_nonssa_use): Likewise.
      	(verify_non_ssa_vars, visit_bb): Adjust their callers.
      	* cfgexpand.c (add_scope_conflicts_1): Use
      	walk_stmt_load_store_addr_fn type for visit variable.
      	(visit_op, visit_conflict): Remove name of the stmt
      	argument and ATTRIBUTE_UNUSED, add another unnamed tree argument.
      	* tree-sra.c (asm_visit_addr): Likewise.  Remove name of the data
      	argument and ATTRIBUTE_UNUSED.
      	* cgraphbuild.c (mark_address, mark_load, mark_store): Add another
      	unnamed tree argument.
      	* gimple-ssa-isolate-paths.c (check_loadstore): Likewise.  Remove
      	ATTRIBUTE_UNUSED from stmt parameter.
      
      	* gcc.target/i386/pr59470.c: New test.
      
      From-SVN: r206009
      Jakub Jelinek committed
  10. 09 Dec, 2013 1 commit
    • Eliminate FOR_EACH_BB macro. · 11cd3bed
      gcc/
      	* basic-block.h (FOR_EACH_BB): Eliminate macro.
      
      	* asan.c (transform_statements, execute_sanopt): Eliminate
      	use of FOR_EACH_BB in favor of FOR_EACH_BB_FN, to make use of cfun
      	explicit.
      	* auto-inc-dec.c (rest_of_handle_auto_inc_dec): Likewise.
      	* bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges,
      	set_edge_can_fallthru_flag, fix_up_fall_thru_edges,
      	fix_crossing_unconditional_branches, add_reg_crossing_jump_notes,
      	insert_section_boundary_note, rest_of_handle_reorder_blocks,
      	duplicate_computed_gotos): Likewise.
      	* cfg.c (clear_edges, compact_blocks, brief_dump_cfg): Likewise.
      	* cfganal.c (find_unreachable_blocks, add_noreturn_fake_exit_edges,
      	compute_dominance_frontiers_1, single_pred_before_succ_order): Likewise.
      	* cfgbuild.c (find_many_sub_basic_blocks): Likewise.
      	* cfgcleanup.c (try_optimize_cfg, delete_dead_jumptables): Likewise.
      	* cfgexpand.c (add_scope_conflicts, discover_nonconstant_array_refs):
      	Likewise.
      	* cfgloop.c (flow_loops_cfg_dump, get_loop_body, record_loop_exits,
      	verify_loop_structure): Likewise.
      	* cfgloopanal.c (mark_loop_exit_edges): Likewise.
      	* cfgrtl.c (compute_bb_for_insn, find_partition_fixes,
      	verify_hot_cold_block_grouping, purge_all_dead_edges,
      	fixup_abnormal_edges, record_effective_endpoints,
      	outof_cfg_layout_mode, fixup_reorder_chain, force_one_exit_fallthru,
      	break_superblocks): Likewise.
      	* cgraphbuild.c (build_cgraph_edges, rebuild_cgraph_edges,
      	cgraph_rebuild_references): Likewise.
      	* combine-stack-adj.c (combine_stack_adjustments): Likewise.
      	* combine.c (delete_noop_moves, create_log_links,
      	combine_instructions): Likewise.
      	* config/arm/arm.c (thumb1_reorg, thumb2_reorg): Likewise.
      	* config/bfin/bfin.c (bfin_gen_bundles, reorder_var_tracking_notes):
      	Likewise.
      	* config/c6x/c6x.c (c6x_gen_bundles, conditionalize_after_sched,
      	c6x_reorg): Likewise.
      	* config/epiphany/resolve-sw-modes.c (resolve_sw_modes): Likewise.
      	* config/frv/frv.c (frv_optimize_membar): Likewise.
      	* config/i386/i386.c (ix86_finalize_stack_realign_flags): Likewise.
      	* config/ia64/ia64.c (ia64_reorg): Likewise.
      	* config/mips/mips.c (mips_annotate_pic_calls): Likewise.
      	* config/picochip/picochip.c (reorder_var_tracking_notes): Likewise.
      	* config/rs6000/rs6000.c (rs6000_alloc_sdmode_stack_slot): Likewise.
      	* config/s390/s390.c (s390_regs_ever_clobbered): Likewise.
      	* config/sh/sh_treg_combine.cc (sh_treg_combine::execute): Likewise.
      	* config/spu/spu.c (spu_machine_dependent_reorg): Likewise.
      	* config/tilegx/tilegx.c (tilegx_gen_bundles,
      	reorder_var_tracking_notes): Likewise.
      	* config/tilepro/tilepro.c (tilepro_gen_bundles,
      	reorder_var_tracking_notes): Likewise.
      	* coverage.c (coverage_compute_cfg_checksum): Likewise.
      	* cprop.c (compute_hash_table_work, compute_cprop_data,
      	local_cprop_pass, find_implicit_sets): Likewise.
      	* cse.c (cse_condition_code_reg): Likewise.
      	* dce.c (prescan_insns_for_dce): Likewise.
      	* df-core.c (df_compact_blocks): Likewise.
      	* df-problems.c (df_word_lr_alloc): Likewise.
      	* df-scan.c (df_scan_start_dump, df_scan_blocks, df_insn_rescan_all,
      	df_update_entry_exit_and_calls): Likewise.
      	* dominance.c (calculate_dominance_info, verify_dominators,
      	debug_dominance_info): Likewise.
      	* dse.c (dse_step5_nospill): Likewise.
      	* except.c (finish_eh_generation): Likewise.
      	* final.c (compute_alignments): Likewise.
      	* function.c (thread_prologue_and_epilogue_insns,
      	rest_of_match_asm_constraints): Likewise.
      	* gcse.c (compute_hash_table_work, prune_expressions,
      	compute_pre_data, compute_code_hoist_vbeinout, hoist_code,
      	calculate_bb_reg_pressure, compute_ld_motion_mems): Likewise.
      	* gimple-iterator.c (gsi_commit_edge_inserts): Likewise.
      	* gimple-ssa-isolate-paths.c (find_implicit_erroneous_behaviour,
      	find_explicit_erroneous_behaviour): Likewise.
      	* graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa,
      	rewrite_cross_bb_scalar_deps_out_of_ssa): Likewise.
      	* haifa-sched.c (haifa_sched_init): Likewise.
      	* hw-doloop.c (discover_loops, set_bb_indices, reorder_loops):
      	Likewise.
      	* ifcvt.c (if_convert): Likewise.
      	* init-regs.c (initialize_uninitialized_regs): Likewise.
      	* ipa-prop.c (ipcp_transform_function): Likewise.
      	* ipa-pure-const.c (analyze_function): Likewise.
      	* ipa-split.c (find_split_points, execute_split_functions): Likewise.
      	* ira-build.c (form_loop_tree): Likewise.
      	* ira-costs.c (find_costs_and_classes): Likewise.
      	* ira-emit.c (emit_moves, add_ranges_and_copies, ira_emit): Likewise.
      	* ira.c (decrease_live_ranges_number, compute_regs_asm_clobbered,
      	mark_elimination, update_equiv_regs, find_moveable_pseudos,
      	split_live_ranges_for_shrink_wrap, allocate_initial_values): Likewise.
      	* jump.c (mark_all_labels): Likewise.
      	* lcm.c (compute_laterin, compute_insert_delete, compute_available,
      	compute_nearerout, compute_rev_insert_delete): Likewise.
      	* loop-init.c (fix_loop_structure): Likewise.
      	* loop-invariant.c (calculate_loop_reg_pressure): Likewise.
      	* lower-subreg.c (decompose_multiword_subregs,
      	decompose_multiword_subregs): Likewise.
      	* lra-assigns.c (assign_by_spills): Likewise.
      	* lra-coalesce.c (lra_coalesce): Likewise.
      	* lra-constraints.c (lra_inheritance, remove_inheritance_pseudos):
      	Likewise.
      	* lra-eliminations.c (lra_init_elimination): Likewise.
      	* lra-spills.c (assign_spill_hard_regs, spill_pseudos,
      	lra_final_code_change): Likewise.
      	* lra.c (remove_scratches, check_rtl, has_nonexceptional_receiver,
      	update_inc_notes): Likewise.
      	* mcf.c (adjust_cfg_counts): Likewise.
      	* mode-switching.c (optimize_mode_switching): Likewise.
      	* modulo-sched.c (rest_of_handle_sms): Likewise.
      	* omp-low.c (optimize_omp_library_calls, expand_omp_taskreg,
      	expand_omp_target): Likewise.
      	* postreload-gcse.c (alloc_mem, compute_hash_table): Likewise.
      	* postreload.c (reload_cse_regs_1): Likewise.
      	* predict.c (strip_predict_hints, tree_bb_level_predictions,
      	tree_estimate_probability, expensive_function_p,
      	estimate_bb_frequencies, compute_function_frequency): Likewise.
      	* profile.c (is_inconsistent, compute_branch_probabilities,
      	branch_prob): Likewise.
      	* ree.c (find_removable_extensions): Likewise.
      	* reg-stack.c (compensate_edges, convert_regs, reg_to_stack): Likewise.
      	* regcprop.c (copyprop_hardreg_forward): Likewise.
      	* reginfo.c (init_subregs_of_mode): Likewise.
      	* regrename.c (regrename_analyze): Likewise.
      	* regstat.c (regstat_compute_ri, regstat_compute_calls_crossed):
      	Likewise.
      	* reload1.c (has_nonexceptional_receiver, reload,
      	calculate_elim_costs_all_insns): Likewise.
      	* resource.c (init_resource_info, free_resource_info): Likewise.
      	* sched-ebb.c (schedule_ebbs): Likewise.
      	* sched-rgn.c (is_cfg_nonregular, find_single_block_region,
      	haifa_find_rgns, sched_rgn_local_init): Likewise.
      	* sel-sched-dump.c (sel_dump_cfg_2): Likewise.
      	* sel-sched-ir.c (init_lv_sets, free_lv_sets,
      	make_regions_from_the_rest): Likewise.
      	* sese.c (build_sese_loop_nests, sese_build_liveouts): Likewise.
      	* stack-ptr-mod.c (notice_stack_pointer_modification): Likewise.
      	* store-motion.c (compute_store_table, build_store_vectors,
      	one_store_motion_pass): Likewise.
      	* tracer.c (tail_duplicate): Likewise.
      	* trans-mem.c (compute_transaction_bits): Likewise.
      	* tree-call-cdce.c (tree_call_cdce): Likewise.
      	* tree-cfg.c (replace_loop_annotate, factor_computed_gotos,
      	fold_cond_expr_cond, make_edges, assign_discriminators,
      	make_abnormal_goto_edges, cleanup_dead_labels, group_case_labels,
      	dump_cfg_stats, gimple_verify_flow_info, print_loop,
      	execute_fixup_cfg): Likewise.
      	* tree-cfgcleanup.c (cleanup_tree_cfg_1, merge_phi_nodes): Likewise.
      	* tree-complex.c (init_dont_simulate_again, tree_lower_complex):
      	Likewise.
      	* tree-dfa.c (collect_dfa_stats, dump_enumerated_decls): Likewise.
      	* tree-eh.c (execute_lower_resx, execute_lower_eh_dispatch,
      	mark_reachable_handlers): Likewise.
      	* tree-emutls.c (lower_emutls_function_body): Likewise.
      	* tree-if-conv.c (main_tree_if_conversion): Likewise.
      	* tree-inline.c (optimize_inline_calls): Likewise.
      	* tree-into-ssa.c (rewrite_into_ssa, update_ssa): Likewise.
      	* tree-nrv.c (tree_nrv, execute_return_slot_opt): Likewise.
      	* tree-object-size.c (compute_object_sizes): Likewise.
      	* tree-outof-ssa.c (eliminate_useless_phis, rewrite_trees,
      	insert_backedge_copies, tree_profiling): Likewise.
      	* tree-scalar-evolution.c (scev_const_prop): Likewise.
      	* tree-sra.c (scan_function, sra_modify_function_body,
      	propagate_dereference_distances, ipa_sra_modify_function_body,
      	convert_callers): Likewise.
      	* tree-ssa-ccp.c (ccp_initialize, execute_fold_all_builtins): Likewise.
      	* tree-ssa-coalesce.c (build_ssa_conflict_graph): Likewise.
      	create_outofssa_var_map, coalesce_partitions): Likewise.
      	* tree-ssa-copy.c (init_copy_prop): Likewise.
      	* tree-ssa-copyrename.c (rename_ssa_copies): Likewise.
      	* tree-ssa-dce.c (find_obviously_necessary_stmts,
      	eliminate_unnecessary_stmts): Likewise.
      	* tree-ssa-dom.c (free_all_edge_infos, tree_ssa_dominator_optimize):
      	Likewise.
      	* tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Likewise.
      	* tree-ssa-live.c (clear_unused_block_pointer, remove_unused_locals,
      	new_tree_live_info, calculate_live_on_exit, dump_live_info,
      	analyze_memory_references, fill_always_executed_in,
      	tree_ssa_lim_finalize): Likewise.
      	* tree-ssa-loop-manip.c (find_uses_to_rename, verify_loop_closed_ssa):
      	Likewise.
      	* tree-ssa-math-opts.c (execute_cse_reciprocals, execute_cse_sincos,
      	execute_optimize_bswap, execute_optimize_widening_mul): Likewise.
      	* tree-ssa-propagate.c (substitute_and_fold): Likewise.
      	* tree-ssa-structalias.c (compute_points_to_sets): Likewise.
      	* tree-ssa-tail-merge.c (find_same_succ, reset_cluster_vectors):
      	Likewise.
      	* tree-ssa-ter.c (find_replaceable_exprs): Likewise.
      	* tree-ssa-threadupdate.c (thread_through_all_blocks): Likewise.
      	* tree-ssa-uncprop.c (associate_equivalences_with_edges,
      	tree_ssa_uncprop): Likewise.
      	* tree-ssa-uninit.c (warn_uninitialized_vars,
      	execute_late_warn_uninitialized): Likewise.
      	* tree-ssa.c (verify_ssa, execute_update_addresses_taken): Likewise.
      	* tree-stdarg.c (check_all_va_list_escapes, execute_optimize_stdarg):
      	Likewise.
      	* tree-switch-conversion.c (do_switchconv): Likewise.
      	* tree-vect-generic.c (expand_vector_operations): Likewise.
      	* tree-vectorizer.c (adjust_simduid_builtins, note_simd_array_uses,
      	execute_vect_slp): Likewise.
      	* tree-vrp.c (check_all_array_refs, remove_range_assertions,
      	vrp_initialize, identify_jump_threads, instrument_memory_accesses):
      	Likewise.
      	* ubsan.c (ubsan_pass): Likewise.
      	* value-prof.c (verify_histograms, gimple_value_profile_transformations,
      	gimple_find_values_to_profile): Likewise.
      	* var-tracking.c (vt_find_locations, dump_dataflow_sets, vt_emit_notes,
      	vt_initialize, delete_debug_insns, vt_finalize): Likewise.
      
      gcc/testsuite/
      	* g++.dg/plugin/selfassign.c (execute_warn_self_assign): Eliminate
      	use of FOR_EACH_BB in favor of FOR_EACH_BB_FN, to make use of cfun
      	explicit.
      	* gcc.dg/plugin/selfassign.c (execute_warn_self_assign): Likewise.
      
      From-SVN: r205828
      David Malcolm committed
  11. 05 Dec, 2013 1 commit
    • common.opt: Split up -fisolate-erroneous-paths into -fisolate-erroneous-paths-dereference... · ae93744d
      	* common.opt: Split up -fisolate-erroneous-paths into
      	-fisolate-erroneous-paths-dereference and
      	-fisolate-erroneous-paths-attribute.
      	* invoke.texi: Corresponding changes.
      	* gimple.c (infer_nonnull_range):  Add and use new arguments
      	to control what kind of statements can be used to infer a
      	non-null range.
      	* gimple.h (infer_nonnull_range): Update prototype.
      	* tree-vrp.c (infer_value_range): Corresponding changes.
      	* opts.c (default_options_table): Update due to option split.
      	* gimple-ssa-isolate-paths.c: Fix trailing whitespace.
      	(find_implicit_erroneous_behaviour): Pass additional arguments
      	to infer_nonnull_range.
      	(find_explicit_erroneous_behaviour): Similarly.
      	(gate_isolate_erroneous_paths): Check both of the new
      	options.
      
      testsuite/
      
      	* gcc.dg/pr38984.c: Use -fno-isolate-erroneous-paths-dereference.
      	* gcc.dg/tree-ssa/isolate-2.c: Explicitly turn on
      	-fisolate-erroneous-paths-attribute.
      	* gcc.dg/tree-ssa/isolate-4.c: Likewise.
      
      From-SVN: r205689
      Jeff Law committed
  12. 22 Nov, 2013 1 commit
    • gimple.h: Remove all includes. · 2fb9a547
      
      	* gimple.h: Remove all includes.
      	(recalculate_side_effects): Move prototype to gimplify.h.
      	* Makefile.in (PLUGIN_HEADERS): Add flattened gimple.h includes.
      	* gengtype.c (open_base_files): Add gimple.h include list.
      	* gimplify.h (recalculate_side_effects): Relocate prototype here.
      	* gimple.c: Adjust include list.
      	(recalculate_side_effects): Move to gimplify.c.
      	* gimplify.c: Adjust include list.
      	(recalculate_side_effects): Relocate from gimple.c.
      	* alias.c: Add required include files removed from gimple.h.
      	* asan.c: Likewise.
      	* builtins.c: Likewise.
      	* calls.c: Likewise.
      	* cfgexpand.c: Likewise.
      	* cfgloop.c: Likewise.
      	* cfgloopmanip.c: Likewise.
      	* cgraphbuild.c: Likewise.
      	* cgraph.c: Likewise.
      	* cgraphclones.c: Likewise.
      	* cgraphunit.c: Likewise.
      	* cilk-common.c: Likewise.
      	* data-streamer.c: Likewise.
      	* data-streamer-in.c: Likewise.
      	* data-streamer-out.c: Likewise.
      	* dse.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* emit-rtl.c: Likewise.
      	* except.c: Likewise.
      	* expr.c: Likewise.
      	* fold-const.c: Likewise.
      	* function.c: Likewise.
      	* gimple-builder.c: Likewise.
      	* gimple-expr.c: Likewise.
      	* gimple-fold.c: Likewise.
      	* gimple-iterator.c: Likewise.
      	* gimple-low.c: Likewise.
      	* gimple-pretty-print.c: Likewise.
      	* gimple-ssa-isolate-paths.c: Likewise.
      	* gimple-ssa-strength-reduction.c: Likewise.
      	* gimple-streamer-in.c: Likewise.
      	* gimple-streamer-out.c: Likewise.
      	* gimple-walk.c: Likewise.
      	* gimplify-me.c: Likewise.
      	* graphite-blocking.c: Likewise.
      	* graphite.c: Likewise.
      	* graphite-clast-to-gimple.c: Likewise.
      	* graphite-dependences.c: Likewise.
      	* graphite-interchange.c: Likewise.
      	* graphite-optimize-isl.c: Likewise.
      	* graphite-poly.c: Likewise.
      	* graphite-scop-detection.c: Likewise.
      	* graphite-sese-to-poly.c: Likewise.
      	* internal-fn.c: Likewise.
      	* ipa.c: Likewise.
      	* ipa-cp.c: Likewise.
      	* ipa-devirt.c: Likewise.
      	* ipa-inline-analysis.c: Likewise.
      	* ipa-inline.c: Likewise.
      	* ipa-profile.c: Likewise.
      	* ipa-prop.c: Likewise.
      	* ipa-pure-const.c: Likewise.
      	* ipa-reference.c: Likewise.
      	* ipa-split.c: Likewise.
      	* ipa-utils.c: Likewise.
      	* langhooks.c: Likewise.
      	* lto-cgraph.c: Likewise.
      	* lto-compress.c: Likewise.
      	* lto-opts.c: Likewise.
      	* lto-section-in.c: Likewise.
      	* lto-section-out.c: Likewise.
      	* lto-streamer.c: Likewise.
      	* lto-streamer-in.c: Likewise.
      	* lto-streamer-out.c: Likewise.
      	* omp-low.c: Likewise.
      	* opts-global.c: Likewise.
      	* passes.c: Likewise.
      	* predict.c: Likewise.
      	* profile.c: Likewise.
      	* sese.c: Likewise.
      	* stmt.c: Likewise.
      	* stor-layout.c: Likewise.
      	* symtab.c: Likewise.
      	* targhooks.c: Likewise.
      	* toplev.c: Likewise.
      	* tracer.c: Likewise.
      	* trans-mem.c: Likewise.
      	* tree-affine.c: Likewise.
      	* tree.c: Likewise.
      	* tree-call-cdce.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* tree-cfgcleanup.c: Likewise.
      	* tree-chrec.c: Likewise.
      	* tree-complex.c: Likewise.
      	* tree-data-ref.c: Likewise.
      	* tree-dfa.c: Likewise.
      	* tree-eh.c: Likewise.
      	* tree-emutls.c: Likewise.
      	* tree-if-conv.c: Likewise.
      	* tree-inline.c: Likewise.
      	* tree-into-ssa.c: Likewise.
      	* tree-loop-distribution.c: Likewise.
      	* tree-nested.c: Likewise.
      	* tree-nrv.c: Likewise.
      	* tree-object-size.c: Likewise.
      	* tree-outof-ssa.c: Likewise.
      	* tree-parloops.c: Likewise.
      	* tree-phinodes.c: Likewise.
      	* tree-predcom.c: Likewise.
      	* tree-pretty-print.c: Likewise.
      	* tree-profile.c: Likewise.
      	* tree-scalar-evolution.c: Likewise.
      	* tree-sra.c: Likewise.
      	* tree-ssa-address.c: Likewise.
      	* tree-ssa-alias.c: Likewise.
      	* tree-ssa.c: Likewise.
      	* tree-ssa-ccp.c: Likewise.
      	* tree-ssa-coalesce.c: Likewise.
      	* tree-ssa-copy.c: Likewise.
      	* tree-ssa-copyrename.c: Likewise.
      	* tree-ssa-dce.c: Likewise.
      	* tree-ssa-dom.c: Likewise.
      	* tree-ssa-dse.c: Likewise.
      	* tree-ssa-forwprop.c: Likewise.
      	* tree-ssa-ifcombine.c: Likewise.
      	* tree-ssa-live.c: Likewise.
      	* tree-ssa-loop.c: Likewise.
      	* tree-ssa-loop-ch.c: Likewise.
      	* tree-ssa-loop-im.c: Likewise.
      	* tree-ssa-loop-ivcanon.c: Likewise.
      	* tree-ssa-loop-ivopts.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-math-opts.c: Likewise.
      	* tree-ssanames.c: Likewise.
      	* tree-ssa-operands.c: Likewise.
      	* tree-ssa-phiopt.c: Likewise.
      	* tree-ssa-phiprop.c: Likewise.
      	* tree-ssa-pre.c: Likewise.
      	* tree-ssa-propagate.c: Likewise.
      	* tree-ssa-reassoc.c: Likewise.
      	* tree-ssa-sccvn.c: Likewise.
      	* tree-ssa-sink.c: Likewise.
      	* tree-ssa-strlen.c: Likewise.
      	* tree-ssa-structalias.c: Likewise.
      	* tree-ssa-tail-merge.c: Likewise.
      	* tree-ssa-ter.c: Likewise.
      	* tree-ssa-threadedge.c: Likewise.
      	* tree-ssa-threadupdate.c: Likewise.
      	* tree-ssa-uncprop.c: Likewise.
      	* tree-ssa-uninit.c: Likewise.
      	* tree-stdarg.c: Likewise.
      	* tree-streamer.c: Likewise.
      	* tree-streamer-in.c: Likewise.
      	* tree-streamer-out.c: Likewise.
      	* tree-switch-conversion.c: Likewise.
      	* tree-tailcall.c: Likewise.
      	* tree-vect-data-refs.c: Likewise.
      	* tree-vect-generic.c: Likewise.
      	* tree-vect-loop.c: Likewise.
      	* tree-vect-loop-manip.c: Likewise.
      	* tree-vectorizer.c: Likewise.
      	* tree-vect-patterns.c: Likewise.
      	* tree-vect-slp.c: Likewise.
      	* tree-vect-stmts.c: Likewise.
      	* tree-vrp.c: Likewise.
      	* tsan.c: Likewise.
      	* ubsan.c: Likewise.
      	* value-prof.c: Likewise.
      	* varpool.c: Likewise.
      	* var-tracking.c: Likewise.
      	* vtable-verify.c: Likewise.
      
      	* ada/gcc-interface/trans.c: Add required include files from gimple.h.
      
      	* c/c-typeck.c: Add required include files from gimple.h.
      
      	* c-family/c-common.c: Add required include files from gimple.h.
      	* c-family/c-gimplify.c: Likewise
      	* c-family/cilk.c: Likewise
      
      	* cp/class.c: Add required include files from gimple.h.
      	* cp/cp-gimplify.c: Likewise
      	* cp/decl2.c: Likewise
      	* cp/init.c: Likewise
      	* cp/optimize.c: Likewise
      	* cp/pt.c: Likewise
      	* cp/semantics.c: Likewise
      	* cp/tree.c: Likewise
      	* cp/typeck.c: Likewise
      	* cp/vtable-class-hierarchy.c: Likewise
      
      	* fortran/trans.c: Add required include files from gimple.h.
      	* fortran/trans-expr.c: Likewise
      	* fortran/trans-openmp.c: Likewise
      
      	* go/gofrontend/expressions.cc: Add required include files from
      	gimple.h.
      	* go/gofrontend/gogo-tree.cc: Likewise
      	* go/gofrontend/types.cc: Likewise
      	* go/go-gcc.cc: Likewise
      	* go/go-lang.c: Likewise
      
      	* java/java-gimplify.c: Add required include files from gimple.h.
      
      	* lto/lto.c: Add required include files from gimple.h.
      	* lto/lto-lang.c: Likewise
      	* lto/lto-object.c: Likewise
      	* lto/lto-partition.c: Likewise
      	* lto/lto-symtab.c: Likewise
      
      	* objc/objc-act.c: Add required include files from gimple.h.
      
      	* config/darwin.c: Add required include files removed from gimple.h.
      	* config/aarch64/aarch64-builtins.c: Likewise.
      	* config/aarch64/aarch64.c: Likewise.
      	* config/alpha/alpha.c: Likewise.
      	* config/i386/i386.c: Likewise.
      	* config/i386/winnt.c: Likewise.
      	* config/ia64/ia64.c: Likewise.
      	* config/m32c/m32c.c: Likewise.
      	* config/mep/mep.c: Likewise.
      	* config/mips/mips.c: Likewise.
      	* config/rs6000/rs6000.c: Likewise.
      	* config/s390/s390.c: Likewise.
      	* config/sh/sh.c: Likewise.
      	* config/sparc/sparc.c: Likewise.
      	* config/spu/spu.c: Likewise.
      	* config/stormy16/stormy16.c: Likewise.
      	* config/tilegx/tilegx.c: Likewise.
      	* config/tilepro/tilepro.c: Likewise.
      	* config/xtensa/xtensa.c: Likewise.
      
      	* testsuite/gcc.dg/plugin/finish_unit_plugin.c: Add required include
      	files removed from gimple.h.
      	* testsuite/gcc.dg/plugin/ggcplug.c: Likewise.
      	* testsuite/gcc.dg/plugin/one_time_plugin.c: Likewise.
      	* testsuite/gcc.dg/plugin/selfassign.c: Likewise.
      	* testsuite/gcc.dg/plugin/start_unit_plugin.c: Likewise.
      	* testsuite/g++.dg/plugin/selfassign.c: Likewise.
      
      From-SVN: r205272
      Andrew MacLeod committed
  13. 19 Nov, 2013 1 commit
    • Factor unrelated declarations out of tree.h. · d8a2d370
      This patch applies the rule that functions defined in FOO.c must be
      declared in FOO.h. One of the worst offenders in the code base is
      tree.h, unsurprisingly.
      
      The patch creates several new headers: attribs.h calls.h fold-const.h
      gcc-symtab.h print-rtl.h print-tree.h stmt.h stor-layout.h stringpool.h
      tree-nested.h tree-object-size.h varasm.h.
      
      Functions in each corresponding .c file got moved to those headers and
      others that already existed. I wanted to make this patch as mechanical
      as possible, so I made no attempt to fix problems like having
      build_addr defined in tree-inline.c. I left that for later.
      
      There were some declarations that I could not move out of tree.h
      because of header poisoning or the use of target macros. We forbid the
      inclusion of things like expr.h from FE files. While that's a
      reasonable idea, the FE file *still* manage to at expr.c functionality
      because the declarations they want to use were defined in tree.h.
      
      The affected files are builtins.h, emit-rtl.h and expr.h.
      
      If that functionality is allowed to be accessed from the FEs,
      then I will later move those functions out of expr.c into tree.c.
      I have moved these declarations to the bottom of tree.h so they
      are easy to identify later.
      
      There is a namespace collision with libcpp. The file gcc/symtab.c
      cannot use gcc/symtab.h because the #include command picks up
      libcpp/include/symtab.h first. So I named this file gcc-symtab.h
      for now.
      
      Finally, I added a new header to PLUGIN_HEADERS to account for the
      tree.h refactoring. I did not add all headers factored out of tree.h
      because it is unclear (and impossible to tell) what plugins need.
      This adds the one header used by the plugins in the testsuite.
      
      This will be changing quite dramatically as we progress with the header
      refactoring.
      
      This patch should offer some minimal incremental build advantages
      by reducing the size of tree.h. Changes that would otherwise
      affected tree.h, will now go to other headers which are less
      frequently included.
      
      	* tree.h: Include fold-const.h.
      	(aggregate_value_p): Moved to function.h.
      	(alloca_call_p): Moved to calls.h.
      	(allocate_struct_function): Moved to function.h.
      	(apply_tm_attr): Moved to attribs.h.
      	(array_at_struct_end_p): Moved to expr.h.
      	(array_ref_element_size): Moved to tree-dfa.h.
      	(array_ref_low_bound): Moved to tree-dfa.h.
      	(array_ref_up_bound): Moved to tree.h.
      	(assemble_alias): Moved to cgraph.h.
      	(bit_from_pos): Moved to stor-layout.h.
      	(build_addr): Moved to tree-nested.h.
      	(build_duplicate_type): Moved to tree-inline.h.
      	(build_fold_addr_expr): Moved to fold-const.h.
      	(build_fold_addr_expr_with_type): Moved to fold-const.h.
      	(build_fold_addr_expr_with_type_loc): Moved to fold-const.h.
      	(build_fold_indirect_ref): Moved to fold-const.h.
      	(build_fold_indirect_ref_loc): Moved to fold-const.h.
      	(build_personality_function): Moved to tree.h.
      	(build_range_check): Moved to fold-const.h.
      	(build_simple_mem_ref): Moved to fold-const.h.
      	(build_simple_mem_ref_loc): Moved to fold-const.h.
      	(build_tm_abort_call): Moved to trans-mem.h.
      	(byte_from_pos): Moved to stor-layout.h.
      	(call_expr_flags): Moved to calls.h.
      	(can_move_by_pieces): Moved to expr.h.
      	(categorize_ctor_elements): Moved to expr.h.
      	(change_decl_assembler_name): Moved to gcc-symtab.h.
      	(combine_comparisons): Moved to fold-const.h.
      	(complete_ctor_at_level_p): Moved to tree.h.
      	(component_ref_field_offset): Moved to tree-dfa.h.
      	(compute_builtin_object_size): Moved to tree-object-size.h.
      	(compute_record_mode): Moved to stor-layout.h.
      	(constant_boolean_node): Moved to fold-const.h.
      	(constructor_static_from_elts_p): Moved to varasm.h.
      	(cxx11_attribute_p): Moved to attribs.h.
      	(debug_body): Moved to print-tree.h.
      	(debug_find_tree): Moved to tree-inline.h.
      	(debug_fold_checksum): Moved to fold-const.h.
      	(debug_head): Moved to print-tree.h.
      	(debug_head): Moved to print-tree.h.
      	(debug_raw): Moved to print-tree.h.
      	(debug_tree): Moved to print-tree.h.
      	(debug_vec_tree): Moved to print-tree.h.
      	(debug_verbose): Moved to print-tree.h.
      	(debug_verbose): Moved to print-tree.h.
      	(decl_attributes): Moved to attribs.h.
      	(decl_binds_to_current_def_p): Moved to varasm.h.
      	(decl_default_tls_model): Moved to varasm.h.
      	(decl_replaceable_p): Moved to varasm.h.
      	(div_if_zero_remainder): Moved to fold-const.h.
      	(double_int mem_ref_offset): Moved to fold-const.h.
      	(dump_addr): Moved to print-tree.h.
      	(element_precision): Moved to machmode.h.
      	(expand_dummy_function_end): Moved to function.h.
      	(expand_function_end): Moved to function.h.
      	(expand_function_start): Moved to function.h.
      	(expand_label): Moved to stmt.h.
      	(expr_first): Moved to tree-iterator.h.
      	(expr_last): Moved to tree-iterator.h.
      	(finalize_size_functions): Moved to stor-layout.h.
      	(finish_builtin_struct): Moved to stor-layout.h.
      	(finish_record_layout): Moved to stor-layout.h.
      	(fixup_signed_type): Moved to stor-layout.h.
      	(fixup_unsigned_type): Moved to stor-layout.h.
      	(flags_from_decl_or_type): Moved to calls.h.
      	(fold): Moved to fold-const.h.
      	(fold_abs_const): Moved to fold-const.h.
      	(fold_binary): Moved to fold-const.h.
      	(fold_binary_loc): Moved to fold-const.h.
      	(fold_binary_to_constant): Moved to fold-const.h.
      	(fold_build1): Moved to fold-const.h.
      	(fold_build1_initializer_loc): Moved to fold-const.h.
      	(fold_build1_loc): Moved to fold-const.h.
      	(fold_build1_stat_loc): Moved to fold-const.h.
      	(fold_build2): Moved to fold-const.h.
      	(fold_build2_initializer_loc): Moved to fold-const.h.
      	(fold_build2_loc): Moved to fold-const.h.
      	(fold_build2_stat_loc): Moved to fold-const.h.
      	(fold_build3): Moved to fold-const.h.
      	(fold_build3_loc): Moved to fold-const.h.
      	(fold_build3_stat_loc): Moved to fold-const.h.
      	(fold_build_call_array): Moved to fold-const.h.
      	(fold_build_call_array_initializer): Moved to fold-const.h.
      	(fold_build_call_array_initializer_loc): Moved to fold-const.h.
      	(fold_build_call_array_loc): Moved to fold-const.h.
      	(fold_build_cleanup_point_expr): Moved to fold-const.h.
      	(fold_convert): Moved to fold-const.h.
      	(fold_convert_loc): Moved to fold-const.h.
      	(fold_convertible_p): Moved to fold-const.h.
      	(fold_defer_overflow_warnings): Moved to fold-const.h.
      	(fold_deferring_overflow_warnings_p): Moved to fold-const.h.
      	(fold_fma): Moved to fold-const.h.
      	(fold_ignored_result): Moved to fold-const.h.
      	(fold_indirect_ref): Moved to fold-const.h.
      	(fold_indirect_ref_1): Moved to fold-const.h.
      	(fold_indirect_ref_loc): Moved to fold-const.h.
      	(fold_read_from_constant_string): Moved to fold-const.h.
      	(fold_real_zero_addition_p): Moved to fold-const.h.
      	(fold_single_bit_test): Moved to fold-const.h.
      	(fold_strip_sign_ops): Moved to fold-const.h.
      	(fold_ternary): Moved to fold-const.h.
      	(fold_ternary_loc): Moved to fold-const.h.
      	(fold_unary): Moved to tree-data-ref.h.
      	(fold_unary_ignore_overflow): Moved to fold-const.h.
      	(fold_unary_ignore_overflow_loc): Moved to fold-const.h.
      	(fold_unary_loc): Moved to fold-const.h.
      	(fold_unary_to_constant): Moved to fold-const.h.
      	(fold_undefer_and_ignore_overflow_warnings): Moved to fold-const.h.
      	(fold_undefer_overflow_warnings): Moved to fold-const.h.
      	(folding_initializer): Moved to fold-const.h.
      	(free_temp_slots): Moved to function.h.
      	(generate_setjmp_warnings): Moved to function.h.
      	(get_attribute_name): Moved to attribs.h.
      	(get_identifier): Moved to stringpool.h.
      	(get_identifier_with_length): Moved to stringpool.h.
      	(get_inner_reference): Moved to tree.h.
      	(gimple_alloca_call_p): Moved to calls.h.
      	(gimplify_parameters): Moved to function.h.
      	(highest_pow2_factor): Moved to expr.h.
      	(indent_to): Moved to print-tree.h.
      	(init_attributes): Moved to attribs.h.
      	(init_dummy_function_start): Moved to function.h.
      	(init_function_start): Moved to function.h.
      	(init_inline_once): Moved to tree-inline.h.
      	(init_object_sizes): Moved to tree-object-size.h.
      	(init_temp_slots): Moved to function.h.
      	(init_tree_optimization_optabs): Moved to optabs.h.
      	(initialize_sizetypes): Moved to stor-layout.h.
      	(initializer_constant_valid_for_bitfield_p): Moved to varasm.h.
      	(initializer_constant_valid_p): Moved to varasm.h.
      	(int_const_binop): Moved to fold-const.h.
      	(internal_reference_types): Moved to stor-layout.h.
      	(invert_tree_comparison): Moved to fold-const.h.
      	(invert_truthvalue): Moved to fold-const.h.
      	(invert_truthvalue_loc): Moved to fold-const.h.
      	(is_tm_ending_fndecl): Moved to trans-mem.h.
      	(is_tm_may_cancel_outer): Moved to trans-mem.h.
      	(is_tm_pure): Moved to trans-mem.h.
      	(is_tm_safe): Moved to trans-mem.h.
      	(layout_decl): Moved to stor-layout.h.
      	(layout_type): Moved to stor-layout.h.
      	(lookup_attribute_spec): Moved to attribs.h.
      	(make_accum_type): Moved to stor-layout.h.
      	(make_decl_one_only): Moved to varasm.h.
      	(make_decl_rtl): Moved to tree.h.
      	(make_decl_rtl_for_debug): Moved to varasm.h.
      	(make_fract_type): Moved to stor-layout.h.
      	(make_or_reuse_sat_signed_accum_type): Moved to stor-layout.h.
      	(make_or_reuse_sat_signed_fract_type): Moved to stor-layout.h.
      	(make_or_reuse_sat_unsigned_accum_type): Moved to stor-layout.h.
      	(make_or_reuse_sat_unsigned_fract_type): Moved to stor-layout.h.
      	(make_or_reuse_signed_accum_type): Moved to stor-layout.h.
      	(make_or_reuse_signed_fract_type): Moved to stor-layout.h.
      	(make_or_reuse_unsigned_accum_type): Moved to stor-layout.h.
      	(make_or_reuse_unsigned_fract_type): Moved to stor-layout.h.
      	(make_range): Moved to fold-const.h.
      	(make_range_step): Moved to fold-const.h.
      	(make_sat_signed_accum_type): Moved to stor-layout.h.
      	(make_sat_signed_fract_type): Moved to stor-layout.h.
      	(make_sat_unsigned_accum_type): Moved to stor-layout.h.
      	(make_sat_unsigned_fract_type): Moved to stor-layout.h.
      	(make_signed_accum_type): Moved to stor-layout.h.
      	(make_signed_fract_type): Moved to stor-layout.h.
      	(make_signed_type): Moved to stor-layout.h.
      	(make_unsigned_accum_type): Moved to stor-layout.h.
      	(make_unsigned_fract_type): Moved to stor-layout.h.
      	(make_unsigned_type): Moved to stor-layout.h.
      	(mark_decl_referenced): Moved to varasm.h.
      	(mark_referenced): Moved to varasm.h.
      	(may_negate_without_overflow_p): Moved to fold-const.h.
      	(maybe_get_identifier): Moved to stringpool.h.
      	(merge_ranges): Moved to fold-const.h.
      	(merge_weak): Moved to varasm.h.
      	(mode_for_size_tree): Moved to stor-layout.h.
      	(multiple_of_p): Moved to fold-const.h.
      	(must_pass_in_stack_var_size): Moved to calls.h.
      	(must_pass_in_stack_var_size_or_pad): Moved to calls.h.
      	(native_encode_expr): Moved to fold-const.h.
      	(native_interpret_expr): Moved to fold-const.h.
      	(non_lvalue): Moved to fold-const.h.
      	(non_lvalue_loc): Moved to fold-const.h.
      	(normalize_offset): Moved to stor-layout.h.
      	(normalize_rli): Moved to stor-layout.h.
      	(notice_global_symbol): Moved to varasm.h.
      	(omit_one_operand): Moved to fold-const.h.
      	(omit_one_operand_loc): Moved to fold-const.h.
      	(omit_two_operands): Moved to fold-const.h.
      	(omit_two_operands_loc): Moved to fold-const.h.
      	(operand_equal_p): Moved to tree-data-ref.h.
      	(parse_input_constraint): Moved to stmt.h.
      	(parse_output_constraint): Moved to stmt.h.
      	(place_field): Moved to stor-layout.h.
      	(pop_function_context): Moved to function.h.
      	(pop_temp_slots): Moved to function.h.
      	(pos_from_bit): Moved to stor-layout.h.
      	(preserve_temp_slots): Moved to function.h.
      	(print_node): Moved to print-tree.h.
      	(print_node_brief): Moved to print-tree.h.
      	(print_rtl): Moved to rtl.h.
      	(process_pending_assemble_externals): Moved to varasm.h.
      	(ptr_difference_const): Moved to fold-const.h.
      	(push_function_context): Moved to function.h.
      	(push_struct_function): Moved to function.h.
      	(push_temp_slots): Moved to function.h.
      	(record_tm_replacement): Moved to trans-mem.h.
      	(relayout_decl): Moved to stor-layout.h.
      	(resolve_asm_operand_names): Moved to stmt.h.
      	(resolve_unique_section): Moved to varasm.h.
      	(rli_size_so_far): Moved to stor-layout.h.
      	(rli_size_unit_so_far): Moved to stor-layout.h.
      	(round_down): Moved to fold-const.h.
      	(round_down_loc): Moved to fold-const.h.
      	(round_up): Moved to fold-const.h.
      	(round_up_loc): Moved to fold-const.h.
      	(set_decl_incoming_rtl): Moved to emit-rtl.h.
      	(set_decl_rtl): Moved to tree.h.
      	(set_min_and_max_values_for_integral_type): Moved to stor-layout.h.
      	(set_user_assembler_name): Moved to varasm.h.
      	(setjmp_call_p): Moved to calls.h.
      	(size_binop): Moved to fold-const.h.
      	(size_binop_loc): Moved to fold-const.h.
      	(size_diffop): Moved to fold-const.h.
      	(size_diffop_loc): Moved to fold-const.h.
      	(size_int_kind): Moved to fold-const.h.
      	(stack_protect_epilogue): Moved to function.h.
      	(start_record_layout): Moved to stor-layout.h.
      	(supports_one_only): Moved to varasm.h.
      	(swap_tree_comparison): Moved to fold-const.h.
      	(tm_malloc_replacement): Moved to trans-mem.h.
      	(tree build_fold_addr_expr_loc): Moved to fold-const.h.
      	(tree build_invariant_address): Moved to fold-const.h.
      	(tree_binary_nonnegative_warnv_p): Moved to fold-const.h.
      	(tree_binary_nonzero_warnv_p): Moved to fold-const.h.
      	(tree_call_nonnegative_warnv_p): Moved to fold-const.h.
      	(tree_expr_nonnegative_p): Moved to fold-const.h.
      	(tree_expr_nonnegative_warnv_p): Moved to fold-const.h.
      	(tree_output_constant_def): Moved to varasm.h.
      	(tree_overlaps_hard_reg_set): Moved to stmt.h.
      	(tree_single_nonnegative_warnv_p): Moved to fold-const.h.
      	(tree_single_nonzero_warnv_p): Moved to fold-const.h.
      	(tree_swap_operands_p): Moved to fold-const.h.
      	(tree_unary_nonnegative_warnv_p): Moved to fold-const.h.
      	(tree_unary_nonzero_warnv_p): Moved to fold-const.h.
      	(update_alignment_for_field): Moved to stor-layout.h.
      	(use_register_for_decl): Moved to function.h.
      	(variable_size): Moved to rtl.h.
      	(vector_type_mode): Moved to stor-layout.h.
      	* cgraph.h: Corresponding changes.
      	* emit-rtl.h: Corresponding changes.
      	* expr.h: Corresponding changes.
      	* function.h: Corresponding changes.
      	* optabs.h: Corresponding changes.
      	* trans-mem.h: Corresponding changes.
      	Protect against multiple inclusion.
      	* tree-inline.h: Corresponding changes.
      	* tree-iterator.h: Corresponding changes.
      	* tree-dfa.h: Include expr.h.
      	* tree-ssanames.h: Include stringpool.h.
      	* attribs.h: New file.
      	* calls.h: New file.
      	* fold-const.h: New file.
      	* gcc-symtab.h: New file.
      	* print-rtl.h: New file.
      	* print-tree.h: New file.
      	* stmt.h: New file.
      	* stor-layout.h: New file.
      	* strinpool.h: New file.
      	* tree-nested.h: New file
      	* tree-object-size.h: New file.
      	* varasm.h: New file.
      	* Makefile.in (PLUGIN_HEADERS): Add stringpool.h.
      
      	* alias.c: Include varasm.h.
      	Include expr.h.
      	* asan.c: Include calls.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	* attribs.c: Include stringpool.h.
      	Include attribs.h.
      	Include stor-layout.h.
      	* builtins.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	Include tree-object-size.h.
      	* calls.c: Include stor-layout.h.
      	Include varasm.h.
      	Include stringpool.h.
      	Include attribs.h.
      	* cfgexpand.c: Include stringpool.h.
      	Include varasm.h.
      	Include stor-layout.h.
      	Include stmt.h.
      	Include print-tree.h.
      	* cgraph.c: Include varasm.h.
      	Include calls.h.
      	Include print-tree.h.
      	* cgraphclones.c: Include stringpool.h.
      	Include function.h.
      	Include emit-rtl.h.
      	Move inclusion of rtl.h earlier in the file.
      	* cgraphunit.c: Include varasm.h.
      	Include stor-layout.h.
      	Include stringpool.h.
      	* cilk-common.c: Include stringpool.h.
      	Include stor-layout.h.
      	* combine.c: Include stor-layout.h.
      	* config/aarch64/aarch64-builtins.c: Include stor-layout.h.
      	Include stringpool.h.
      	Include calls.h.
      	* config/aarch64/aarch64.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* config/alpha/alpha.c: Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* config/arc/arc.c: Include varasm.h.
      	Include stor-layout.h.
      	Include stringpool.h.
      	Include calls.h.
      	* config/arm/arm.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* config/avr/avr-c.c: Include stor-layout.h.
      	* config/avr/avr-log.c: Include print-tree.h.
      	* config/avr/avr.c: Include print-tree.h.
      	Include calls.h.
      	Include stor-layout.h.
      	Include stringpool.h.
      	* config/bfin/bfin.c: Include varasm.h.
      	Include calls.h.
      	* config/c6x/c6x.c: Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	Include stringpool.h.
      	* config/cr16/cr16.c: Include stor-layout.h.
      	Include calls.h.
      	* config/cris/cris.c: Include varasm.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include stmt.h.
      	* config/darwin.c: Include stringpool.h.
      	Include varasm.h.
      	Include stor-layout.h.
      	* config/epiphany/epiphany.c: Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	Include stringpool.h.
      	* config/fr30/fr30.c: Include stor-layout.h.
      	Include varasm.h.
      	* config/frv/frv.c: Include varasm.h.
      	Include stor-layout.h.
      	Include stringpool.h.
      	* config/h8300/h8300.c: Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	Include stringpool.h.
      	* config/i386/i386.c: Include stringpool.h.
      	Include attribs.h.
      	Include calls.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	* config/i386/winnt-cxx.c: Include stringpool.h.
      	Include attribs.h.
      	* config/i386/winnt.c: Include stringpool.h.
      	Include varasm.h.
      	* config/ia64/ia64-c.c: Include stringpool.h.
      	* config/ia64/ia64.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* config/iq2000/iq2000.c: Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* config/lm32/lm32.c: Include calls.h.
      	* config/m32c/m32c.c: Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/m32r/m32r.c: Include stor-layout.h.
      	Include varasm.h.
      	Include stringpool.h.
      	Include calls.h.
      	* config/m68k/m68k.c: Include calls.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	* config/mcore/mcore.c: Include stor-layout.h.
      	Include varasm.h.
      	Include stringpool.h.
      	Include calls.h.
      	* config/mep/mep.c: Include varasm.h.
      	Include calls.h.
      	Include stringpool.h.
      	Include stor-layout.h.
      	* config/microblaze/microblaze.c: Include varasm.h.
      	Include stor-layout.h.
      	Include calls.h.
      	* config/mips/mips.c: Include varasm.h.
      	Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	* config/mmix/mmix.c: Include varasm.h.
      	Include stor-layout.h.
      	Include calls.h.
      	* config/mn10300/mn10300.c: Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/moxie/moxie.c: Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/msp430/msp430.c: Include stor-layout.h.
      	Include calls.h.
      	* config/nds32/nds32.c: Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/pa/pa.c: Include stor-layout.h.
      	Include stringpool.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/pdp11/pdp11.c: Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/picochip/picochip.c: Include calls.h.
      	Include stor-layout.h.
      	Include stringpool.h.
      	Include varasm.h.
      	* config/rl78/rl78.c: Include varasm.h.
      	Include stor-layout.h.
      	Include calls.h.
      	* config/rs6000/rs6000-c.c: Include stor-layout.h.
      	Include stringpool.h.
      	* config/rs6000/rs6000.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include print-tree.h.
      	Include varasm.h.
      	* config/rx/rx.c: Include varasm.h.
      	Include stor-layout.h.
      	Include calls.h.
      	* config/s390/s390.c: Include print-tree.h.
      	Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/score/score.c: Include stringpool.h.
      	Include calls.h.
      	Include varasm.h.
      	Include stor-layout.h.
      	* config/sh/sh-c.c: Include stringpool.h.
      	Include attribs.h.h.
      	* config/sh/sh.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* config/sol2-c.c: Include stringpool.h.
      	Include attribs.h.
      	* config/sol2-cxx.c: Include stringpool.h.
      	* config/sol2.c: Include stringpool.h.
      	Include varasm.h.
      	* config/sparc/sparc.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* config/spu/spu-c.c: Include stringpool.h.
      	* config/spu/spu.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* config/stormy16/stormy16.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/tilegx/tilegx.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/tilepro/tilepro.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/v850/v850-c.c: Include stringpool.h.
      	Include attribs.h.
      	* config/v850/v850.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/vax/vax.c: Include calls.h.
      	Include varasm.h.
      	* config/vms/vms.c: Include stringpool.h.
      	* config/vxworks.c: Include stringpool.h.
      	* config/xtensa/xtensa.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* convert.c: Include stor-layout.h.
      	* coverage.c: Include stringpool.h.
      	Include stor-layout.h.
      	* dbxout.c: Include varasm.h.
      	Include stor-layout.h.
      	* dojump.c: Include stor-layout.h.
      	* dse.c: Include stor-layout.h.
      	* dwarf2asm.c: Include stringpool.h.
      	Include varasm.h.
      	* dwarf2cfi.c: Include stor-layout.h.
      	* dwarf2out.c: Include rtl.h.
      	Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include function.h.
      	Include emit-rtl.h.
      	Move inclusion of rtl.h earlier in the file.
      	* emit-rtl.c: Include varasm.h.
      	* except.c: Include stringpool.h.
      	Include stor-layout.h.
      	* explow.c: Include stor-layout.h.
      	* expmed.c: Include stor-layout.h.
      	* expr.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include attribs.h.
      	Include varasm.h.
      	* final.c: Include varasm.h.
      	* fold-const.c: Include stor-layout.h.
      	Include calls.h.
      	Include tree-iterator.h.
      	* function.c: Include stor-layout.h.
      	Include varasm.h.
      	Include stringpool.h.
      	* genattrtab.c (write_header): Emit includes for varasm.h,
      	stor-layout.h and calls.h.
      	* genautomata.c (main): Likewise.
      	* genemit.c: Likewise.
      	* genopinit.c: Likewise.
      	* genoutput.c (output_prologue): Likewise.
      	* genpeep.c: Likewise.
      	* genpreds.c (write_insn_preds_c): Likewise.
      	* gengtype.c (open_base_files): Add stringpool.h.
      	* gimple-expr.c: Include stringpool.h.
      	Include stor-layout.h.
      	* gimple-fold.c: Include stringpool.h.
      	Include expr.h.
      	Include stmt.h.
      	Include stor-layout.h.
      	* gimple-low.c: Include tree-nested.h.
      	Include calls.h.
      	* gimple-pretty-print.c: Include stringpool.h.
      	* gimple-ssa-strength-reduction.c: Include stor-layout.h.
      	Include expr.h.
      	* gimple-walk.c: Include stmt.h.
      	* gimple.c: Include calls.h.
      	Include stmt.h.
      	Include stor-layout.h.
      	* gimplify.c: Include stringpool.h.
      	Include calls.h.
      	Include varasm.h.
      	Include stor-layout.h.
      	Include stmt.h.
      	Include print-tree.h.
      	Include expr.h.
      	* gimplify-me.c: Include stmt.h
      	Include stor-layout.h
      	* internal-fn.c: Include stor-layout.h.
      	* ipa-devirt.c: Include print-tree.h.
      	Include calls.h.
      	* ipa-inline-analysis.c: Include stor-layout.h.
      	Include stringpool.h.
      	Include print-tree.h.
      	* ipa-inline.c: Include trans-mem.h.
      	Include calls.h.
      	* ipa-prop.c: Include expr.h.
      	Include stor-layout.h.
      	Include print-tree.h.
      	* ipa-pure-const.c: Include print-tree.h.
      	Include calls.h.
      	* ipa-reference.c: Include calls.h.
      	* ipa-split.c: Include stringpool.h.
      	Include expr.h.
      	Include calls.h.
      	* ipa.c: Include calls.h.
      	Include stringpool.h.
      	* langhooks.c: Include stringpool.h.
      	Include attribs.h.
      	* lto-cgraph.c: Include stringpool.h.
      	* lto-streamer-in.c: Include stringpool.h.
      	* lto-streamer-out.c: Include stor-layout.h.
      	Include stringpool.h.
      	* omp-low.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include expr.h.
      	* optabs.c: Include stor-layout.h.
      	Include stringpool.h.
      	Include varasm.h.
      	* passes.c: Include varasm.h.
      	* predict.c: Include calls.h.
      	* print-rtl.c: Include print-tree.h.
      	* print-tree.c: Include varasm.h.
      	Include print-rtl.h.
      	Include stor-layout.h.
      	* realmpfr.c: Include stor-layout.h.
      	* reg-stack.c: Include varasm.h.
      	* sdbout.c: Include varasm.h.
      	Include stor-layout.h.
      	* simplify-rtx.c: Include varasm.h.
      	* stmt.c: Include varasm.h.
      	Include stor-layout.h.
      	* stor-layout.c: Include stor-layout.h.
      	Include stringpool.h.
      	Include varasm.h.
      	Include print-tree.h.
      	* symtab.c: Include rtl.h.
      	Include print-tree.h.
      	Include varasm.h.
      	Include function.h.
      	Include emit-rtl.h.
      	* targhooks.c: Include stor-layout.h.
      	Include varasm.h.
      	* toplev.c: Include varasm.h.
      	Include tree-inline.h.
      	* trans-mem.c: Include calls.h.
      	Include function.h.
      	Include rtl.h.
      	Include emit-rtl.h.
      	* tree-affine.c: Include expr.h.
      	* tree-browser.c: Include print-tree.h.
      	* tree-call-cdce.c: Include stor-layout.h.
      	* tree-cfg.c: Include trans-mem.h.
      	Include stor-layout.h.
      	Include print-tree.h.
      	* tree-complex.c: Include stor-layout.h.
      	* tree-data-ref.c: Include expr.h.
      	* tree-dfa.c: Include stor-layout.h.
      	* tree-eh.c: Include expr.h.
      	Include calls.h.
      	* tree-emutls.c: Include stor-layout.h.
      	Include varasm.h.
      	* tree-if-conv.c: Include stor-layout.h.
      	* tree-inline.c: Include stor-layout.h.
      	Include calls.h.
      	* tree-loop-distribution.c: Include stor-layout.h.
      	* tree-nested.c: Include stringpool.h.
      	Include stor-layout.h.
      	* tree-object-size.c: Include tree-object-size.h.
      	* tree-outof-ssa.c: Include stor-layout.h.
      	* tree-parloops.c: Include stor-layout.h.
      	Include tree-nested.h.
      	* tree-pretty-print.c: Include stor-layout.h.
      	Include expr.h.
      	* tree-profile.c: Include varasm.h.
      	Include tree-nested.h.
      	* tree-scalar-evolution.c: Include expr.h.
      	* tree-sra.c: Include stor-layout.h.
      	* tree-ssa-address.c: Include stor-layout.h.
      	* tree-ssa-ccp.c: Include stor-layout.h.
      	* tree-ssa-dce.c: Include calls.h.
      	* tree-ssa-dom.c: Include stor-layout.h.
      	* tree-ssa-forwprop.c: Include stor-layout.h.
      	* tree-ssa-ifcombine.c: Include stor-layout.h.
      	* tree-ssa-loop-ivopts.c: Include stor-layout.h.
      	* tree-ssa-loop-niter.c: Include calls.h.
      	Include expr.h.
      	* tree-ssa-loop-prefetch.c: Include stor-layout.h.
      	* tree-ssa-math-opts.c: Include stor-layout.h.
      	* tree-ssa-operands.c: Include stmt.h.
      	Include print-tree.h.
      	* tree-ssa-phiopt.c: Include stor-layout.h.
      	* tree-ssa-reassoc.c: Include stor-layout.h.
      	* tree-ssa-sccvn.c: Include stor-layout.h.
      	* tree-ssa-sink.c: Include stor-layout.h.
      	* tree-ssa-strlen.c: Include stor-layout.h.
      	* tree-ssa-structalias.c: Include stor-layout.h.
      	Include stmt.h.
      	* tree-ssa-tail-merge.c: Include stor-layout.h.
      	Include trans-mem.h.
      	* tree-ssa-uncprop.c: Include stor-layout.h.
      	* tree-ssa.c: Include stor-layout.h.
      	* tree-ssanames.c: Include stor-layout.h.
      	* tree-streamer-in.c: Include stringpool.h.
      	* tree-streamer-out.c: Include stor-layout.h.
      	* tree-switch-conversion.c: Include varasm.h.
      	Include stor-layout.h.
      	* tree-tailcall.c: Include stor-layout.h.
      	* tree-vect-data-refs.c: Include stor-layout.h.
      	* tree-vect-generic.c: Include stor-layout.h.
      	* tree-vect-loop.c: Include stor-layout.h.
      	* tree-vect-patterns.c: Include stor-layout.h.
      	* tree-vect-slp.c: Include stor-layout.h.
      	* tree-vect-stmts.c: Include stor-layout.h.
      	* tree-vectorizer.c: Include stor-layout.h.
      	* tree-vrp.c: Include stor-layout.h.
      	Include calls.h.
      	* tree.c: Include stor-layout.h.
      	Include calls.h.
      	Include attribs.h.
      	Include varasm.h.
      	* tsan.c: Include expr.h.
      	* ubsan.c: Include stor-layout.h.
      	Include stringpool.h.
      	* value-prof.c: Include tree-nested.h.
      	Include calls.h.
      	* var-tracking.c: Include varasm.h.
      	Include stor-layout.h.
      	* varasm.c: Include stor-layout.h.
      	Include stringpool.h.
      	Include gcc-symtab.h.
      	Include varasm.h.
      	* varpool.c: Include varasm.h.
      	* vmsdbgout.c: Include varasm.h.
      	* xcoffout.c: Include varasm.h.
      
      ada/ChangeLog
      
      	* gcc-interface/decl.c: Include stringpool.h
      	Include stor-layout.h
      	* gcc-interface/misc.c: Include stor-layout.h
      	Include print-tree.h
      	* gcc-interface/trans.c: Include stringpool.h
      	Include stor-layout.h
      	Include stmt.h
      	Include varasm.h
      	* gcc-interface/utils.c: Include stringpool.h
      	Include stor-layout.h
      	Include attribs.h
      	Include varasm.h
      	* gcc-interface/utils2.c: Include stringpool.h
      	Include stor-layout.h
      	Include attribs.h
      	Include varasm.h
      
      c-family/ChangeLog
      
      	* c-common.c: Include fold-const.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include stringpool.h.
      	Include attribs.h.
      	Include varasm.h.
      	Include trans-mem.h.
      	* c-cppbuiltin.c: Include stor-layout.h.
      	Include stringpool.h.
      	* c-format.c: Include stringpool.h.
      	* c-lex.c: Include stringpool.h.
      	Include stor-layout.h.
      	* c-pragma.c: Include stringpool.h.
      	Include attribs.h.
      	Include varasm.h.
      	Include gcc-symtab.h.
      	* c-pretty-print.c: Include stor-layout.h.
      	Include attribs.h.
      	* cilk.c: Include stringpool.h.
      	Include calls.h.
      
      c/ChangeLog
      
      	* c-decl.c: Include print-tree.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include attribs.h.
      	Include stringpool.h.
      	* c-lang.c: Include fold-const.h.
      	* c-parser.c: Include stringpool.h.
      	Include attribs.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include trans-mem.h.
      	* c-typeck.c: Include stor-layout.h.
      	Include trans-mem.h.
      	Include varasm.h.
      	Include stmt.h.
      
      cp/ChangeLog
      
      	* call.c: Include stor-layout.h.
      	Include trans-mem.h.
      	Include stringpool.h.
      	* class.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include attribs.h.
      	* cp-gimplify.c: Include stor-layout.h.
      	* cvt.c: Include stor-layout.h.
      	* decl.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include attribs.h.
      	Include calls.h.
      	* decl2.c: Include stringpool.h.
      	Include varasm.h.
      	Include attribs.h.
      	Include stor-layout.h.
      	Include calls.h.
      	* error.c: Include stringpool.h.
      	* except.c: Include stringpool.h.
      	Include trans-mem.h.
      	Include attribs.h.
      	* init.c: Include stringpool.h.
      	Include varasm.h.
      	* lambda.c: Include stringpool.h.
      	* lex.c: Include stringpool.h.
      	* mangle.c: Include stor-layout.h.
      	Include stringpool.h.
      	* method.c: Include stringpool.h.
      	Include varasm.h.
      	* name-lookup.c: Include stringpool.h.
      	Include print-tree.h.
      	Include attribs.h.
      	* optimize.c: Include stringpool.h.
      	* parser.c: Include print-tree.h.
      	Include stringpool.h.
      	Include attribs.h.
      	Include trans-mem.h.
      	* pt.c: Include stringpool.h.
      	Include varasm.h.
      	Include attribs.h.
      	Include stor-layout.h.
      	* ptree.c: Include print-tree.h.
      	* repo.c: Include stringpool.h.
      	* rtti.c: Include stringpool.h.
      	Include stor-layout.h.
      	* semantics.c: Include stmt.h.
      	Include varasm.h.
      	Include stor-layout.h.
      	Include stringpool.h.
      	* tree.c: Include stor-layout.h.
      	Include print-tree.h.
      	Include tree-iterator.h.
      	* typeck.c: Include stor-layout.h.
      	Include varasm.h.
      	* typeck2.c: Include stor-layout.h.
      	Include varasm.h.
      	* vtable-class-hierarchy.c: Include stringpool.h.
      	Include stor-layout.h.
      
      fortran/ChangeLog
      
      	* decl.c: Include stringpool.h.
      	* iresolve.c: Include stringpool.h.
      	* match.c: Include stringpool.h.
      	* module.c: Include stringpool.h.
      	* target-memory.c: Include stor-layout.h.
      	* trans-common.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	* trans-const.c: Include stor-layout.h.
      	* trans-decl.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include attribs.h.
      	* trans-expr.c: Include stringpool.h.
      	* trans-intrinsic.c: Include stringpool.h.
      	Include tree-nested.h.
      	Include stor-layout.h.
      	* trans-io.c: Include stringpool.h.
      	Include stor-layout.h.
      	* trans-openmp.c: Include stringpool.h.
      	* trans-stmt.c: Include stringpool.h.
      	* trans-types.c: Include stor-layout.h.
      	Include stringpool.h.
      	* trans.c: Include stringpool.h.
      
      go/ChangeLog
      
      	* go-backend.c: Include stor-layout.h.
      	* go-gcc.cc: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	* go-lang.c: Include stor-layout.h.
      
      java/ChangeLog
      
      	* builtins.c: Include stor-layout.h.
      	Include stringpool.h.
      	* class.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	* constants.c: Include stringpool.h.
      	Include stor-layout.h.
      	* decl.c: Include stor-layout.h.
      	Include stringpool.h.
      	Include varasm.h.
      	* except.c: Include stringpool.h.
      	Include stor-layout.h.
      	* expr.c: Include stringpool.h.
      	Include stor-layout.h.
      	* jcf-parse.c: Include stringpool.h.
      	* mangle.c: Include stringpool.h.
      	* resource.c: Include stringpool.h.
      	Include stor-layout.h.
      	* typeck.c: Include stor-layout.h.
      	Include stringpool.h.
      	* verify-glue.c: Include stringpool.h.
      
      lto/ChangeLog
      	* lto-lang.c: Include stringpool.h.
      	Include stor-layout.h.
      	* lto-partition.c: Include gcc-symtab.h.
      	* lto.c: Include stor-layout.h.
      
      objc/ChangeLog
      	* objc-act.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include attribs.h.
      	* objc-encoding.c: Include stringpool.h.
      	Include stor-layout.h.
      	* objc-gnu-runtime-abi-01.c: Include stringpool.h.
      	* objc-next-runtime-abi-01.c:
      	Include stringpool.h.
      	* objc-next-runtime-abi-02.c: Include stringpool.h.
      	* objc-runtime-shared-support.c: Include stringpool.h.
      
      testsuite/ChangeLog
      
      	* gcc.dg/plugin/selfassign.c: Include stringpool.h.
      	* gcc.dg/plugin/start_unit_plugin.c: Likewise.
      
      From-SVN: r205023
      Diego Novillo committed
  14. 15 Nov, 2013 1 commit
  15. 14 Nov, 2013 2 commits
  16. 13 Nov, 2013 3 commits
    • gimple-walk.h: New File. · 5be5c238
      	* gimple-walk.h: New File.  Relocate prototypes from gimple.h.
      	(struct walk_stmt_info):  Relocate here from gimple.h.
      	* gimple-iterator.h: New File.  Relocate prototypes from gimple.h.
      	(struct gimple_stmt_iterator_d): Relocate here from gimple.h.
      	(gsi_start_1, gsi_none, gsi_start_bb, gsi_last_1, gsi_last_bb,
      	gsi_end_p, gsi_one_before_end_p, gsi_next, gsi_prev, gsi_stmt,
      	gsi_after_labels, gsi_next_nondebug, gsi_prev_nondebug,
      	gsi_start_nondebug_bb, gsi_start_nondebug_after_labels_bb,
      	gsi_last_nondebug_bb, gsi_bb, gsi_seq): Relocate here from gimple.h.
      	* gimple.h (struct gimple_stmt_iterator_d): Move to gimple-iterator.h.
      	(gsi_start_1, gsi_none, gsi_start_bb, gsi_last_1, gsi_last_bb,
      	gsi_end_p, gsi_one_before_end_p, gsi_next, gsi_prev, gsi_stmt,
      	gsi_after_labels, gsi_next_nondebug, gsi_prev_nondebug,
      	gsi_start_nondebug_bb, gsi_start_nondebug_after_labels_bb,
      	gsi_last_nondebug_bb, gsi_bb, gsi_seq): Move to gimple-iterator.h.
      	(struct walk_stmt_info): Move to gimple-walk.h.
      	(gimple_seq_set_location): Move to gimple.c
      	* gimple-walk.c: New File.
      	(walk_gimple_seq_mod, walk_gimple_seq, walk_gimple_asm, walk_gimple_op,
      	walk_gimple_stmt, get_base_loadstore, walk_stmt_load_store_addr_ops,
      	walk_stmt_load_store_ops): Relocate here from gimple.c.
      	* gimple-iterator.c: Include gimple-iterator.h.
      	* gimple.c (walk_gimple_seq_mod, walk_gimple_seq, walk_gimple_asm,
      	walk_gimple_op, walk_gimple_stmt, get_base_loadstore,
      	walk_stmt_load_store_addr_ops, walk_stmt_load_store_ops): Move to
      	gimple-walk.c.
      	(gimple_seq_set_location): Relocate from gimple.h.
      	* tree-phinodes.h (set_phi_nodes): Move to tree-phinodes.c.
      	* tree-phinodes.c (set_phi_nodes): Relocate from tree-phinodes.h.
      	* gengtype.c (open_base_files): Add gimple-iterator.h to include list.
      	* Makefile.in (OBJS): Add gimple-walk.o
      
      	* asan.c: Update Include list as required for gimple-iterator.h and
      	gimple-walk.h.
      	* cfgexpand.c: Likewise.
      	* cfgloop.c: Likewise.
      	* cfgloopmanip.c: Likewise.
      	* cgraph.c: Likewise.
      	* cgraphbuild.c: Likewise.
      	* cgraphunit.c: Likewise.
      	* gimple-fold.c: Likewise.
      	* gimple-low.c: Likewise.
      	* gimple-pretty-print.c: Likewise.
      	* gimple-ssa-isolate-paths.c: Likewise.
      	* gimple-ssa-strength-reduction.c: Likewise.
      	* gimple-streamer-in.c: Likewise.
      	* gimple-streamer-out.c: Likewise.
      	* gimplify.c: Likewise.
      	* graphite-blocking.c: Likewise.
      	* graphite-clast-to-gimple.c: Likewise.
      	* graphite-dependences.c: Likewise.
      	* graphite-interchange.c: Likewise.
      	* graphite-optimize-isl.c: Likewise.
      	* graphite-poly.c: Likewise.
      	* graphite-scop-detection.c: Likewise.
      	* graphite-sese-to-poly.c: Likewise.
      	* graphite.c: Likewise.
      	* ipa-inline-analysis.c: Likewise.
      	* ipa-profile.c: Likewise.
      	* ipa-prop.c: Likewise.
      	* ipa-pure-const.c: Likewise.
      	* ipa-split.c: Likewise.
      	* lto-streamer-in.c: Likewise.
      	* lto-streamer-out.c: Likewise.
      	* omp-low.c: Likewise.
      	* predict.c: Likewise.
      	* profile.c: Likewise.
      	* sese.c: Likewise.
      	* tracer.c: Likewise.
      	* trans-mem.c: Likewise.
      	* tree-call-cdce.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* tree-cfgcleanup.c: Likewise.
      	* tree-complex.c: Likewise.
      	* tree-data-ref.c: Likewise.
      	* tree-dfa.c: Likewise.
      	* tree-eh.c: Likewise.
      	* tree-emutls.c: Likewise.
      	* tree-if-conv.c: Likewise.
      	* tree-inline.c: Likewise.
      	* tree-into-ssa.c: Likewise.
      	* tree-loop-distribution.c: Likewise.
      	* tree-nested.c: Likewise.
      	* tree-nrv.c: Likewise.
      	* tree-object-size.c: Likewise.
      	* tree-outof-ssa.c: Likewise.
      	* tree-parloops.c: Likewise.
      	* tree-predcom.c: Likewise.
      	* tree-profile.c: Likewise.
      	* tree-scalar-evolution.c: Likewise.
      	* tree-sra.c: Likewise.
      	* tree-ssa-ccp.c: Likewise.
      	* tree-ssa-coalesce.c: Likewise.
      	* tree-ssa-copy.c: Likewise.
      	* tree-ssa-copyrename.c: Likewise.
      	* tree-ssa-dce.c: Likewise.
      	* tree-ssa-dom.c: Likewise.
      	* tree-ssa-dse.c: Likewise.
      	* tree-ssa-forwprop.c: Likewise.
      	* tree-ssa-ifcombine.c: Likewise.
      	* tree-ssa-live.c: Likewise.
      	* tree-ssa-loop-ch.c: Likewise.
      	* tree-ssa-loop-im.c: Likewise.
      	* tree-ssa-loop-ivcanon.c: Likewise.
      	* tree-ssa-loop-ivopts.c: Likewise.
      	* tree-ssa-loop-manip.c: Likewise.
      	* tree-ssa-loop-niter.c: Likewise.
      	* tree-ssa-loop-prefetch.c: Likewise.
      	* tree-ssa-loop.c: Likewise.
      	* tree-ssa-math-opts.c: Likewise.
      	* tree-ssa-phiopt.c: Likewise.
      	* tree-ssa-phiprop.c: Likewise.
      	* tree-ssa-pre.c: Likewise.
      	* tree-ssa-propagate.c: Likewise.
      	* tree-ssa-reassoc.c: Likewise.
      	* tree-ssa-sink.c: Likewise.
      	* tree-ssa-strlen.c: Likewise.
      	* tree-ssa-structalias.c: Likewise.
      	* tree-ssa-tail-merge.c: Likewise.
      	* tree-ssa-ter.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.
      	* tree-stdarg.c: Likewise.
      	* tree-switch-conversion.c: Likewise.
      	* tree-tailcall.c: Likewise.
      	* tree-vect-data-refs.c: Likewise.
      	* tree-vect-generic.c: Likewise.
      	* tree-vect-loop-manip.c: Likewise.
      	* tree-vect-loop.c: Likewise.
      	* tree-vect-patterns.c: Likewise.
      	* tree-vect-slp.c: Likewise.
      	* tree-vect-stmts.c: Likewise.
      	* tree-vectorizer.c: Likewise.
      	* tree-vrp.c: Likewise.
      	* tree.c: Likewise.
      	* tsan.c: Likewise.
      	* value-prof.c: Likewise.
      	* vtable-verify.c: Likewise.
      
      	* config/aarch64/aarch64-builtins.c: Include gimple-iterator.h.
      	* config/rs6000/rs6000.c: Include gimple-iterator.h and gimple-walk.h.
      	* testsuite/g++.dg/plugin/selfassign.c: Include gimple-iterator.h.
      	* testsuite/gcc.dg/plugin/selfassign.c: Likewise.
      
      From-SVN: r204763
      Andrew Macleod committed
    • gimple-ssa-isolate-paths.c (pass_isolate_erroneous_paths): Comment fix. · d35e43b9
      * gimple-ssa-isolate-paths.c (pass_isolate_erroneous_paths): Comment fix.
      
      From-SVN: r204762
      Steven Bosscher committed
    • re PR middle-end/59119 (Segfault in -fisolate-erroneous-paths pass) · 56d338c9
      	* PR middle-end/59119
      	* gimple-ssa-isolate-paths.c (find_implicit_erroneous_behaviour): New
      	function, extracted from gimple_ssa_isolate_erroneous_paths.
      	(find_explicit_erroneous_behaviour): Similarly.
      	(insert_trap_and_remove_trailing_statements): Remove statements
      	in reverse order.
      
      	* PR middle-end/59119
      	* gcc.c-torture/compile/pr59119.c: New test.
      
      From-SVN: r204760
      Jeff Law committed
  17. 12 Nov, 2013 2 commits
    • gimple-ssa-isolate-paths.c (check_loadstore): Mark discovered memory references as volatile. · 115d1851
      	* gimple-ssa-isolate-paths.c (check_loadstore): Mark discovered
      	memory references as volatile.
      	(insert_trap_and_remove_trailing_statements): Fix comment.
      
      	* gcc.dg/tree-ssa/isolate-1.c: Update expected output.
      	* gcc.dg/tree-ssa/isolate-5.c: Verify the load survives through
      	the SSA optimizers.
      
      From-SVN: r204722
      Jeff Law committed
    • gimple-ssa-isolate-paths.c (check_loadstore): New function. · 6ab7a3d7
      	* gimple-ssa-isolate-paths.c (check_loadstore): New function.
      	(insert_trap_and_remove_trailing_statements): New argument OP which
      	is the NULL pointer.  Emit the trap after the load/store through
      	the NULL pointer.  Simplify the RHS of a store through a NULL pointer
      	when trivial to do so.
      	(isolate_path): Corresponding changes.
      	(gimple_ssa_isolate_erroneous_path): Likewise.
      
      	* gcc.dg/tree-ssa/isolate-1.c: Update expected output.
      	* gcc.dg/tree-ssa/isolate-5.c: New test.
      
      From-SVN: r204708
      Jeff Law committed
  18. 07 Nov, 2013 1 commit
    • invoke.texi (-fisolate-erroneous-paths): Document. · 89d3d605
      	* doc/invoke.texi (-fisolate-erroneous-paths): Document.
      
      	* gimple-ssa-isolate-paths.c (gate_isolate_erroneous_paths):
      	No longer check if we have __builtin_trap, assume it's
      	available.
      
      java/
      
      	* builtins.c (initialize_builtins): Provide __builtin_trap.
      
      From-SVN: r204533
      Jeff Law committed
  19. 05 Nov, 2013 1 commit
    • Makefile.in (OBJS): Add gimple-ssa-isolate-paths.o · 8fdc414d
      	* Makefile.in (OBJS): Add gimple-ssa-isolate-paths.o
      	* common.opt (-fisolate-erroneous-paths): Add option and
      	documentation.
      	* gimple-ssa-isolate-paths.c: New file.
      	* gimple.c (check_loadstore): New function.
      	(infer_nonnull_range): Moved into gimple.c from tree-vrp.c
      	Verify OP is in the argument list and the argument corresponding
      	to OP is a pointer type.  Use operand_equal_p rather than
      	pointer equality when testing if OP is on the nonnull list.
      	Use check_loadstore rather than count_ptr_derefs.  Handle
      	GIMPLE_RETURN statements.
      	* tree-vrp.c (infer_nonnull_range): Remove.
      	* gimple.h (infer_nonnull_range): Declare.
      	* opts.c (default_options_table): Add
      	* OPT_fisolate_erroneous_paths.
      	* passes.def: Add pass_isolate_erroneous_paths.
      	* timevar.def (TV_ISOLATE_ERRONEOUS_PATHS): New timevar.
      	* tree-pass.h (make_pass_isolate_erroneous_paths): Declare.
      	* tree-ssa.c (struct count_ptr_d): Remove.
      	(count_ptr_derefs, count_uses_and_derefs): Remove.
      	* tree-ssa.h (count_uses_and_derefs): Remove.
      
      	* gcc.dg/pr38984.c: Add -fno-isolate-erroneous-paths.
      	* gcc.dg/tree-ssa/isolate-1.c: New test.
      	* gcc.dg/tree-ssa/isolate-2.c: New test.
      	* gcc.dg/tree-ssa/isolate-3.c: New test.
      	* gcc.dg/tree-ssa/isolate-4.c: New test.
      
      From-SVN: r204414
      Jeff Law committed