1. 26 Aug, 2014 18 commits
    • 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
    • pt.c (check_explicit_specialization): Don't complain about non-template variable. · 991eeb49
      	* pt.c (check_explicit_specialization): Don't complain about
      	non-template variable.
      	(template_for_substitution): Allow variable templates.
      	(check_template_variable): Fix logic for member var template.
      	* decl.c (start_decl): Don't complain about extra template header
      	here.
      
      From-SVN: r214487
      Jason Merrill committed
    • Daily bump. · f348033d
      From-SVN: r214486
      GCC Administrator committed
  2. 25 Aug, 2014 22 commits
    • du_chain.insn is an rtx_insn · 186294fa
      gcc/
      	* regrename.h (struct du_chain): Strengthen field "insn" from rtx
      	to rtx_insn *.
      
      From-SVN: r214483
      David Malcolm committed
    • Eliminate BB_NOTE_LIST scaffolding · b311fd0f
      gcc/
      	* sel-sched-ir.h (struct sel_region_bb_info_def): Strengthen field
      	"note_list" from rtx to rtx_insn *.
      	(BB_NOTE_LIST): Replace this function and...
      	(SET_BB_NOTE_LIST): ...this function with...
      	(BB_NOTE_LIST): ...the former macro implementation.
      
      	* sched-int.h (concat_note_lists): Strengthen param "from_end" and
      	local "from_start" from rtx to rtx_insn *.  Strengthen param
      	"to_endp" from rtx * to rtx_insn **.
      
      	* haifa-sched.c (concat_note_lists): Likewise.
      	* sel-sched-ir.c (init_bb): Eliminate SET_BB_NOTE_LIST in favor of
      	BB_NOTE_LIST.
      	(sel_restore_notes): Likewise.
      	(move_bb_info): Likewise.
      	(BB_NOTE_LIST): Delete this function.
      	(SET_BB_NOTE_LIST): Delete this function.
      	* sel-sched.c (create_block_for_bookkeeping): Eliminate
      	SET_BB_NOTE_LIST in favor of BB_NOTE_LIST.
      
      /
      	* rtx-classes-status.txt (TODO): Remove SET_BB_NOTE_LIST.
      
      From-SVN: r214482
      David Malcolm committed
    • Strengthen haifa_sched_info callbacks and 3 scheduler hooks · ce1ce33a
      gcc/
      	* target.def (reorder): Strengthen param "ready" of this DEFHOOK
      	from rtx * to rtx_insn **.
      	(reorder2): Likewise.
      	(dependencies_evaluation_hook): Strengthen params "head", "tail"
      	from rtx to rtx_insn *.
      
      	* doc/tm.texi: Update mechanically for above change to target.def.
      
      	* sched-int.h (note_list): Strengthen this variable from rtx to
      	rtx_insn *.
      	(remove_notes): Likewise for both params.
      	(restore_other_notes): Likewise for return type and first param.
      	(struct ready_list): Strengthen field "vec" from rtx * to
      	rtx_insn **.
      	(struct dep_replacement): Strenghten field "insn" from rtx to
      	rtx_insn *.
      	(struct deps_desc): Likewise for fields "last_debug_insn",
      	"last_args_size".
      	(struct haifa_sched_info): Likewise for callback field
      	"can_schedule_ready_p"'s param, for first param of "new_ready"
      	callback field, for both params of "rank" callback field, for
      	first field of "print_insn" callback field (with a const), for
      	both params of "contributes_to_priority" callback, for param
      	of "insn_finishes_block_p" callback, for fields "prev_head",
      	"next_tail", "head", "tail", for first param of "add_remove_insn"
      	callback, for first param of "begin_schedule_ready" callback, for
      	both params of "begin_move_insn" callback, and for second param
      	of "advance_target_bb" callback.
      	(add_dependence): Likewise for params 1 and 2.
      	(sched_analyze): Likewise for params 2 and 3.
      	(deps_analyze_insn): Likewise for param 2.
      	(ready_element): Likewise for return type.
      	(ready_lastpos): Strengthen return type from rtx * to rtx_insn **.
      	(try_ready): Strenghten param from rtx to rtx_insn *.
      	(sched_emit_insn): Likewise for return type.
      	(record_delay_slot_pair): Likewise for params 1 and 2.
      	(add_delay_dependencies): Likewise for param.
      	(contributes_to_priority): Likewise for both params.
      	(find_modifiable_mems): Likewise.
      
      	* config/arm/arm.c (cortexa7_sched_reorder):  Strengthen param
      	"ready" from rtx * to rtx_insn **.  Strengthen locals "insn",
      	"first_older_only_insn" from rtx to rtx_insn *.
      	(arm_sched_reorder):  Strengthen param "ready"  from rtx * to
      	rtx_insn **.
      
      	* config/c6x/c6x.c (struct c6x_sched_context): Strengthen field
      	"last_scheduled_iter0" from rtx to rtx_insn *.
      	(init_sched_state): Replace use of NULL_RTX with NULL for insn.
      	(c6x_sched_reorder_1): Strengthen param "ready" and locals
      	"e_ready", "insnp" from rtx * to rtx_insn **.  Strengthen local
      	"insn" from rtx to rtx_insn *.
      	(c6x_sched_reorder): Strengthen param "ready" from rtx * to
      	rtx_insn **.
      	(c6x_sched_reorder2): Strengthen param "ready" and locals
      	"e_ready", "insnp" from rtx * to rtx_insn **. Strengthen local
      	"insn" from rtx to rtx_insn *.
      	(c6x_variable_issue):  Add a checked cast when assigning from insn
      	to ss.last_scheduled_iter0.
      	(split_delayed_branch): Strengthen param "insn" and local "i1"
      	from rtx to rtx_insn *.
      	(split_delayed_nonbranch): Likewise.
      	(undo_split_delayed_nonbranch): Likewise for local "insn".
      	(hwloop_optimize): Likewise for locals "seq", "insn", "prev",
      	"entry_after", "end_packet", "head_insn", "tail_insn",
      	"new_insns", "last_insn", "this_iter", "prev_stage_insn".
      	Strengthen locals "orig_vec", "copies", "insn_copies" from rtx *
      	to rtx_insn **.  Remove now-redundant checked cast on last_insn,
      	but add a checked cast on loop->start_label.  Consolidate calls to
      	avoid assigning result of gen_spkernel to "insn", now an
      	rtx_insn *.
      
      	* config/i386/i386.c (do_reorder_for_imul): Strengthen param
      	"ready" from rtx * to rtx_insn **.  Strengthen local "insn" from
      	rtx to rtx_insn *.
      	(swap_top_of_ready_list): Strengthen param "ready" from rtx * to
      	rtx_insn **.  Strengthen locals "top", "next" from rtx to
      	rtx_insn *.
      	(ix86_sched_reorder): Strengthen param "ready" from rtx * to
      	rtx_insn **.  Strengthen local "insn" from rtx to rtx_insn *.
      	(add_parameter_dependencies): Strengthen params "call", "head" and
      	locals "insn", "last", "first_arg" from rtx to rtx_insn *.
      	(avoid_func_arg_motion): Likewise for params "first_arg", "insn".
      	(add_dependee_for_func_arg): Likewise for param "arg" and local
      	"insn".
      	(ix86_dependencies_evaluation_hook): Likewise for params "head",
      	"tail" and locals "insn", "first_arg".
      
      	* config/ia64/ia64.c (ia64_dependencies_evaluation_hook): Likewise
      	for params "head", "tail" and locals "insn", "next", "next_tail".
      	(ia64_dfa_sched_reorder): Strengthen param "ready" and locals
      	"e_ready", "insnp" from rtx * to rtx_insn **. Strengthen locals
      	"insn", "lowest", "highest" from rtx to rtx_insn *.
      	(ia64_sched_reorder): Strengthen param "ready" from rtx * to
      	rtx_insn **.
      	(ia64_sched_reorder2): Likewise.
      
      	* config/mep/mep.c (mep_find_ready_insn): Strengthen return type
      	and local "insn" from rtx to rtx_insn *.  Strengthen param "ready"
      	from rtx * to rtx_insn **.
      	(mep_move_ready_insn): Strengthen param "ready" from rtx * to
      	rtx_insn **.
      	(mep_print_sched_insn): Strengthen param "insn" from rtx to
      	rtx_insn *.
      	(mep_sched_reorder): Strengthen param "ready" from rtx * to
      	rtx_insn **.  Strengthen locals "core_insn", "cop_insn" from rtx
      	to rtx_insn *.
      
      	* config/mips/mips.c (mips_promote_ready): Strengthen param "ready"
      	from rtx * to rtx_insn **.  Strengthen local "new_head" from rtx
      	to rtx_insn *.
      	(mips_maybe_swap_ready): Strengthen param "ready" from rtx * to
      	rtx_insn **.  Strengthen local "temp" from rtx to rtx_insn *.
      	(mips_macc_chains_reorder): Strengthen param "ready" from rtx * to
      	rtx_insn **.
      	(vr4130_reorder): Likewise.
      	(mips_74k_agen_reorder): Likewise.  Strengthen local "insn" from
      	rtx to rtx_insn *.
      	(mips_sched_reorder_1): Strengthen param "ready" from rtx * to
      	rtx_insn **.
      	(mips_sched_reorder): Likewise.
      	(mips_sched_reorder2): Likewise.
      
      	* config/picochip/picochip.c (picochip_sched_reorder): Likewise.
      
      	* config/rs6000/rs6000.c (rs6000_sched_reorder): Likewise.
      	Strengthen local "tmp" from rtx to rtx_insn *.
      	(rs6000_sched_reorder2): Likewise.
      
      	* config/s390/s390.c (s390_z10_prevent_earlyload_conflicts):
      	Likewise.  Update sizeof(rtx) to sizeof(rtx_insn *) in memmove.
      	(s390_sched_reorder): Strengthen param "ready" from rtx * to
      	rtx_insn **.  Strengthen local "tmp" from rtx to rtx_insn *.
      
      	* config/sh/sh.c (rank_for_reorder): Strengthen locals "tmp",
      	"tmp2" from rtx to rtx_insn *.
      	(swap_reorder): Strengthen param "a" from rtx * to rtx_insn **.
      	Strengthen local "insn" from rtx to rtx_insn *.
      	(ready_reorder): Strengthen param "ready" from rtx * to
      	rtx_insn **.  Update sizeof(rtx) to sizeof(rtx_insn *) in qsort.
      	(sh_reorder):  Strengthen param "ready" from rtx * to rtx_insn **.
      	(sh_reorder2): Likewise.
      
      	* config/spu/spu.c (spu_sched_reorder): Likewise.  Strengthen
      	local "insn" from rtx to rtx_insn *.
      
      	* haifa-sched.c (note_list): Strengthen this variable from rtx to
      	rtx_insn *.
      	(scheduled_insns): Strengthen this variable from vec<rtx> to
      	vec<rtx_insn *>.
      	(set_modulo_params): Likewise for locals "i1", "i2".
      	(record_delay_slot_pair): Likewise for params "i1", "i2".
      	(add_delay_dependencies): Likewise for param "insn".
      	(cond_clobbered_p): Likewise.
      	(recompute_todo_spec): Likewise for local "prev".
      	(last_scheduled_insn): Likewise for this variable.
      	(nonscheduled_insns_begin): Likewise.
      	(model_set_excess_costs): Strengthen param "insns" from rtx * to
      	rtx_insn **.
      	(rank_for_schedule): Strengthen locals "tmp", "tmp2" from rtx to
      	rtx_insn *.
      	(swap_sort): Strengthen param "a" from rtx * to rtx_insn **.
      	Strengthen local "insn" from rtx to rtx_insn *.
      	(queue_insn): Strengthen param "insn" from rtx to rtx_insn *.
      	(ready_lastpos): Strengthen return type from rtx * to rtx_insn **.
      	(ready_add): Strengthen param "insn" from rtx to rtx_insn *.
      	(ready_remove_first): Likewise for return type and local "t".
      	(ready_element): Likewise for return type.
      	(ready_remove): Likewise for return type and local "t".
      	(ready_sort): Strengthen local "first" from rtx * to rtx_insn **.
      	(check_clobbered_conditions): Strengthen local "x" from rtx to
      	rtx_insn *, adding a checked cast.
      	(schedule_insn): Likewise for param "insn".
      	(remove_notes): Likewise for params "head", "tail" and locals
      	"next_tail", "insn", "next".
      	(struct haifa_saved_data): Likewise for fields
      	"last_scheduled_insn", "nonscheduled_insns_begin".
      	(save_backtrack_point): Update for change to field "vec" of
      	struct ready_list.
      	(toggle_cancelled_flags): Strengthen local "first" from rtx * to
      	rtx_insn **.
      	(restore_last_backtrack_point): Likewise.  Strengthen local "insn"
      	from rtx to rtx_insn *
      	(resolve_dependencies): Strengthen param "insn" from rtx to
      	rtx_insn *
      	(restore_other_notes): Likewise for return type, for param "head"
      	and local "note_head".
      	(undo_all_replacements): Likewise for local "insn".
      	(first_nonscheduled_insn): Likewise for return type and local "insn".
      	(queue_to_ready): Likewise for local "insn", adding checked casts.
      	(early_queue_to_ready): Likewise for local "insn".
      	(debug_ready_list_1): Strengthen local "p" from rtx * to
      	rtx_insn **.
      	(move_insn): Strengthen param "insn" and local "note" from rtx to
      	rtx_insn *
      	(insn_finishes_cycle_p): Likewise for param "insn".
      	(max_issue): Likewise for local "insn".
      	(choose_ready): Likewise.  Strengthen param "insn_ptr" from rtx *
      	to rtx_insn **.
      	(commit_schedule): Strengthen param "prev_head" and local "insn"
      	from rtx to rtx_insn *
      	(prune_ready_list): Likewise for local "insn".
      	(schedule_block): Likewise for locals "prev_head", "head", "tail",
      	"skip_insn", "insn", "failed_insn", "x", adding a checked cast.
      	(set_priorities): Likewise for local "prev_head".
      	(try_ready): Likewise for param "next".
      	(fix_tick_ready): Likewise.
      	(change_queue_index): Likewise.
      	(sched_extend_ready_list): Update for change to field "vec" of
      	struct ready_list.
      	(generate_recovery_code): Strengthen param "insn" from rtx to
      	rtx_insn *.
      	(begin_speculative_block): Likewise.
      	(create_check_block_twin): Likewise for param "insn" and locals
      	"label", "check", "twin".  Introduce local "check_pat" to avoid
      	"check" being used as a plain rtx before being used as an insn.
      	(fix_recovery_deps): Add a checked cast to rtx_insn * when
      	extracting elements from ready_list.
      	(sched_remove_insn): Strengthen param "insn" from rtx to
      	rtx_insn *.
      	(sched_emit_insn): Likewise for return type.
      	(ready_remove_first_dispatch): Likewise for return type and local
      	"insn".
      
      	* hw-doloop.c (discover_loop): Add a checked cast to rtx_insn *.
      
      	* modulo-sched.c (sms_print_insn): Strengthen from const_rtx to
      	const rtx_insn *.
      
      	* sched-deps.c (add_dependence): Strengthen params "con", "pro"
      	from rtx to rtx_insn *.
      	(add_dependence_list): Likewise for param "insn".  Add a checked
      	cast.
      	(add_dependence_list_and_free): Strengthen param "insn" from rtx
      	to rtx_insn *.  Strengthen param "list_p" from rtx * to
      	rtx_insn **.
      	(chain_to_prev_insn): Strengthen param "insn" and locals
      	"prec_nonnote", "i" from rtx to rtx_insn *.
      	(flush_pending_lists): Likewise for param "insn".
      	(cur_insn): Likewise for this variable.
      	(haifa_start_insn): Add a checked cast.
      	(note_dep): Strengthen param "e" from rtx to rtx_insn *.
      	(sched_analyze_reg): Likewise for param "insn".
      	(sched_analyze_1): Likewise.
      	(sched_analyze_2): Likewise.  Add checked casts.
      	(sched_analyze_insn): Likewise.  Also for local "prev".
      	(deps_analyze_insn): Likewise for param "insn".
      	(sched_analyze): Likewise for params "head", "tail" and local "insn".
      	(add_dependence_1): Likewise for params "insn", "elem".
      	(struct mem_inc_info): Likewise for fields "inc_insn", "mem_insn".
      	(parse_add_or_inc): Likewise for param "insn".
      	(find_inc): Likewise for local "inc_cand".
      	(find_modifiable_mems): Likewise for params "head", "tail" and
      	locals "insn", "next_tail".
      
      	* sched-ebb.c (init_ready_list): Likewise for local "insn".
      	(begin_schedule_ready): Likewise for param "insn".
      	(begin_move_insn): Likewise for params "insn" and "last".
      	(ebb_print_insn): Strengthen param "insn" from const_rtx to
      	const rtx_insn *.
      	(rank): Strengthen params "insn1", "insn2" from rtx to rtx_insn *.
      	(ebb_contributes_to_priority): Likewise for params "next", "insn".
      	(ebb_add_remove_insn): Likewise for param "insn".
      	(advance_target_bb): Likewise.
      
      	* sched-rgn.c (rgn_estimate_number_of_insns): Likewise for local
      	"insn".
      	(check_live): Likewise for param "insn".
      	(init_ready_list): Likewise for local "insn".
      	(can_schedule_ready_p): Likewise for param "insn".
      	(begin_schedule_ready): Likewise.
      	(new_ready): Likewise for param "next".
      	(rgn_print_insn): Likewise for param "insn".
      	(rgn_rank): Likewise for params "insn1", "insn2".
      	(contributes_to_priority): Likewise for params "next", "insn".
      	(rgn_insn_finishes_block_p): Likewise for param "insn".
      	(add_branch_dependences): Likewise for params "head", "tail" and
      	locals "insn", "last".
      	(rgn_add_remove_insn): Likewise for param "insn".
      	(advance_target_bb): Likewise.
      
      	* sel-sched-dump.c (sel_print_insn): Strengthen param "insn" from
      	const_rtx to const rtx_insn *.
      
      	* sel-sched-dump.h (sel_print_insn): Likewise.
      
      	* sel-sched-ir.c (advance_deps_context): Add a checked cast.
      	(deps_init_id): Likewise.
      
      	* sel-sched.c (convert_vec_av_set_to_ready): Likewise.
      	(invoke_reorder_hooks): Strengthen local "arr" from rtx * to
      	rtx_insn **.
      
      From-SVN: r214481
      David Malcolm committed
    • final_start_function takes an rtx_insn · f0cb8ae0
      gcc/
      	* output.h (final_start_function): Strengthen param 1 from rtx to
      	rtx_insn *.
      
      	* final.c (final_start_function): Likewise, renaming back from
      	"uncast_first" to "first", and dropping the checked cast from rtx
      	to rtx_insn *.
      
      From-SVN: r214480
      David Malcolm committed
    • final accepts an rtx_insn · a943bf7a
      gcc/
      	* output.h (final): Strengthen param 1 from rtx to rtx_insn *.
      	* final.c (final): Likewise.  Rename param back from
      	"uncast_first" to "first" and eliminate the checked cast from rtx
      	to rtx_insn *.
      
      From-SVN: r214479
      David Malcolm committed
    • shorten_branches takes an rtx_insn · 49922db8
      gcc/
      	* output.h (shorten_branches): Strengthen param from rtx to
      	rtx_insn *.
      
      	* final.c (shorten_branches): Likewise, renaming param back from
      	"uncast_first" to "first", and dropping the checked cast from rtx
      	to rtx_insn *.
      
      	* genattr.c (gen_attr): Likewise when writing out the prototype of
      	shorten_branches.
      
      From-SVN: r214478
      David Malcolm committed
    • struct haifa_sched_info: prev_head and next_tail · 0043f37d
      gcc/
      	* sched-int.h (struct haifa_sched_info): Strengthen fields
      	"prev_head" and "next_tail" from rtx to rtx_insn *.
      
      From-SVN: r214477
      David Malcolm committed
    • Add rtx_jump_table_data::get_labels method · 95c43227
      gcc/
      	* rtl.h (rtx_jump_table_data::get_labels): New method.
      	* cfgbuild.c (make_edges): Replace hand-coded lookup of labels
      	with use of the new rtx_jump_table_data::get_labels method.
      	(purge_dead_tablejump_edges): Strengthen param "table" from rtx
      	to rtx_jump_table_data *.  Simplify by using get_labels method.
      	* cfgrtl.c (delete_insn): Replace use of JUMP_TABLE_DATA_P with
      	a dyn_cast, introducing local "table", using it to replace
      	label-lookup logic with a get_labels method call.
      	(patch_jump_insn): Simplify using get_labels method.
      	* dwarf2cfi.c (create_trace_edges): Likewise.
      	* rtlanal.c (label_is_jump_target_p): Likewise.
      
      From-SVN: r214476
      David Malcolm committed
    • unshare_all_rtl_again takes an rtx_insn * · 6bb9bf63
      gcc/
      	* rtl.h (unshare_all_rtl_again): Strengthen param "insn" from rtx
      	to rtx_insn *.
      
      	* emit-rtl.c (unshare_all_rtl_1): Likewise.
      	(unshare_all_rtl_again): Likewise, also for local "p".
      
      From-SVN: r214475
      David Malcolm committed
    • delete_insn_and_edges takes an rtx_insn * · 373fc786
      gcc/
      	* rtl.h (delete_insn_and_edges): Strengthen param "insn" from rtx
      	to rtx_insn *.
      	* cfgrtl.c (delete_insn_and_edges): Likewise.
      
      From-SVN: r214474
      David Malcolm committed
    • reorder_insns requires rtx_insn * · ac9d2d2c
      gcc/
      	* rtl.h (reorder_insns): Strengthen params "from", "to", "after"
      	from rtx to rtx_insn *.
      
      	* emit-rtl.c (reorder_insns): Likewise, also for local "insn".
      
      From-SVN: r214473
      David Malcolm committed
    • function.c and shrink-wrap.*: more rtx_insn · 9c8348cf
      gcc/
      	* function.c (thread_prologue_and_epilogue_insns): Likewise for
      	locals "returnjump", "epilogue_end", "insn", "next".
      
      	* shrink-wrap.h (get_unconverted_simple_return): Strengthen param
      	"returnjump" from rtx * to rtx_insn **.
      	* shrink-wrap.c (get_unconverted_simple_return): Likewise.
      
      From-SVN: r214472
      David Malcolm committed
    • Convert edge_def.insns.r to rtx_insn * · 3ffa95c2
      gcc/
      	* basic-block.h (struct edge_def). Strengthen "r" within
      	union edge_def_insns from rtx to rtx_insn *.
      
      	* cfgexpand.c (pass_expand::execute): Remove now-redundant cast
      	from rtx to rtx_insn *.  Strengthen local "insns" from rtx to
      	rtx_insn *.
      	* cfgrtl.c (commit_one_edge_insertion): Remove now-redundant cast
      	from rtx to rtx_insn *.
      	* cprop.c (find_bypass_set): Strengthen local "insn" from rtx to
      	rtx_insn *.
      	* postreload-gcse.c (reg_killed_on_edge): Likewise.
      	(reg_used_on_edge): Likewise.
      	* tree-cfg.c (gt_ggc_mx): New overload for rtx_insn *&.
      	(gt_pch_nx): New overload for rtx_insn *&.
      	* tree-outof-ssa.c (expand_phi_nodes): Strengthen local "insns"
      	from rtx to rtx_insn *.
      
      From-SVN: r214471
      David Malcolm committed
    • Remove BB_FOOTER scaffolding · d8ce2eae
      gcc/
      	* basic-block.h (struct rtl_bb_info): Strengthen field "footer_"
      	from rtx to rtx_insn *.
      	(BB_FOOTER): Replace function with access macro.
      	(SET_BB_FOOTER): Delete.
      
      	* cfgcleanup.c (try_optimize_cfg): Replace uses of SET_BB_FOOTER
      	with BB_FOOTER.
      	* cfgrtl.c (try_redirect_by_replacing_jump): Likewise.
      	(emit_barrier_after_bb): Likewise.
      	(record_effective_endpoints): Likewise.
      	(relink_block_chain): Likewise.
      	(fixup_fallthru_exit_predecessor): Likewise.
      	(cfg_layout_duplicate_bb): Likewise.
      	(cfg_layout_split_block): Likewise.
      	(cfg_layout_delete_block): Likewise.
      	(cfg_layout_merge_blocks): Likewise.
      	(BB_FOOTER): Delete function.
      	(SET_BB_FOOTER): Delete function.
      	* combine.c (update_cfg_for_uncondjump): Replace uses of
      	SET_BB_FOOTER with BB_FOOTER.
      
      /
      	* rtx-classes-status.txt (TODO): Remove SET_BB_FOOTER.
      
      From-SVN: r214470
      David Malcolm committed
    • struct eh_landing_pad_d: field "landing_pad" is an rtx_code_label · be7457df
      gcc/
      	* except.h (struct eh_landing_pad_d): Strengthen field
      	"landing_pad" from rtx to rtx_code_label *.
      
      	* except.c (sjlj_emit_dispatch_table): Likewise for param
      	"dispatch_label"
      	(sjlj_build_landing_pads): Likewise for local "dispatch_label".
      
      From-SVN: r214469
      David Malcolm committed
    • PHASE 4: Removal of scaffolding · 1455e88c
      /
      2014-08-25  David Malcolm  <dmalcolm@redhat.com>
      
      	* rtx-classes-status.txt: Phase 3 (per-file commits within
      	"config" subdirs) is done; begin phase 4 (removal of
      	"scaffolding").
      
      From-SVN: r214468
      David Malcolm committed
    • config/xtensa: Use rtx_insn and rtx_code_label · 240a513f
      gcc/
      	* config/xtensa/xtensa-protos.h (xtensa_emit_loop_end): Strengthen
      	first param from rtx to rtx_insn *.
      	* config/xtensa/xtensa.c (struct machine_function): Likewise for
      	field "set_frame_ptr_insn".
      	(xtensa_expand_compare_and_swap): Strengthen locals "csloop" and
      	"csend" from rtx to rtx_code_label *.
      	(xtensa_expand_atomic): Likewise for local "csloop".
      	(xtensa_emit_loop_end): Strengthen param "insn" from rtx to
      	rtx_insn *.
      	(xtensa_call_tls_desc): Likewise for return type and locals
      	"call_insn", "insns".
      	(xtensa_legitimize_tls_address): Likewise for local "insns".
      	(xtensa_expand_prologue): Likewise for locals "insn", "first".
      
      From-SVN: r214467
      David Malcolm committed
    • config/v850: Use rtx_insn · 5dc2bb45
      gcc/
      	* config/v850/v850-protos.h (v850_adjust_insn_length): Strengthen
      	first param from rtx to rtx_insn *.
      	* config/v850/v850.c (v850_adjust_insn_length): Likewise for param
      	"insn".
      
      From-SVN: r214466
      David Malcolm committed
    • config/tilepro: Use rtx_insn · e51f5c08
      gcc/
      	* config/tilepro/tilepro-protos.h (tilepro_output_cbranch_with_opcode):
      	Strengthen param 1 from rtx to rtx_insn *.
      	(tilepro_output_cbranch): Likewise.
      	(tilepro_adjust_insn_length): Likewise.
      	(tilepro_final_prescan_insn): Likewise for sole param.
      
      	* config/tilepro/tilepro.c (tilepro_legitimize_tls_address):
      	Likewise for local "last".
      	(cbranch_predicted_p): Likewise for param "insn".
      	(tilepro_output_simple_cbranch_with_opcode): Likewise.
      	(tilepro_output_cbranch_with_opcode): Likewise.
      	(tilepro_output_cbranch): Likewise.
      	(frame_emit_load): Likewise for return type and locals "seq",
      	"insn".
      	(emit_sp_adjust): Likewise for return type and local "insn".
      	(tilepro_expand_epilogue): Likewise for locals "last_insn",
      	"insn".
      	(tilepro_adjust_insn_length): Likewise for param "insn".
      	(next_insn_to_bundle): Likewise for return type and params
      	"r", "end".
      	(tilepro_gen_bundles): Likewise for locals "insn", "next", "end".
      	(replace_pc_relative_symbol_ref): Likewise for param "insn" and
      	local "new_insns".
      	(match_addli_pcrel): Likewise for param "insn".
      	(replace_addli_pcrel): Likewise.
      	(match_auli_pcrel): Likewise.
      	(replace_auli_pcrel): Likewise.
      	(tilepro_fixup_pcrel_references): Likewise for locals "insn",
      	"next_insn".
      	(reorder_var_tracking_notes): Likewise for locals "insn", "next",
      	"queue", "next_queue", "prev".
      	(tilepro_asm_output_mi_thunk): Likewise for local "insn".
      	(tilepro_final_prescan_insn): Likewise for param "insn".
      
      From-SVN: r214465
      David Malcolm committed
    • config/tilegx: Use rtx_insn · 9c6ae653
      gcc/
      	* config/tilegx/tilegx-protos.h (tilegx_output_cbranch_with_opcode):
      	Strengthen param 1 from rtx to rtx_insn *.
      	(tilegx_output_cbranch): Likewise.
      	(tilegx_adjust_insn_length): Likewise.
      	(tilegx_final_prescan_insn): Likewise for sole param.
      
      	* config/tilegx/tilegx.c (tilegx_legitimize_tls_address): Likewise
      	or local "last".
      	(cbranch_predicted_p): Likewise for param "insn".
      	(tilegx_output_simple_cbranch_with_opcode): Likewise.
      	(tilegx_output_cbranch_with_opcode): Likewise.
      	(tilegx_output_cbranch): Likewise.
      	(frame_emit_load): Likewise for return type.
      	(set_frame_related_p): Likewise for locals "seq", "insn".
      	(emit_sp_adjust): Likewise for return type, and for local "insn".
      	Introduce local "pat" for use in place of "insn" where the latter
      	isn't an instruction.
      	(tilegx_expand_epilogue): Strengthen locals "last_insn", "insn"
      	from rtx to rtx_insn *.
      	(tilegx_adjust_insn_length): Likewise for param "insn".
      	(next_insn_to_bundle): Likewise for return type and params "r" and
      	"end".
      	(tilegx_gen_bundles): Likewise for locals "insn", "next", "prev",
      	"end".
      	(replace_insns): Likewise for params "old_insn", "new_insns".
      	(replace_mov_pcrel_step1): Likewise for param "insn" and local
      	"new_insns".
      	(replace_mov_pcrel_step2): Likewise.
      	(replace_mov_pcrel_step3): Likewise.
      	(tilegx_fixup_pcrel_references): Likewise for locals "insn",
      	"next_insn".
      	(reorder_var_tracking_notes): Likewise for locals "insn", "next",
      	"queue", "next_queue", "prev".
      	(tilegx_output_mi_thunk): Likewise for local "insn".
      	(tilegx_final_prescan_insn): Likewise for param "insn".
      
      From-SVN: r214464
      David Malcolm committed
    • config/spu/spu.c: Use rtx_insn · 23c39aaa
      gcc/
      	* config/spu/spu.c (frame_emit_store): Strengthen return type from
      	rtx to rtx_insn *.
      	(frame_emit_load): Likewise.
      	(frame_emit_add_imm): Likewise, also for local "insn".
      	(spu_expand_prologue): Likewise for local "insn".
      	(struct spu_bb_info): Likewise for field "prop_jump".
      	(emit_nop_for_insn): Likewise for param "insn" and local
      	"new_insn".
      	(pad_bb): Likewise for locals "insn", "next_insn", "prev_insn",
      	"hbr_insn".
      	(spu_emit_branch_hint): Likewise for params "before", "branch" and
      	locals "hint", "insn".
      	(get_branch_target): Likewise for param "branch".
      	(insn_clobbers_hbr): Likewise for param "insn".
      	(insert_hbrp_for_ilb_runout): Likewise for param "first" and
      	locals "insn", "before_4", "before_16".
      	(insert_hbrp): Likewise for local "insn".
      	(spu_machine_dependent_reorg): Likewise for locals "branch",
      	"insn", "next", "bbend".
      	(uses_ls_unit): Likewise for param "insn".
      	(get_pipe): Likewise.
      	(spu_sched_variable_issue): Rename param "insn" to "uncast_insn",
      	introducing a checked cast.
      	(spu_sched_adjust_cost): Likewise for params "insn" and
      	"dep_insn".
      	(ea_load_store_inline): Strengthen local "insn" from rtx to rtx_insn *.
      	(spu_sms_res_mii): Likewise.
      
      From-SVN: r214463
      David Malcolm committed
    • config/sparc: Use rtx_insn · e1faf324
      gcc/
      	* config/sparc/sparc-protos.h (output_ubranch): Strengthen param 2
      	from rtx to rtx_insn *.
      	(output_cbranch): Likewise for param 6.
      	(output_return): Likewise for param 1.
      	(output_sibcall): Likewise.
      	(output_v8plus_shift): Likewise.
      	(output_v8plus_mult): Likewise.
      	(output_v9branch): Likewise for param 7.
      	(output_cbcond):  Likewise for param 3.
      
      	* config/sparc/sparc.c (sparc_legitimize_tls_address): Likewise
      	for local "insn".
      	(sparc_legitimize_pic_address): Likewise.
      	(sparc_emit_call_insn): Likewise.
      	(emit_save_or_restore_regs): Likewise.
      	(emit_window_save): Likewise for return type and local "insn".
      	(sparc_expand_prologue): Likewise for local "insn".
      	(sparc_flat_expand_prologue): Likewise.
      	(output_return): Likewise for param "insn".
      	(output_sibcall): Likewise for param "insn" and local "delay".
      	(output_ubranch): Likewise for param "insn".
      	(output_cbranch): Likewise.
      	(output_cbcond): Likewise.
      	(output_v9branch): Likewise.
      	(output_v8plus_shift): Likewise.
      	(sparc_output_mi_thunk): Likewise for local "insn".
      	(get_some_local_dynamic_name): Likewise.
      	(output_v8plus_mult): Likewise for param "insn".
      
      From-SVN: r214462
      David Malcolm committed