1. 27 Aug, 2014 4 commits
  2. 26 Aug, 2014 36 commits
    • dwarf2out.h (dwarf2out_decl): Remove prototype. · 5b003117
      	* dwarf2out.h (dwarf2out_decl): Remove prototype.
      	* dwarf2out.c (dwarf2out_decl): Make static.
      
      From-SVN: r214554
      Aldy Hernandez committed
    • invoke.texi: -fno-cxa-atexit should be -fno-use-cxa-atexit. · eaf1fcda
      2014-08-26  Joel Sherrill <joel.sherrill@oarcorp.com>
      
      	* doc/invoke.texi: -fno-cxa-atexit should be -fno-use-cxa-atexit.
      
      From-SVN: r214551
      Joel Sherrill committed
    • cselib (also touches sched-deps.c) · 12ea1b95
      gcc/
      2014-08-26  David Malcolm  <dmalcolm@redhat.com>
      
      	* cselib.h (struct elt_loc_list): Strengthen field "setting_insn"
      	from rtx to rtx_insn *.
      	(cselib_lookup_from_insn): Likewise for final param.
      	(cselib_subst_to_values_from_insn): Likewise.
      	(cselib_add_permanent_equiv): Likewise.
      
      	* cselib.c (cselib_current_insn): Likewise for this variable.
      	(cselib_subst_to_values_from_insn): Likewise for param "insn".
      	(cselib_lookup_from_insn): Likewise.
      	(cselib_add_permanent_equiv): Likewise for param "insn" and local
      	"save_cselib_current_insn".
      	(cselib_process_insn): Replace use of NULL_RTX with NULL.
      
      	* sched-deps.c (add_insn_mem_dependence): Strengthen param "insn"
      	from rtx to rtx_insn *.
      
      From-SVN: r214550
      David Malcolm committed
    • Tweak to dse.c · eb92d49a
      gcc/
      2014-08-26  David Malcolm  <dmalcolm@redhat.com>
      
      	* dse.c (dse_step6): Strengthen local "rinsn" from rtx to
      	rtx_insn *.
      
      From-SVN: r214549
      David Malcolm committed
    • Remove DF_REF_INSN scaffolding · b2908ba6
      gcc/
      2014-08-26  David Malcolm  <dmalcolm@redhat.com>
      
      	* df.h (df_dump_insn_problem_function): Strengthen first param of
      	this callback from const_rtx to const rtx_insn *.
      	(struct df_insn_info): Strengthen field "insn" from rtx to
      	rtx_insn *.
      	(DF_REF_INSN): Eliminate this function, reinstating the older
      	macro definition.
      	(df_find_def): Strengthen param 1 from rtx to rtx_insn *.
      	(df_reg_defined): Likewise.
      	(df_find_use): Likewise.
      	(df_reg_used): Likewise.
      	(df_dump_insn_top): Strengthen param 1 from const_rtx to
      	const rtx_insn *.
      	(df_dump_insn_bottom): Likewise.
      	(df_insn_debug): Strengthen param 1 from rtx to rtx_insn *.
      	(df_insn_debug_regno): Likewise.
      	(debug_df_insn): Likewise.
      	(df_rd_simulate_one_insn): Likewise for param 2.
      	(df_word_lr_simulate_defs): Likewise for param 1.
      	(df_word_lr_simulate_uses): Likewise.
      	(df_md_simulate_one_insn): Likewise for param 2.
      	(df_simulate_find_noclobber_defs): Likewise for param 1.
      	(df_simulate_find_defs): Likewise.
      	(df_simulate_defs): Likewise.
      	(df_simulate_uses): Likewise.
      	(df_simulate_one_insn_backwards): Likewise for param 2.
      	(df_simulate_one_insn_forwards): Likewise.
      	(df_uses_create): Likewise for param 2.
      	(df_insn_create_insn_record): Likewise for param 1.
      	(df_insn_delete): Likewise.
      	(df_insn_rescan): Likewise.
      	(df_insn_rescan_debug_internal): Likewise.
      	(df_insn_change_bb): Likewise.
      	(df_notes_rescan): Likewise.
      	* rtl.h (remove_death): Likewise for param 2.
      	(print_rtl_with_bb): Strengthen param 2 from const_rtx to
      	const rtx_insn *.
      	* sched-int.h (reemit_notes): Strengthen param from rtx to
      	rtx_insn *.
      	* valtrack.h (propagate_for_debug): Likewise for param 1.
      
      	* cfgrtl.c (print_rtl_with_bb): Strengthen param "rtx_first" and
      	local "tmp_rtx" from const_rtx to const rtx_insn *.
      	* combine.c (remove_death): Strengthen param "insn" from rtx to
      	rtx_insn *.
      	(move_deaths): Likewise for local "where_dead".
      	* cse.c (delete_trivially_dead_insns): Introduce local
      	"bind_var_loc" so that "bind" can be strengthened to an rtx_insn *.
      	* df-core.c (df_find_def): Strengthen param "insn" from rtx to
      	rtx_insn *.
      	(df_reg_defined): Likewise.
      	(df_find_use): Likewise.
      	(df_reg_used): Likewise.
      	(df_dump_insn_problem_data): Strengthen param "insn" from
      	const_rtx to const rtx_insn *.
      	(df_dump_insn_top): Likewise.
      	(df_dump_insn_bottom): Likewise.
      	(df_insn_debug): Strengthen param "insn" from rtx to rtx_insn *.
      	(df_insn_debug_regno): Likewise.
      	(debug_df_insn): Likewise.
      	(DF_REF_INSN): Delete.
      	* df-problems.c (df_rd_simulate_one_insn): Strengthen param "insn"
      	from rtx to rtx_insn *.
      	(df_chain_insn_top_dump): Strengthen param "insn" from
      	const_rtx to const rtx_insn *.
      	(df_chain_insn_bottom_dump): Likewise.
      	(df_word_lr_simulate_defs): Strengthen param "insn" from rtx to
      	rtx_insn *.
      	(df_word_lr_simulate_uses): Likewise.
      	(df_print_note): Likewise.
      	(df_remove_dead_and_unused_notes): Likewise.
      	(df_set_unused_notes_for_mw): Likewise.
      	(df_set_dead_notes_for_mw): Likewise.
      	(df_create_unused_note): Likewise.
      	(df_simulate_find_defs): Likewise.
      	(df_simulate_find_uses): Likewise.
      	(df_simulate_find_noclobber_defs): Likewise.
      	(df_simulate_defs): Likewise.
      	(df_simulate_uses): Likewise.
      	(df_simulate_one_insn_backwards): Likewise.
      	(df_simulate_one_insn_forwards): Likewise.
      	(df_md_simulate_one_insn): Likewise.
      	* df-scan.c (df_uses_create): Likewise.
      	(df_insn_create_insn_record): Likewise.
      	(df_insn_delete): Likewise.
      	(df_insn_rescan): Likewise.
      	(df_insn_rescan_debug_internal): Likewise.
      	(df_insn_change_bb): Likewise.
      	(df_notes_rescan): Likewise.
      	(df_refs_add_to_chains): Likewise.
      	(df_insn_refs_verify): Likewise.
      	* emit-rtl.c (set_insn_deleted): Add checked cast to rtx_insn *
      	when invoking df_insn_delete.
      	(reorder_insns): Strengthen local "x" from rtx to rtx_insn *.
      	(set_unique_reg_note): Add checked cast.
      	* final.c (cleanup_subreg_operands): Likewise.
      	* gcse.c (update_ld_motion_stores): Likewise, strengthening local
      	"insn" from rtx to rtx_insn *.
      	* haifa-sched.c (reemit_notes): Strengthen param "insn" and local
      	"last" from rtx to rtx_insn *.
      	* ira-emit.c (change_regs_in_insn): New function.
      	(change_loop): Strengthen local "insn" from rtx to rtx_insn *.
      	Invoke change_regs_in_insn rather than change_regs.
      	* ira.c (update_equiv_regs): Strengthen locals "insn",
      	"init_insn", "new_insn" from rtx to rtx_insn *.  Invoke
      	for_each_rtx_in_insn rather than for_each_rtx.
      	* recog.c (confirm_change_group): Add checked casts.
      	(peep2_update_life): Strengthen local "x" from rtx to rtx_insn *.
      	Add checked cast.
      	(peep2_fill_buffer): Add checked cast.
      	* rtlanal.c (remove_note): Likewise.
      	* valtrack.c (propagate_for_debug): Strengthen param "insn" and
      	locals "next" "end" from rtx to rtx_insn *.
      
      /
      2014-08-26  David Malcolm  <dmalcolm@redhat.com>
      
      	* rtx-classes-status.txt (TODO): DF_REF_INSN is done.
      
      From-SVN: r214548
      David Malcolm committed
    • Various scheduling strengthenings · f57aa6b0
      gcc/
      2014-08-26  David Malcolm  <dmalcolm@redhat.com>
      
      	* sched-int.h (sched_init_insn_luid): Strengthen param 1 from rtx
      	to rtx_insn *.
      	(struct reg_use_data): Likewise for field "insn".
      	(insn_cost): Likewise for param.
      	(real_insn_for_shadow): Likewise for return type and param.
      	(increase_insn_priority): Likewise for param 1.
      	(debug_dependencies): Likewise for both params.
      
      	* haifa-sched.c (insn_delay): Likewise for param "insn".
      	(real_insn_for_shadow): Likewise for return type and param "insn".
      	(update_insn_after_change): Likewise for param "insn".
      	(recompute_todo_spec): Likewise for param "next" and locals "pro",
      	"other".
      	(insn_cost): Likewise for param "insn".
      	(increase_insn_priority): Likewise.
      	(calculate_reg_deaths): Likewise.
      	(setup_insn_reg_pressure_info): Likewise.
      	(model_schedule): Strengthen from vec<rtx> to vec<rtx_insn *>.
      	(model_index): Strengthen param "insn" from rtx to rtx_insn *.
      	(model_recompute): Likewise.
      	(must_restore_pattern_p): Likewise for param "next".
      	(model_excess_cost): Likewise for param "insn".
      	(queue_remove): Likewise.
      	(adjust_priority): Likewise for param "prev".
      	(update_register_pressure): Likewise for param "insn".
      	(setup_insn_max_reg_pressure): Likewise for local "insn".
      	(update_reg_and_insn_max_reg_pressure): Likewise for param "insn".
      	(model_add_to_schedule): Likewise.
      	(model_reset_queue_indices): Likewise for local "insn".
      	(unschedule_insns_until): Strengthen local "recompute_vec" from
      	auto_vec<rtx> to auto_vec<rtx_insn *>.  Strengthen locals "last",
      	"con" from rtx to rtx_insn *.
      	(restore_last_backtrack_point): Likewise for both locals "x". Add
      	checked casts.
      	(estimate_insn_tick): Likewise for param "insn".
      	(commit_schedule): Likewise for params "prev_head", "tail" and
      	local "x".
      	(verify_shadows): Likewise for locals "i1", "i2".
      	(dump_insn_stream): Likewise for params "head", "tail" and locals
      	"next_tail", "insn".
      	(schedule_block): Likewise for locals "insn", "x".  Add a checked
      	cast.
      	(fix_inter_tick): Likewise for params "head", "tail".
      	(create_check_block_twin): Likewise for local "jump".
      	(haifa_change_pattern): Likewise for param "insn".
      	(haifa_speculate_insn): Likewise.
      	(dump_new_block_header): Likewise for params "head", "tail".
      	(fix_jump_move): Likewise for param "jump".
      	(move_block_after_check): Likewise.
      	(sched_init_insn_luid): Likewise for param "insn".
      	(sched_init_luids): Likewise for local "insn".
      	(insn_luid): Likewise for param "insn".
      	(init_h_i_d): Likewise.
      	(haifa_init_h_i_d): Likewise for local "insn".
      	(haifa_init_insn): Likewise for param "insn".
      	* sched-deps.c (add_dependence): Likewise for local "real_pro",
      	"other".
      	(create_insn_reg_use): Likewise for param "insn".
      	(setup_insn_reg_uses): Likewise.  Add a checked cast.
      	* sched-ebb.c (debug_ebb_dependencies): Strengthen params "head",
      	"tail" from rtx to rtx_insn *.
      	* sched-rgn.c (void debug_dependencies): Likewise, also for locals
      	"insn", "next_tail".
      
      From-SVN: r214547
      David Malcolm committed
    • Use rtx_insn in more places in haifa-sched.c · 40a243d4
      gcc/
      2014-08-26  David Malcolm  <dmalcolm@redhat.com>
      
      	* haifa-sched.c (struct model_insn_info): Strengthen field "insn"
      	from rtx to rtx_insn *.
      	(model_add_to_schedule): Likewise for locals "start", "end",
      	"iter".
      
      From-SVN: r214545
      David Malcolm committed
    • duplicate_insn_chain accepts rtx_insn · 5d34b050
      gcc/
      2014-08-26  David Malcolm  <dmalcolm@redhat.com>
      
      	* rtl.h (duplicate_insn_chain): Strengthen both params from rtx to
      	rtx_insn *.
      	* cfgrtl.c (duplicate_insn_chain): Likewise for  params "from",
      	"to" and locals "insn", "next", "copy".  Remove now-redundant
      	checked cast.
      
      From-SVN: r214544
      David Malcolm committed
    • re PR middle-end/58624 (gcc internal compiler error: Segmentaion fault in… · 71d64cd4
      re PR middle-end/58624 (gcc internal compiler error: Segmentaion fault in insert_to_assembler_name_hash)
      
      	PR c++/58624
      	* pt.c (tsubst_decl) [VAR_DECL]: Copy TLS model.
      	(tsubst_copy_and_build) [VAR_DECL]: Use TLS wrapper.
      	* semantics.c (finish_id_expression): Don't call TLS wrapper in a
      	template.
      
      From-SVN: r214543
      Jason Merrill committed
    • Various condition-handling calls · 61aa0978
      gcc/
      2014-08-26  David Malcolm  <dmalcolm@redhat.com>
      
      	* rtl.h (canonicalize_condition): Strengthen param 1 from rtx to
      	rtx_insn * and param 4 from rtx * to rtx_insn **.
      	(get_condition): Strengthen param 1 from rtx to rtx_insn * and
      	param 2 from rtx * to rtx_insn **.
      
      	* df.h (can_move_insns_across): Strengthen params 1-4 from rtx to
      	rtx_insn * and final param from rtx * to rtx_insn **.
      
      	* cfgcleanup.c (try_head_merge_bb): Strengthen local "move_before"
      	from rtx to rtx_insn *.
      	(try_head_merge_bb): Likewise for both locals named "move_upto".
      	* df-problems.c (can_move_insns_across): Likewise for params
      	"from", "to", "across_from", "across_to" and locals "insn",
      	"next", "max_to".  Strengthen param "pmove_upto" from rtx * to
      	rtx_insn **.
      	* ifcvt.c (struct noce_if_info): Strengthen field "cond_earliest"
      	from rtx to rtx_insn *.
      	(noce_get_alt_condition): Strengthen param "earliest" from rtx *
      	to rtx_insn **.  Strengthen local "insn" from rtx to rtx_insn *.
      	(noce_try_minmax): Strengthen locals "earliest", "seq" from rtx to
      	rtx_insn *.
      	(noce_try_abs): Likewise.
      	(noce_get_condition): Likewise for param "jump".  Strengthen param
      	"earliest" from rtx * to rtx_insn **.
      	(noce_find_if_block): Strengthen local "cond_earliest" from rtx to
      	rtx_insn *.
      	(find_cond_trap): Likewise.
      	(dead_or_predicable): Likewise for local "earliest".
      	* loop-iv.c (check_simple_exit): Likewise for local "at".  Add
      	checked cast.
      	* rtlanal.c (canonicalize_condition): Likewise for param "insn"
      	and local "prev".  Strengthen param "earliest" from rtx * to
      	rtx_insn **.
      	(get_condition): Strengthen param "jump" from rtx to rtx_insn *
      	Strengthen param "earliest" from rtx * to rtx_insn **.
      
      From-SVN: r214542
      David Malcolm committed
    • Use rtx_insn in more places in fwprop.c · 51c7dd98
      gcc/
      2014-08-26  David Malcolm  <dmalcolm@redhat.com>
      
      	* fwprop.c (local_ref_killed_between_p): Strengthen params "from",
      	"to" and local "insn" from rtx to rtx_insn *.
      
      From-SVN: r214541
      David Malcolm committed
    • Use rtx_insn in more places in sel-sched.c · 5a59b408
      gcc/
      2014-08-26  David Malcolm  <dmalcolm@redhat.com>
      
      	* sel-sched.c (find_place_for_bookkeeping): Strengthen local "insn"
      	from rtx to rtx_insn *.
      	(need_nop_to_preserve_insn_bb): Likewise for param "insn".
      	(code_motion_path_driver): Likewise for local "last_insn".
      	(simplify_changed_insns): Likewise for local "insn".
      
      From-SVN: r214540
      David Malcolm committed
    • Strengthen various insn emission functions · fee3e72c
      gcc/
      2014-08-26  David Malcolm  <dmalcolm@redhat.com>
      
      	* rtl.h (push_to_sequence): Strengthen param from rtx to
      	rtx_insn *.
      	(push_to_sequence2): Likewise for both params.
      	(delete_insns_since): Likewise for param.
      	(reorder_insns_nobb): Likewise for all three params.
      	(set_new_first_and_last_insn): Likewise for both params.
      
      	* emit-rtl.h (set_first_insn): Strengthen param "insn" from rtx to
      	rtx_insn *.  Remove now-redundant cast.
      	(set_last_insn): Likewise.
      
      	* builtins.c (expand_builtin_return): Strengthen local
      	"call_fusage" from rtx to rtx_insn *.
      	* cfgrtl.c (create_basic_block_structure): Likewise for local
      	"after".
      	* emit-rtl.c (set_new_first_and_last_insn): Likewise for params
      	"first", "last" and local "insn".
      	(delete_insns_since): Likewise for param "from".
      	(reorder_insns_nobb): Likewise for params "from", "to", "after"
      	and local "x".
      	(push_to_sequence): Likewise for param "first" and local "last".
      	(push_to_sequence2): Likewise for params "first" and "last".
      	* lra.c (emit_add3_insn): Likewise for local "last".
      	(lra_emit_add): Likewise.
      	* lra-constraints.c (base_to_reg): Likewise for locals "insn",
      	"last_insn".
      	(process_address_1): Likewise for locals "insn", last".
      	* modulo-sched.c (ps_first_note): Likewise for return type.
      	* optabs.c (expand_binop_directly): Likewise for param "last".
      
      From-SVN: r214539
      David Malcolm committed
    • get_last_insn_anywhere returns an rtx_insn · db76cf1e
      gcc/
      2014-08-26  David Malcolm  <dmalcolm@redhat.com>
      
      	* rtl.h (get_last_insn_anywhere): Strengthen return type from rtx
      	to rtx_insn*.
      	* emit-rtl.c (get_last_insn_anywhere): Likewise.
      
      From-SVN: r214538
      David Malcolm committed
    • Strengthen fields in struct sequence_stack and struct emit_status · 0926539c
      gcc/
      2014-08-26  David Malcolm  <dmalcolm@redhat.com>
      
      	* function.h (struct sequence_stack): Strengthen fields "first"
      	and "last" from rtx to rtx_insn *.
      	(struct emit_status): Likewise for fields "x_first_insn" and
      	"x_last_insn".
      
      	* emit-rtl.h (get_insns): Remove now-redundant checked cast.
      	(set_first_insn): Add checked cast.
      	(get_last_insn): Remove now-redundant checked cast.
      	(set_last_insn): Add checked cast.
      
      	* config/m32c/m32c.c (m32c_leaf_function_p): Strengthen locals
      	"saved_first" and "saved_last" from rtx to rtx_insn *.
      
      From-SVN: r214537
      David Malcolm committed
    • Params of add_insn and unlink_insn_chain · 9152e0aa
      gcc/
      2014-08-26  David Malcolm  <dmalcolm@redhat.com>
      
      	* rtl.h (add_insn): Strengthen param from rtx to rtx_insn *.
      	(unlink_insn_chain): Strengthen both params from rtx to
      	rtx_insn *.
      
      	* cfgrtl.c (cfg_layout_function_header): Likewise for this
      	variable.
      	(unlink_insn_chain): Likewise for params "first" and "last".
      	Remove now-redundant checked cast.
      	(record_effective_endpoints): Replace use of NULL_RTX with NULL.
      	(fixup_reorder_chain): Strengthen local "insn" from rtx to
      	rtx_insn *.
      	* emit-rtl.c (link_insn_into_chain): Likewise for all three
      	params.
      	(add_insn): Likewise for param "insn" and local "prev".
      	(add_insn_after_nobb): Likewise for both params and local "next".
      	(add_insn_before_nobb): Likewise for both params and local "prev".
      	(add_insn_after): Rename param "after" to "uncast_after",
      	introducing local "after" with another checked cast.
      	(add_insn_before): Rename params "insn" and "before", giving them
      	"uncast_" prefixes, adding the old names back using checked casts.
      	(emit_note_after): Likewise for param "after".
      	(emit_note_before): Likewise for param "before".
      	(emit_label): Add a checked cast.
      
      From-SVN: r214536
      David Malcolm committed
    • cselib_record_sets_hook takes an rtx_insn · 46665961
      gcc/
      	* cselib.h (cselib_record_sets_hook):  Strengthen initial param
      	"insn" from rtx to rtx_insn *.
      
      	* cselib.c (cselib_record_sets_hook): Likewise.
      
      	* var-tracking.c (add_with_sets): Likewise, renaming back from
      	"uncast_insn" to "insn" and eliminating the checked cast from rtx
      	to rtx_insn *.
      
      From-SVN: r214535
      David Malcolm committed
    • Remove BB_HEAD, BB_END, BB_HEADER scaffolding · 1130d5e3
      gcc/
      	* basic-block.h (struct rtl_bb_info): Strengthen fields "end_"
      	and "header_" from rtx to rtx_insn *.
      	(struct basic_block_d): Likewise for field "head_" within "x"
      	field of union basic_block_il_dependent.
      	(BB_HEAD): Drop function...
      	(SET_BB_HEAD): ...and this function in favor of...
      	(BB_HEAD): ...reinstate macro.
      	(BB_END): Drop function...
      	(SET_BB_END): ...and this function in favor of...
      	(BB_END): ...reinstate macro.
      	(BB_HEADER): Drop function...
      	(SET_BB_HEADER): ...and this function in favor of...
      	(BB_HEADER): ...reinstate macro.
      
      	* bb-reorder.c (add_labels_and_missing_jumps): Drop use of BB_END.
      	(fix_crossing_unconditional_branches): Likewise.
      	* caller-save.c (save_call_clobbered_regs): Likewise.
      	(insert_one_insn): Drop use of SET_BB_HEAD and SET_BB_END.
      	* cfgbuild.c (find_bb_boundaries): Drop use of SET_BB_END.
      	* cfgcleanup.c (merge_blocks_move_successor_nojumps): Likewise.
      	(merge_blocks_move_successor_nojumps): Likewise.
      	(outgoing_edges_match): Update use of for_each_rtx to
      	for_each_rtx_in_insn.
      	* cfgexpand.c (expand_gimple_cond): Drop use of SET_BB_END.
      	(expand_gimple_cond): Likewise.
      	(expand_gimple_tailcall): Likewise.
      	(expand_gimple_basic_block): Drop use of SET_BB_HEAD and
      	SET_BB_END.
      	(construct_exit_block): Drop use of SET_BB_END.
      	* cfgrtl.c (cfg_layout_function_footer): Strengthen from rtx to
      	rtx_insn *.
      	(delete_insn): Rename param "insn" to "uncast_insn", introducing
      	a new local "insn" with a checked cast to rtx_insn *.  Drop use of
      	SET_BB_HEAD and SET_BB_END.
      	(create_basic_block_structure): Drop use of SET_BB_HEAD and
      	SET_BB_END.
      	(rtl_delete_block): Drop use of SET_BB_HEAD.
      	(rtl_split_block): Drop use of SET_BB_END.
      	(emit_nop_for_unique_locus_between): Likewise.
      	(rtl_merge_blocks): Drop use of SET_BB_END and SET_BB_HEAD.
      	(block_label): Drop use of SET_BB_HEAD.
      	(fixup_abnormal_edges): Drop use of SET_BB_END.
      	(record_effective_endpoints): Drop use of SET_BB_HEADER.
      	(relink_block_chain): Likewise.
      	(fixup_reorder_chain): Drop use of SET_BB_END.
      	(cfg_layout_duplicate_bb): Drop use of SET_BB_HEADER.
      	(cfg_layout_delete_block): Strengthen local "to" from rtx * to
      	rtx_insn **.  Drop use of SET_BB_HEADER.
      	(cfg_layout_merge_blocks): Drop use of SET_BB_HEADER, SET_BB_END,
      	SET_BB_HEAD.
      	(BB_HEAD): Delete this function.
      	(SET_BB_HEAD): Likewise.
      	(BB_END): Likewise.
      	(SET_BB_END): Likewise.
      	(BB_HEADER): Likewise.
      	(SET_BB_HEADER): Likewise.
      	* emit-rtl.c (add_insn_after):  Rename param "insn" to
      	"uncast_insn", adding a new local "insn" and a checked cast to
      	rtx_insn *.  Drop use of SET_BB_END.
      	(remove_insn): Strengthen locals "next" and "prev" from rtx to
      	rtx_insn *.  Drop use of SET_BB_HEAD and SET_BB_END.
      	(reorder_insns): Drop use of SET_BB_END.
      	(emit_insn_after_1): Strengthen param "first" and locals "last",
      	"after_after" from rtx to rtx_insn *.  Drop use of SET_BB_END.
      	(emit_pattern_after_noloc): Add checked cast.
      	* haifa-sched.c (get_ebb_head_tail): Drop use of SET_BB_END.
      	(restore_other_notes): Likewise.
      	(move_insn): Likewise.
      	(sched_extend_bb): Likewise.
      	(fix_jump_move): Likewise.
      	* ifcvt.c (noce_process_if_block): Likewise.
      	(dead_or_predicable): Likewise.
      	* ira.c (update_equiv_regs): Drop use of SET_BB_HEAD.
      	* reg-stack.c (change_stack): Drop use of SET_BB_END.
      	* sel-sched-ir.c (sel_move_insn): Likewise.
      	* sel-sched.c (move_nop_to_previous_block): Likewise.
      
      	* config/c6x/c6x.c (hwloop_optimize): Drop use of SET_BB_HEAD and
      	SET_BB_END.
      	* config/ia64/ia64.c (emit_predicate_relation_info): Likewise.
      
      /
      	* rtx-classes-status.txt (TODO): SET_BB_HEAD, SET_BB_END,
      	SET_BB_HEADER are done.
      
      From-SVN: r214534
      David Malcolm committed
    • Tighten up params of create_basic_block_structure · e00022e9
      gcc/
      	* basic-block.h (create_basic_block_structure): Strengthen params
      	1 "head" and 2 "end" from rtx to rtx_insn *.
      	* cfgrtl.c (create_basic_block_structure): Likewise.
      	(rtl_create_basic_block): Update casts from void * to rtx to
      	rtx_insn *, so that we can pass them as rtx_insn * to
      	create_basic_block_structure.
      	* sel-sched-ir.c (sel_create_basic_block): Likewise.
      
      From-SVN: r214533
      David Malcolm committed
    • frontend_passes (expr_array): Replace by vec template. · 6c7069d6
      2014-08-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	* frontend_passes (expr_array):  Replace by vec template.
      	(expr_size):  Remove.
      	(expr_count):  Remove.
      	(doloop_list):  Replace by vec template.
      	(doloop_size):  Remove.
      	(gfc_run_passes):  Adjust to use of vec template.
      	(cfe_register_funcs):  Likewise.
      	(cfe_expr_0):  Likewise.
      	(doloop_code):  Likewise.
      
      From-SVN: r214532
      Thomas Koenig committed
    • cselib and incdec · dd60a84c
      gcc/
      	* rtl.h (for_each_inc_dec): Strengthen param 1 from rtx * to
      	rtx_insn **.
      	(check_for_inc_dec): Strengthen param "insn" from rtx to
      	rtx_insn *.
      
      	* cselib.h (cselib_process_insn): Likewise.
      
      	* cselib.c (cselib_record_sets): Likewise.
      	(cselib_process_insn): Likewise.
      
      	* dse.c (struct insn_info): Likewise for field "insn".
      	(check_for_inc_dec_1): Likewise for local "insn".
      	(check_for_inc_dec): Likewise for param "insn".
      	(scan_insn): Likewise.
      	(dse_step1): Likewise for local "insn".
      
      	* rtlanal.c (for_each_inc_dec): Strengthen param 1 from rtx * to
      	rtx_insn **.  Use for_each_rtx_in_insn rather than for_each_rtx.
      
      From-SVN: r214531
      David Malcolm committed
    • Remove DEP_PRO/CON scaffolding · 0e0ce50d
      gcc/
      	* sched-int.h (struct _dep): Strengthen fields "pro" and "con"
      	from rtx to rtx_insn *.
      	(DEP_PRO): Delete this function and...
      	(SET_DEP_PRO): ...this function in favor of...
      	(DEP_PRO): ...reinstate this macro.
      	(DEP_CON): Delete this function and...
      	(SET_DEP_CON): ...this function in favor of...
      	(DEP_CON): ...reinstate this old macro.
      	(init_dep_1): Strengthen params 2 and 3 from rtx to rtx_insn *.
      	(init_dep): Likewise.
      	(set_priorities): Likewise for both params.
      	(sd_copy_back_deps): Likewise for params 1 and 2.
      
      	* haifa-sched.c (priority): Likewise for param "insn" and local
      	"next".
      	(set_priorities): Likewise for params "head" and "tail" and local
      	"insn".
      	(process_insn_forw_deps_be_in_spec): Likewise for param "twin" and
      	local "consumer".
      	(add_to_speculative_block): Add a checked cast.
      	(create_check_block_twin): Drop use of SET_DEP_CON.
      	(add_jump_dependencies): Strengthen params "insn" and "jump" from
      	rtx to rtx_insn *.
      
      	* sched-deps.c (init_dep_1): Likewise for params "pro" and "con".
      	Drop use of SET_DEP_PRO
      	(init_dep): Strengthen params "pro" and "con" from rtx to
      	rtx_insn *.
      	(sd_copy_back_deps): Likewise for params "to" and "from".  Drop
      	use of SET_DEP_CON.
      	(DEP_PRO): Delete.
      	(DEP_CON): Delete.
      	(SET_DEP_PRO): Delete.
      	(SET_DEP_CON): Delete.
      
      /
      	* rtx-classes-status.txt (TODO): SET_DEP_PRO and SET_DEP_CON are
      	done.
      
      From-SVN: r214530
      David Malcolm committed
    • Remove VINSN_INSN_RTX scaffolding · 3d30f4e8
      gcc/
      	* sel-sched-ir.h (struct vinsn_def): Strengthen field "insn_rtx"
      	from rtx to rtx_insn *.
              (VINSN_INSN_RTX): Eliminate rvalue function and...
      	(SET_VINSN_INSN): ...lvalue function in favor of...
      	(VINSN_INSN_RTX): reinstate this old macro.
      
      	* sel-sched-ir.c (vinsn_init): Eliminate use of SET_VINSN_INSN_RTX
      	in favor of VINSN_INSN_RTX.
      	(VINSN_INSN_RTX): Delete this function.
      	(SET_VINSN_INSN_RTX): Likewise.
      
      /
      	* rtx-classes-status.txt (TODO): Remove SET_VINSN_INSN_RTX.
      
      From-SVN: r214529
      David Malcolm committed
    • insn_t becomes an rtx_insn * · 6144a836
      gcc/
      	* sel-sched-ir.h (insn_t): Strengthen from rtx to rtx_insn *.
      	(BND_TO): Delete this function and...
      	(SET_BND_TO): ...this functions in favor of...
      	(BND_TO): ...reinstating this macro.
      	(struct _fence): Strengthen field "executing_insns" from
      	vec<rtx, va_gc> * to vec<rtx_insn *, va_gc> *.  Strengthen fields
      	"last_scheduled_insn" and "sched_next" from rtx to rtx_insn *.
      	(_succ_iter_cond): Update param "succp" from rtx * to insn_t *
      	and param "insn" from rtx to insn_t.
      	(create_vinsn_from_insn_rtx): Strengthen first param from rtx to
      	rtx_insn *.
      
      	* sched-int.h (insn_vec_t): Strengthen from vec<rtx> to
      	vec<rtx_insn *> .
      	(rtx_vec_t): Likewise.
      	(struct sched_deps_info_def): Strengthen param of "start_insn"
      	callback from rtx to rtx_insn *.  Likewise for param "insn2" of
      	"note_mem_dep" callback and first param of "note_dep" callback.
      
      	* haifa-sched.c (add_to_speculative_block): Strengthen param
      	"insn" from rtx to rtx_insn *.
      	(clear_priorities): Likewise.
      	(calc_priorities): Likewise for local "insn".
      
      	* sched-deps.c (haifa_start_insn): Likewise for param "insn".
      	Remove redundant checked cast.
      	(haifa_note_mem_dep): Likewise for param "pending_insn".
      	(haifa_note_dep): Likewise for param "elem".
      	(note_mem_dep): Likewise for param "e".
      	(sched_analyze_1): Add checked casts.
      	(sched_analyze_2): Likewise.
      
      	* sel-sched-dump.c (dump_insn_vector): Strengthen local "succ"
      	from rtx to rtx_insn *.
      	(debug): Update param from vec<rtx> & to vec<rtx_insn *>, and
      	from vec<rtx> * to vec<rtx_insn *> *.
      
      	* sel-sched-ir.c (blist_add): Remove use of SET_BND_TO
      	scaffolding.
      	(flist_add): Strengthen param "executing_insns" from
      	vec<rtx, va_gc> * to vec<rtx_insn *, va_gc> *.
      	(advance_deps_context): Remove now-redundant checked cast.
      	(init_fences): Replace uses of NULL_RTX with NULL.
      	(merge_fences): Strengthen params "last_scheduled_insn" and
      	"sched_next" from rtx to rtx_insn * and "executing_insns" from
      	vec<rtx, va_gc> * to vec<rtx_insn *, va_gc> *.
      	(add_clean_fence_to_fences): Replace uses of NULL_RTX with NULL.
      	(get_nop_from_pool): Add local "nop_pat" so that "nop" can be
      	an instruction, rather than doing double-duty as a pattern.
      	(return_nop_to_pool): Update for change of insn_t.
      	(deps_init_id): Remove now-redundant checked cast.
      	(struct sched_scan_info_def): Strengthen param of "init_insn"
      	callback from rtx to insn_t.
      	(sched_scan): Strengthen local "insn" from rtx to rtx_insn *.
      	(init_global_and_expr_for_insn): Replace uses of NULL_RTX with
      	NULL.
      	(get_seqno_by_succs): Strengthen param "insn" and locals "tmp",
      	"end" from rtx to rtx_insn *.
      	(create_vinsn_from_insn_rtx): Likewise for param "insn_rtx".
      	(rtx insn_rtx, bool force_unique_p)
      	(BND_TO): Delete function.
      	(SET_BND_TO): Delete function.
      
      	* sel-sched.c (advance_one_cycle): Strengthen local "insn" from
      	rtx to rtx_insn *.
      	(extract_new_fences_from): Replace uses of NULL_RTX with NULL.
      	(replace_dest_with_reg_in_expr): Strengthen local "insn_rtx" from
      	rtx to rtx_insn *.
      	(undo_transformations): Likewise for param "insn".
      	(update_liveness_on_insn): Likewise.
      	(compute_live_below_insn): Likewise for param "insn" and local
      	"succ".
      	(update_data_sets): Likewise for param "insn".
      	(fill_vec_av_set): Replace uses of NULL_RTX with NULL.
      	(convert_vec_av_set_to_ready): Drop now-redundant checked cast.
      	(invoke_aftermath_hooks): Strengthen param "best_insn" from rtx to
      	rtx_insn *.
      	(move_cond_jump): Likewise for param "insn".
      	(move_cond_jump): Drop use of SET_BND_TO.
      	(compute_av_set_on_boundaries): Likewise.
      	(update_fence_and_insn): Replace uses of NULL_RTX with NULL.
      	(update_and_record_unavailable_insns): Strengthen local "bb_end"
      	from rtx to rtx_insn *.
      	(maybe_emit_renaming_copy): Likewise for param "insn".
      	(maybe_emit_speculative_check): Likewise.
      	(handle_emitting_transformations): Likewise.
      	(remove_insn_from_stream): Likewise.
      	(code_motion_process_successors): Strengthen local "succ" from rtx
      	to insn_t.
      
      /
      	* rtx-classes-status.txt (TODO): Remove SET_BND_TO.
      
      From-SVN: r214528
      David Malcolm committed
    • sel-sched-ir.h: Make ilist_t work on insn_t rather than rtx · de8ea963
      gcc/
      	* sel-sched-ir.h (ilist_t): Redefine this typedef in terms of
      	ilist_t, not _xlist_t;
      	(ILIST_INSN): Define in terms of new union field "insn".
      	(ILIST_NEXT): Define in terms of _LIST_NEXT rather than
      	_XLIST_NEXT.
      	(struct _list_node): Add new field "insn" to the union, of type
      	insn_t.
      	(ilist_add): Replace macro with an inline function, requiring an
      	insn_t.
      	(ilist_remove): Define this macro directly in terms of
      	_list_remove, rather than indirectly via _xlist_remove.
      	(ilist_clear): Likewise, in terms of _list_clear rather than
      	_xlist_clear.
      	(ilist_is_in_p): Replace macro with an inline function, requiring
      	an insn_t.
      	(_list_iter_cond_insn): New function.
      	(ilist_iter_remove): Define this macro directly in terms of
      	_list_iter_remove, rather than indirectly via _xlist_iter_remove.
      	(ilist_iterator): Define directly in terms of _list_iterator
      	rather than indirectly through _xlist_iterator.
      	(FOR_EACH_INSN): Define in terms of _list_iter_cond_insn rather
      	than in terms of _FOR_EACH_X.
      	(FOR_EACH_INSN_1): Likewise.
      
      From-SVN: r214527
      David Malcolm committed
    • Fix ARM ICE for register var asm ("pc") (PR target/60606). · c218f6e8
      	PR target/60606
      	PR target/61330
      	* varasm.c (make_decl_rtl): Clear DECL_ASSEMBLER_NAME and
      	DECL_HARD_REGISTER and return for invalid register specifications.
      	* cfgexpand.c (expand_one_var): If expand_one_hard_reg_var clears
      	DECL_HARD_REGISTER, call expand_one_error_var.
      	* config/arm/arm.c (arm_hard_regno_mode_ok): Do not allow
      	CC_REGNUM with non-MODE_CC modes.
      	(arm_regno_class): Return NO_REGS for PC_REGNUM.
      
      testsuite:
      	* gcc.dg/torture/pr60606-1.c, gcc.target/arm/pr60606-2.c,
      	gcc.target/arm/pr60606-3.c, gcc.target/arm/pr60606-4.c: New tests.
      
      From-SVN: r214526
      Joseph Myers committed
    • Properly set gcc_build_dir for in-tree build · 43f4a446
      	PR bootstrap/62260
      	* Makefile.am (gcc_build_dir): Set to @gcc_build_dir@.
      	* configure.ac (gcc_build_dir): Set and AC_SUBST according to
      	$host_subdir.
      	* Makefile.in: Regenerated.
      	* configure: Likewise.
      
      From-SVN: r214524
      H.J. Lu committed
    • re PR c/61271 (10 * possible coding error with logical not (!)) · 13dfd554
      	PR c/61271
      	* sel-sched-ir.c (make_regions_from_the_rest): Fix condition.
      
      From-SVN: r214523
      Marek Polacek committed
    • bessel_7.f90: Bump allowed precision to avoid failure on s390*-*-linux-gnu. · d20cd506
      2014-08-26  Dominik Vogt  <vogt@linux.vnet.ibm.com>
      
      	* gfortran.dg/bessel_7.f90: Bump allowed precision to avoid
      	failure on s390*-*-linux-gnu.
      
      From-SVN: r214520
      Dominik Vogt committed
    • aarch64.c (generic_addrcost_table): Delete qi cost; add di cost. · 8d805e02
      2014-08-26  Evandro Menezes <e.menezes@samsung.com>
      
      	* config/arm/aarch64/aarch64.c (generic_addrcost_table): Delete
      	qi cost; add di cost.
      	(cortexa57_addrcost_table): Likewise.
      
      From-SVN: r214503
      Evandro Menezes committed
    • Whitespace fixes in libstdc++-v3/ChangeLog · 7e51aabc
      From-SVN: r214501
      Jonathan Wakely committed
    • re PR c/61271 (10 * possible coding error with logical not (!)) · 40de8128
      	PR c/61271
      	* expr.c (is_aligning_offset): Remove logical not.
      
      From-SVN: r214496
      Marek Polacek committed
    • re PR c/61271 (10 * possible coding error with logical not (!)) · ccc089dc
      	PR c/61271
      	* tree-vectorizer.h (LOOP_REQUIRES_VERSIONING_FOR_ALIGNMENT,
      	LOOP_REQUIRES_VERSIONING_FOR_ALIAS): Wrap in parens.
      
      From-SVN: r214493
      Marek Polacek committed
    • re PR c++/62175 (Internal compiler error in gimplify_modify_expr gimplify.c:4616) · 8b228266
      2014-08-26  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/62175
      	* tree-ssa-loop-niter.c (expand_simple_operations): Do not
      	expand possibly trapping operations.
      
      	* g++.dg/torture/pr62175.C: New testcase.
      
      From-SVN: r214492
      Richard Biener committed
    • Update rs6000.c's pass_analyze_swaps to use rtx_insn · 94d64bbd
      gcc/
      	* config/rs6000/rs6000.c (class swap_web_entry): Strengthen field
      	"insn" from rtx to rtx_insn *.
      	(permute_load): Likewise for param "insn".
      	(permute_store): Likewise.
      	(handle_special_swappables): Likewise for local "insn".
      	(replace_swap_with_copy): Likewise for locals "insn" and
      	"new_insn".
      	(rs6000_analyze_swaps): Likewise for local "insn".
      
      From-SVN: r214489
      David Malcolm committed
    • Add missing entry · 347990b7
      From-SVN: r214488
      Martin Liska committed