1. 26 Aug, 2014 26 commits
    • 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
    • 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 14 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