David Malcolm [Tue, 26 Aug 2014 19:31:29 +0000 (19:31 +0000)]
Strengthen various insn emission functions
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 [Tue, 26 Aug 2014 19:25:31 +0000 (19:25 +0000)]
get_last_insn_anywhere returns an rtx_insn
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 [Tue, 26 Aug 2014 19:20:16 +0000 (19:20 +0000)]
Strengthen fields in struct sequence_stack and struct emit_status
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 [Tue, 26 Aug 2014 19:12:49 +0000 (19:12 +0000)]
Params of add_insn and unlink_insn_chain
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 [Tue, 26 Aug 2014 19:03:10 +0000 (19:03 +0000)]
cselib_record_sets_hook takes an rtx_insn
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 [Tue, 26 Aug 2014 18:56:58 +0000 (18:56 +0000)]
Remove BB_HEAD, BB_END, BB_HEADER scaffolding
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 [Tue, 26 Aug 2014 18:34:34 +0000 (18:34 +0000)]
Tighten up params of create_basic_block_structure
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
Thomas Koenig [Tue, 26 Aug 2014 18:25:49 +0000 (18:25 +0000)]
frontend_passes (expr_array): Replace by vec template.
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
David Malcolm [Tue, 26 Aug 2014 18:03:09 +0000 (18:03 +0000)]
cselib and incdec
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 [Tue, 26 Aug 2014 17:55:26 +0000 (17:55 +0000)]
Remove DEP_PRO/CON scaffolding
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 [Tue, 26 Aug 2014 17:45:50 +0000 (17:45 +0000)]
Remove VINSN_INSN_RTX scaffolding
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 [Tue, 26 Aug 2014 17:42:13 +0000 (17:42 +0000)]
insn_t becomes an rtx_insn *
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 [Tue, 26 Aug 2014 17:38:23 +0000 (17:38 +0000)]
sel-sched-ir.h: Make ilist_t work on insn_t rather than rtx
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
Joseph Myers [Tue, 26 Aug 2014 17:06:31 +0000 (18:06 +0100)]
Fix ARM ICE for register var asm ("pc") (PR target/60606).
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
H.J. Lu [Tue, 26 Aug 2014 14:47:15 +0000 (14:47 +0000)]
Properly set gcc_build_dir for in-tree build
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
Marek Polacek [Tue, 26 Aug 2014 14:24:15 +0000 (14:24 +0000)]
re PR c/61271 (10 * possible coding error with logical not (!))
PR c/61271
* sel-sched-ir.c (make_regions_from_the_rest): Fix condition.
From-SVN: r214523
Dominik Vogt [Tue, 26 Aug 2014 14:09:14 +0000 (14:09 +0000)]
bessel_7.f90: Bump allowed precision to avoid failure on s390*-*-linux-gnu.
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
Evandro Menezes [Tue, 26 Aug 2014 12:10:09 +0000 (12:10 +0000)]
aarch64.c (generic_addrcost_table): Delete qi cost; add di cost.
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
Jonathan Wakely [Tue, 26 Aug 2014 11:44:39 +0000 (12:44 +0100)]
Whitespace fixes in libstdc++-v3/ChangeLog
From-SVN: r214501
Marek Polacek [Tue, 26 Aug 2014 09:35:10 +0000 (09:35 +0000)]
re PR c/61271 (10 * possible coding error with logical not (!))
PR c/61271
* expr.c (is_aligning_offset): Remove logical not.
From-SVN: r214496
Marek Polacek [Tue, 26 Aug 2014 09:21:18 +0000 (09:21 +0000)]
re PR c/61271 (10 * possible coding error with logical not (!))
PR c/61271
* tree-vectorizer.h (LOOP_REQUIRES_VERSIONING_FOR_ALIGNMENT,
LOOP_REQUIRES_VERSIONING_FOR_ALIAS): Wrap in parens.
From-SVN: r214493
Richard Biener [Tue, 26 Aug 2014 08:03:32 +0000 (08:03 +0000)]
re PR c++/62175 (Internal compiler error in gimplify_modify_expr gimplify.c:4616)
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
David Malcolm [Tue, 26 Aug 2014 06:47:53 +0000 (06:47 +0000)]
Update rs6000.c's pass_analyze_swaps to use rtx_insn
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
Martin Liska [Tue, 26 Aug 2014 06:37:51 +0000 (06:37 +0000)]
Add missing entry
From-SVN: r214488
Jason Merrill [Tue, 26 Aug 2014 02:47:42 +0000 (22:47 -0400)]
pt.c (check_explicit_specialization): Don't complain about non-template variable.
* 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
GCC Administrator [Tue, 26 Aug 2014 00:16:42 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r214486
David Malcolm [Mon, 25 Aug 2014 21:24:13 +0000 (21:24 +0000)]
du_chain.insn is an rtx_insn
gcc/
* regrename.h (struct du_chain): Strengthen field "insn" from rtx
to rtx_insn *.
From-SVN: r214483
David Malcolm [Mon, 25 Aug 2014 21:22:02 +0000 (21:22 +0000)]
Eliminate BB_NOTE_LIST scaffolding
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 [Mon, 25 Aug 2014 21:19:23 +0000 (21:19 +0000)]
Strengthen haifa_sched_info callbacks and 3 scheduler hooks
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 [Mon, 25 Aug 2014 21:00:03 +0000 (21:00 +0000)]
final_start_function takes an rtx_insn
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 [Mon, 25 Aug 2014 20:56:14 +0000 (20:56 +0000)]
final accepts an rtx_insn
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 [Mon, 25 Aug 2014 20:53:38 +0000 (20:53 +0000)]
shorten_branches takes an rtx_insn
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 [Mon, 25 Aug 2014 20:49:19 +0000 (20:49 +0000)]
struct haifa_sched_info: prev_head and next_tail
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 [Mon, 25 Aug 2014 20:45:08 +0000 (20:45 +0000)]
Add rtx_jump_table_data::get_labels method
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 [Mon, 25 Aug 2014 20:40:19 +0000 (20:40 +0000)]
unshare_all_rtl_again takes an rtx_insn *
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 [Mon, 25 Aug 2014 20:36:57 +0000 (20:36 +0000)]
delete_insn_and_edges takes an rtx_insn *
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 [Mon, 25 Aug 2014 20:31:34 +0000 (20:31 +0000)]
reorder_insns requires rtx_insn *
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 [Mon, 25 Aug 2014 20:27:46 +0000 (20:27 +0000)]
function.c and shrink-wrap.*: more rtx_insn
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 [Mon, 25 Aug 2014 20:15:36 +0000 (20:15 +0000)]
Convert edge_def.insns.r to rtx_insn *
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 [Mon, 25 Aug 2014 20:13:26 +0000 (20:13 +0000)]
Remove BB_FOOTER scaffolding
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 [Mon, 25 Aug 2014 20:07:26 +0000 (20:07 +0000)]
struct eh_landing_pad_d: field "landing_pad" is an rtx_code_label
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 [Mon, 25 Aug 2014 20:04:07 +0000 (20:04 +0000)]
PHASE 4: Removal of scaffolding
/
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 [Mon, 25 Aug 2014 20:00:46 +0000 (20:00 +0000)]
config/xtensa: Use rtx_insn and rtx_code_label
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 [Mon, 25 Aug 2014 19:54:37 +0000 (19:54 +0000)]
config/v850: Use rtx_insn
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 [Mon, 25 Aug 2014 19:43:06 +0000 (19:43 +0000)]
config/tilepro: Use rtx_insn
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 [Mon, 25 Aug 2014 19:38:41 +0000 (19:38 +0000)]
config/tilegx: Use rtx_insn
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 [Mon, 25 Aug 2014 19:32:54 +0000 (19:32 +0000)]
config/spu/spu.c: Use rtx_insn
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 [Mon, 25 Aug 2014 19:27:55 +0000 (19:27 +0000)]
config/sparc: Use rtx_insn
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 [Mon, 25 Aug 2014 19:22:04 +0000 (19:22 +0000)]
config/sh: Use rtx_insn and rtx_code_label
gcc/
* config/sh/sh-protos.h (output_ieee_ccmpeq): Strengthen param 1
from rtx to rtx_insn *.
(output_branchy_insn): Likewise for param 3.
(output_far_jump): Likewise for param 1.
(final_prescan_insn): Likewise.
(sh_insn_length_adjustment): Likewise for sole param.
* config/sh/sh.c (expand_cbranchsi4): Likewise for local "jump".
(expand_cbranchdi4): Strengthen local "skip_label" from rtx to
rtx_code_label *.
(sh_emit_compare_and_set): Likewise for local "lab".
(output_far_jump): Strengthen param "insn" and local "prev" from
rtx to rtx_insn *.
(output_branchy_insn): Likewise for param "insn" and local
"next_insn".
(output_ieee_ccmpeq): Likewise for param "insn".
(struct label_ref_list_d): Strengthen field "label" from rtx to
rtx_code_label *.
(pool_node): Likewise.
(pool_window_label): Likewise for this global.
(add_constant): Likewise for return type and locals "lab", "new_rtx".
(dump_table): Strengthen params "start", "barrier" and local
"scan" from rtx to rtx_insn *.
(broken_move): Likewise for param "insn".
(untangle_mova): Likewise for params "first_mova" and "new_mova".
Strengthen param "first_mova" from rtx * to rtx_insn **.
(mova_p): Likewise for param "insn".
(fixup_mova): Likewise for param "mova".
(find_barrier): Likewise for return type, params "mova" and
"from", and locals "barrier_before_mova", "found_barrier",
"good_barrier", "orig", "last_symoff", "next". Strengthen local
"label" from rtx to rtx_code_label *.
(sh_loop_align): Strengthen locals "first", "insn", "mova" from
rtx to rtx_insn *.
(sh_reorg): Likewise for locals "link", "scan", "barrier".
(split_branches): Likewise for param "first" and local "insn".
(final_prescan_insn): Likewise for param "insn".
(sequence_insn_p): Likewise for locals "prev", "next".
(sh_insn_length_adjustment): Likewise for param "insn".
(sh_can_redirect_branch): Likewise for local "insn".
(find_r0_life_regions): Likewise for locals "end", "insn".
(sh_output_mi_thunk): Likewise for local "insns".
From-SVN: r214459
David Malcolm [Mon, 25 Aug 2014 19:17:13 +0000 (19:17 +0000)]
config/score/score.c: Use rtx_insn
gcc/
* config/score/score.c (score_output_mi_thunk): Strengthen local
"insn" from rtx to rtx_insn *.
(score_prologue): Likewise.
From-SVN: r214457
David Malcolm [Mon, 25 Aug 2014 19:06:00 +0000 (19:06 +0000)]
config/s390: Use rtx_insn and rtx_code_label
gcc/
* config/s390/s390-protos.h (s390_match_ccmode): Strengthen param
1 from rtx to rtx_insn *.
(s390_emit_jump): Likewise for return type.
(s390_emit_call): Likewise.
(s390_load_got): Likewise.
* config/s390/s390.c (last_scheduled_insn): Likewise for this
variable.
(s390_match_ccmode): Likewise for param "insn".
(s390_emit_jump): Likewise for return type.
(s390_split_branches): Likewise for local "label".
(struct constant): Strengthen field "label" from rtx to
rtx_code_label *.
(struct constant_pool): Likewise for field "label". Strengthen
fields "first_insn", "pool_insn", "emit_pool_after" from rtx to
rtx_insn *.
(s390_alloc_pool): Replace NULL_RTX with NULL when dealing with
insns.
(s390_start_pool): Strengthen param "insn" from rtx to rtx_insn *.
(s390_end_pool): Likewise.
(s390_dump_pool): Likewise for local "insn".
(s390_mainpool_start): Likewise.
(s390_chunkify_start): Likewise.
(s390_chunkify_start): Replace NULL_RTX with NULL when dealing
with insns. Strengthen locals "label", "jump", "barrier", "next",
"prev", "vec_insn", "insn" from rtx to rtx_insn *.
(s390_chunkify_finish): Strengthen local "insn" from rtx to
rtx_insn *.
(s390_chunkify_cancel): Likewise for locals "insn", "barrier",
"jump", "label", "next_insn".
(s390_regs_ever_clobbered): Likewise for local "cur_insn".
(s390_optimize_nonescaping_tx): Likewise for locals "insn",
"tbegin_insn".
(s390_load_got): Likewise for return type and local "insns".
(s390_save_gprs_to_fprs): Likewise for local "insn".
(s390_restore_gprs_from_fprs): Likewise.
(pass_s390_early_mach::execute): Likewise.
(s390_emit_prologue): Likewise for local "insns".
(s390_expand_tbegin): Strengthen local "leave_label" from rtx to
rtx_code_label *.
(s390_emit_call): Strengthen return type and local "insn" from
rtx to rtx_insn *.
(s390_emit_tpf_eh_return): Likewise for local "insn".
(s390_optimize_prologue): Likewise for locals "insn", "new_insn",
"next_insn", introducing locals "s_pat", "rpat" to allow this.
(s390_fix_long_loop_prediction): Likewise for param "insn" and
local "cur_insn".
(s390_non_addr_reg_read_p): Likewise for param "insn".
(find_cond_jump): Likewise for return type and param "insn".
(s390_swap_cmp): Likewise for param "insn".
(s390_z10_optimize_cmp): Likewise for param "insn" and locals
"prev_insn", "next_insn".
(s390_reorg): Likewise for locals "insn", "target".
(s390_z10_prevent_earlyload_conflicts): Likewise for local "insn".
(s390_sched_variable_issue): For now, rename param "insn" to
"uncast_insn", introducing a checked cast.
(s390_sched_init): Replace NULL_RTX with NULL when dealing with
insn.
(s390_loop_unroll_adjust): Strengthen local "insn" from rtx to
rtx_insn *. Use for_each_rtx_in_insn rather than for_each_rtx.
From-SVN: r214456
David Malcolm [Mon, 25 Aug 2014 18:56:29 +0000 (18:56 +0000)]
config/rx: Use rtx_insn
gcc/
* config/rx/rx-protos.h (rx_adjust_insn_length): Strengthen first
param from rtx to rtx_insn *.
* config/rx/rx.c (rx_adjust_insn_length): Likewise for param "insn".
From-SVN: r214455
David Malcolm [Mon, 25 Aug 2014 18:49:28 +0000 (18:49 +0000)]
config/rs6000: Use rtx_insn
gcc/
* config/rs6000/rs6000-protos.h (output_cbranch): Strengthen param
4 from rtx to rtx_insn *.
(rs6000_final_prescan_insn): Likewise for first param.
* config/rs6000/rs6000.c (rs6000_emit_set_const): Likewise for
local "insn".
(rs6000_get_some_local_dynamic_name): Likewise.
(output_cbranch): Likewise for param "insn".
(spe_func_has_64bit_regs_p): Likewise for locals "insns", "insn".
(rs6000_function_ok_for_sibcall): Likewise for locals "top", "insn".
(rs6000_emit_allocate_stack): Likewise for local "insn".
(load_cr_save): Likewise.
(restore_saved_cr): Likewise.
(restore_saved_lr): Likewise.
(emit_cfa_restores): Likewise.
(rs6000_output_function_epilogue): Likewise for locals "insn" and
"deleted_debug_label".
(rs6000_output_mi_thunk): Likewise for local "insn".
(rs6000_final_prescan_insn): Likewise for param "insn".
From-SVN: r214454
David Malcolm [Mon, 25 Aug 2014 18:43:33 +0000 (18:43 +0000)]
config/picochip: Use rtx_insn
gcc/
* config/picochip/picochip-protos.h (picochip_final_prescan_insn):
Strengthen param "insn" from rtx to rtx_insn *.
* config/picochip/picochip.c (picochip_current_prescan_insn):
Likewise for this variable.
(picochip_final_prescan_insn): Likewise for param "insn".
From-SVN: r214453
David Malcolm [Mon, 25 Aug 2014 18:35:56 +0000 (18:35 +0000)]
config/pa: Use rtx_insn
gcc/
* config/pa/pa-protos.h (pa_output_call): Strengthen first param
from rtx to rtx_insn *.
(pa_output_indirect_call): Likewise.
(pa_adjust_insn_length): Likewise.
(pa_attr_length_millicode_call): Likewise.
(pa_attr_length_call): Likewise.
(pa_attr_length_indirect_call): Likewise.
* config/pa/pa.c (pa_adjust_insn_length): Likewise for param
"insn".
(pa_attr_length_millicode_call): Likewise.
(pa_attr_length_call): Likewise.
(pa_output_call): Likewise.
(pa_attr_length_indirect_call): Likewise.
(pa_output_indirect_call): Likewise.
From-SVN: r214452
David Malcolm [Mon, 25 Aug 2014 18:29:41 +0000 (18:29 +0000)]
config/nds32: Use rtx_insn
gcc/
* config/nds32/nds32-protos.h (nds32_adjust_insn_length):
Strengthen first param from rtx to rtx_insn *.
* config/nds32/nds32.c (nds32_adjust_insn_length): Likewise for
param "insn".
From-SVN: r214451
David Malcolm [Mon, 25 Aug 2014 18:18:01 +0000 (18:18 +0000)]
config/mips: Use rtx_insn and rtx_code_label
gcc/
* config/mips/mips-protos.h (mips_emit_move): Strengthen return
type from rtx to rtx_insn *.
(mips_expand_call): Likewise.
(mips_adjust_insn_length): Likewise for first param.
(mips_output_conditional_branch): Likewise.
(mips_output_order_conditional_branch): Likewise.
(mips_final_prescan_insn): Likewise.
* config/mips/mips.c (SEQ_BEGIN): For now, add checked cast to
rtx_insn * for the SEQUENCE case.
(SEQ_END): Likewise.
(mips_emit_move): Strengthen return type from rtx to rtx_insn *.
(mips_emit_call_insn): Likewise, also for local "insn".
(mips16_gp_pseudo_reg): Likewise for local "scan".
(mips16_build_call_stub): Likewise for return type and for local
"insn". Introduce a new local "pattern" so that "insn" can indeed
be an insn.
(mips_expand_call): Strengthen return type and local "insn" from
rtx to rtx_insn *.
(mips_block_move_loop): Strengthen local "label" from rtx to
rtx_code_label *.
(mips_expand_synci_loop): Likewise for locals "label",
"end_label".
(mips_set_frame_expr): Strengthen local "insn" from rtx to
rtx_insn *.
(mips16e_collect_argument_saves): Likewise for locals "insn",
"next".
(mips_find_gp_ref): Likewise for param of callback for "pred"
param, and for local "insn".
(mips_insn_has_inflexible_gp_ref_p): Likewise for param "insn".
(mips_insn_has_flexible_gp_ref_p): Likewise.
(mips_epilogue_emit_cfa_restores): Likewise for return type and
local "insn".
(mips_epilogue_set_cfa): Likewise for local "insn".
(mips_expand_epilogue): Likewise.
(mips_adjust_insn_length): Likewise for param "insn".
(mips_output_conditional_branch): Likewise.
(mips_output_order_conditional_branch): Likewise.
(struct mips_ls2): Likewise for fields "alu1_turn_enabled_insn",
"alu2_turn_enabled_insn", "falu1_turn_enabled_insn",
"falu2_turn_enabled_insn".
(mips_builtin_branch_and_move): Strengthen locals "true_label",
"done_label" from rtx to rtx_code_label *.
(struct mips16_constant): Likewise for field "label".
(mips16_add_constant): Likewise for return type.
(mips16_emit_constants_1): Strengthen return type and param "insn"
from rtx to rtx_insn *.
(mips16_emit_constants): Likewise for param "insn".
(mips16_insn_length): Likewise.
(mips16_rewrite_pool_constant): Strengthen local "label" from rtx
to rtx_code_label *.
(struct mips16_rewrite_pool_refs_info): Strengthen field "insn"
from rtx to rtx_insn *.
(mips16_lay_out_constants): Likewise for locals "insn", "barrier",
"jump". Strengthen local "label" from rtx to rtx_code_label *.
(r10k_simplify_address): Strengthen param "insn" and local
"def_insn" from rtx to rtx_insn *.
(r10k_safe_address_p): Strengthen param "insn" from rtx to
rtx_insn *.
(r10k_needs_protection_p_1): Update target type of cast of data
from to rtx to rtx_insn *.
(r10k_needs_protection_p_store): Strengthen local "insn_ptr" from
rtx * to rtx_insn **.
(r10k_needs_protection_p): Strengthen param "insn" from rtx to
rtx_insn *.
(r10k_insert_cache_barriers): Likewise for locals "insn", "end".
(mips_call_expr_from_insn): Likewise for param "insn".
(mips_pic_call_symbol_from_set): Likewise for local "def_insn".
(mips_find_pic_call_symbol): Likewise for param "insn".
(mips_annotate_pic_calls): Likewise for local "insn".
(mips_sim_insn): Likewise for this variable.
(struct mips_sim): Likewise for field "insn" within elements of
last_set array.
(mips_sim_wait_reg): Likewise for param "insn".
(mips_sim_wait_regs): Likewise.
(mips_sim_wait_units): Likewise.
(mips_sim_wait_insn): Likewise.
(mips_sim_issue_insn): Likewise.
(mips_sim_finish_insn): Likewise.
(mips_seq_time): Likewise for param "seq" and local "insn".
(vr4130_avoid_branch_rt_conflict): Likewise for param "insn" and
locals "first", "second".
(vr4130_align_insns): Likewise for locals "insn", "subinsn",
"last", "last2", "next".
(mips_avoid_hazard): Likewise for params "after", "insn".
(mips_reorg_process_insns): Likewise for locals "insn",
"last_insn", "subinsn", "next_insn".
(mips_has_long_branch_p): Likewise for locals "insn", "subinsn".
(mips16_split_long_branches): Likewise for locals "insn" "jump",
"jump_sequence".
(mips_output_mi_thunk): Likewise for local "insn".
(mips_final_prescan_insn): Likewise for param "insn".
From-SVN: r214450
David Malcolm [Mon, 25 Aug 2014 18:11:38 +0000 (18:11 +0000)]
config/microblaze/microblaze.c: Use rtx_insn and rtx_code_label
gcc/
* config/microblaze/microblaze.c (microblaze_call_tls_get_addr):
Strengthen return type and local "insns" from rtx to rtx_insn *.
(microblaze_legitimize_tls_address): Likewise for local "insns".
(microblaze_block_move_loop): Strengthen local "label" from rtx
to rtx_code_label *.
(microblaze_expand_prologue): Strengthen two locals named "insn"
from rtx to rtx_insn *.
(microblaze_asm_output_mi_thunk): Likewise for local "insn".
(microblaze_expand_divide): Likewise for locals "jump", "cjump",
"insn". Strengthen locals "div_label", "div_end_label" from rtx
to rtx_code_label *.
From-SVN: r214449
David Malcolm [Mon, 25 Aug 2014 18:05:57 +0000 (18:05 +0000)]
config/mep: Use rtx_insn and rtx_code_label
gcc/
* config/mep/mep-protos.h (mep_mulr_source): Strengthen first
param from rtx to rtx_insn *.
(mep_reuse_lo): Likewise for third param.
(mep_use_post_modify_p): Likewise for first param.
(mep_core_address_length): Likewise.
(mep_cop_address_length): Likewise.
(mep_final_prescan_insn): Likewise.
(mep_store_data_bypass_p): Likewise for both params.
(mep_mul_hilo_bypass_p): Likewise.
(mep_ipipe_ldc_p): Likewise for param.
* config/mep/mep.c (mep_mulr_source): Likewise for param "insn".
(mep_rewrite_mult): Likewise.
(mep_rewrite_mulsi3): Likewise.
(mep_rewrite_maddsi3): Likewise.
(mep_reuse_lo_p_1): Likewise.
(mep_reuse_lo_p): Likewise.
(mep_frame_expr): Likewise.
(mep_make_parallel): Likewise for both params.
(mep_use_post_modify_p_1): Likewise for param "set_insn" and
local "insn".
(mep_use_post_modify_p): Likewise for param "insn".
(mep_core_address_length): Likewise.
(mep_cop_address_length): Likewise.
(mep_reg_set_in_function): Likewise for local "insn".
(mep_asm_without_operands_p): Likewise.
(F): Likewise for return type and param "x".
(add_constant): Likewise for local "insn".
(maybe_dead_move): Likewise for return type and local "insn".
(mep_expand_prologue): Likewise for local "insn".
(mep_final_prescan_insn): Likewise for param "insn".
(mep_reorg_regmove): Likewise for param "insns" and locals "insn",
"next", "follow", "x".
(mep_insert_repeat_label_last): Likewise for return type, param
"last_insn", and locals "next", "prev". Strengthen param "label"
from rtx to rtx_code_label *.
(struct mep_doloop_begin): Strengthen field "insn" from rtx to
rtx_insn *.
(struct mep_doloop_end): Likewise for fields "insn" and
"fallthrough".
(mep_reorg_repeat): Likewise for param "insns" and local "insn".
Strengthen local "repeat_label" from rtx to rtx_code_label *.
(mep_invertable_branch_p): Strengthen param "insn" from rtx to
rtx_insn *.
(mep_invert_branch): Likewise for params "insn" and "after".
(mep_reorg_erepeat): Likewise for param "insns" and locals
"insn", "prev", "new_last", "barrier", "user". Strengthen local
"l" from rtx to rtx_code_label *.
(mep_jmp_return_reorg): Strengthen param "insns" and local "insn"
from rtx to rtx_insn *.
(mep_reorg_addcombine): Likewise for param "insns" and locals
"i", "n".
(add_sp_insn_p): Likewise for param "insn".
(mep_reorg_noframe): Likewise for param "insns" and locals
"start_frame_insn", "end_frame_insn", "next".
(mep_reorg): Likewise for local "insns".
(mep_store_data_bypass_1): Likewise for param "prev". Add checked
cast.
(mep_store_data_bypass_p): Likewise for params "prev", "insn".
(mep_mul_hilo_bypass_p): Likewise.
(mep_ipipe_ldc_p): Likewise for param "insn".
(mep_make_bundle): Likewise for return type, param "cop" and local
"insn", splitting out the latter into a new local "seq" for when it
is a SEQUENCE rather than an insn.
(core_insn_p): Likewise for param "insn".
(mep_bundle_insns): Likewise for param "insns" and locals "insn",
"last", "first", "note", "prev", "core_insn".
From-SVN: r214448
David Malcolm [Mon, 25 Aug 2014 17:59:24 +0000 (17:59 +0000)]
config/m68k: Use rtx_insn
gcc/
* config/m68k/m68k-protos.h (output_btst): Strengthen param 4 from
rtx to rtx_insn *.
(strict_low_part_peephole_ok): Likewise for param 2 "first_insn".
(m68k_final_prescan_insn): Likewise for first param.
* config/m68k/m68k.c (m68k_emit_movem): Likewise for return type.
(m68k_set_frame_related): Likewise for param "insn".
(output_btst): Likewise for param "insn".
(m68k_final_prescan_insn): Likewise.
(m68k_move_to_reg): Likewise for local "insn".
(m68k_call_tls_get_addr): Likewise for local "insns".
(m68k_call_m68k_read_tp): Likewise.
(strict_low_part_peephole_ok): Likewise for param "first_insn".
(m68k_output_mi_thunk): Likewise for local "insn".
From-SVN: r214447
David Malcolm [Mon, 25 Aug 2014 17:51:31 +0000 (17:51 +0000)]
config/iq2000: Use rtx_insn
gcc/
* config/iq2000/iq2000-protos.h (final_prescan_insn): Strengthen
first param from rtx to rtx_insn *.
(iq2000_adjust_insn_length): Likewise.
(iq2000_output_conditional_branch): Likewise.
* config/iq2000/iq2000.c (final_prescan_insn): Likewise for param
"insn" and local "nop_insn".
(iq2000_annotate_frame_insn): Likewise for param "insn".
(iq2000_expand_prologue): Likewise for both locals "insn".
(iq2000_adjust_insn_length): Likewise for param "insn".
(iq2000_output_conditional_branch): Likewise.
From-SVN: r214446
David Malcolm [Mon, 25 Aug 2014 17:43:41 +0000 (17:43 +0000)]
config/ia64/ia64.c: Use rtx_insn
gcc/
* config/ia64/ia64.c (ia64_expand_tls_address): Strengthen local
"insns" from rtx to rtx_insn *.
(ia64_emit_cond_move): Likewise for locals "insn", "first".
(struct spill_fill_data): Likewise for field "init_after" and for
elements of array field "prev_insn".
(spill_restore_mem): Likewise for locals "insn", "first".
(do_spill): Likewise for local "insn".
(do_restore): Likewise.
(ia64_expand_prologue): Likewise.
(ia64_expand_epilogue): Likewise.
(emit_insn_group_barriers): Likewise for locals "insn",
"last_label".
(emit_all_insn_group_barriers): Likewise for locals "insn",
"last".
(dfa_stop_insn): Likewise for this global.
(dfa_pre_cycle_insn): Likewise.
(ia64_nop): Likewise.
(final_emit_insn_group_barriers): Likewise for locals "insn",
"last".
(emit_predicate_relation_info): Likewise for locals "head", "n",
"insn", "b", "a".
(ia64_reorg): Likewise for local "insn".
(ia64_output_mi_thunk): Likewise.
(expand_vec_perm_interleave_2): Likewise for local "seq".
From-SVN: r214445
David Malcolm [Mon, 25 Aug 2014 17:34:45 +0000 (17:34 +0000)]
config/i386/i386: Use rtx_insn
gcc/
* config/i386/i386-protos.h (ix86_avoid_lea_for_add): Strengthen
param 1 "insn" from rtx to rtx_insn *.
(ix86_use_lea_for_mov): Likewise.
(ix86_avoid_lea_for_addr): Likewise.
(ix86_split_lea_for_addr): Likewise.
(ix86_lea_for_add_ok): Likewise.
(ix86_output_call_insn): Likewise.
* config/i386/i386.c (ix86_va_start): Likewise for local "seq".
(ix86_get_drap_rtx): Likewise for locals "seq", "insn".
(ix86_output_function_epilogue): Likewise for locals "insn",
"deleted_debug_label".
(legitimize_tls_address): Likewise for local "insn".
(get_some_local_dynamic_name): Likewise.
(increase_distance): Likewise for params "prev", "next".
(distance_non_agu_define_in_bb): Likewise for params "insn",
"start" and locals "prev", "next".
(distance_non_agu_define): Likewise for param "insn".
(distance_agu_use_in_bb): Likewise for params "insn", "start" and
locals "next", "prev".
(distance_agu_use): Likewise for param "insn".
(ix86_lea_outperforms): Likewise.
(ix86_ok_to_clobber_flags): Likewise.
(ix86_avoid_lea_for_add): Likewise.
(ix86_use_lea_for_mov): Likewise.
(ix86_avoid_lea_for_addr): Likewise.
(find_nearest_reg_def): Likewise, also for locals "prev", "start".
(ix86_split_lea_for_addr): Likewise for param "insn".
(ix86_lea_for_add_ok): Likewise for param "insn".
(ix86_expand_carry_flag_compare): Likewise for local
"compare_seq".
(ix86_expand_int_movcc): Likewise.
(ix86_output_call_insn): Likewise for param "insn".
(ix86_output_call_insn): Likewise for local "i".
(x86_output_mi_thunk): Introduce local "insn", using it in place
of "tmp" when dealing with insns.
(ix86_avoid_jump_mispredicts): Likewise for locals "insn",
"start".
(ix86_pad_returns): Likewise for locals "ret", "prev".
(ix86_count_insn_bb): Likewise for local "insn".
(ix86_pad_short_function): Likewise for locals "ret", "insn".
(ix86_seh_fixup_eh_fallthru): Likewise for locals "insn", "next".
(ix86_vector_duplicate_value): Likewise for local "insn", "seq".
(expand_vec_perm_interleave2): Likewise for local "seq".
(expand_vec_perm_vperm2f128_vblend): Likewise.
(ix86_loop_unroll_adjust): Likewise for local "insn". Convert
call to for_each_rtx with for_each_rtx_in_insn.
From-SVN: r214444
David Malcolm [Mon, 25 Aug 2014 17:32:12 +0000 (17:32 +0000)]
config/i386/i386.c: Use rtx_code_label
gcc/
* config/i386/i386.c (setup_incoming_varargs_64): Strengthen local
"label" from rtx to rtx_code_label *.
(ix86_expand_prologue): Likewise.
(ix86_expand_split_stack_prologue): Likewise for locals "label",
"varargs_label".
(ix86_split_idivmod): Likewise for locals "end_label" and
"qimode_label".
(ix86_expand_branch): Likewise for local "label2".
(ix86_expand_aligntest): Likewise for return type and local "label".
(expand_set_or_movmem_via_loop): Likewise for locals "out_label" and
"top_label".
(expand_movmem_epilogue): Likewise for the various locals named
"label".
(expand_setmem_epilogue): Likewise.
(expand_small_movmem_or_setmem): Likewise for local "label".
(expand_set_or_movmem_prologue_epilogue_by_misaligned_moves):
Strengthen param "done_label" from rtx * to rtx_code_label **.
Strengthen locals "loop_label" and "label" from rtx to
rtx_code_label *.
(expand_set_or_movmem_prologue_epilogue_by_misaligned_moves):
Likewise for locals "loop_label", "label".
(ix86_expand_set_or_movmem): Likewise for locals "label",
"jump_around_label", "hot_label".
(ix86_expand_strlensi_unroll_1): Likewise for locals
"align_2_label", align_3_label", "align_4_label", "end_0_label",
"end_2_label".
(x86_emit_floatuns): Likewise for locals "neglab", "donelab".
(void ix86_emit_i387_log1p): Likewise for locals "label1",
"label2", "jump_label".
(ix86_expand_sse_compare_and_jump): Likewise for return type and
local "label".
(ix86_expand_lfloorceil): Likewise for local "label".
(ix86_expand_rint): Likewise.
(ix86_expand_floorceildf_32): Likewise.
(ix86_expand_floorceil): Likewise.
(ix86_expand_rounddf_32): Likewise.
(ix86_expand_trunc): Likewise.
(ix86_expand_truncdf_32): Likewise.
(ix86_expand_round): Likewise.
From-SVN: r214443
David Malcolm [Mon, 25 Aug 2014 17:23:42 +0000 (17:23 +0000)]
config/h8300: Use rtx_insn
gcc/
* config/h8300/h8300-protos.h (final_prescan_insn): Strengthen
first param from rtx to rtx_insn *.
(h8300_insn_length_from_table): Likewise.
* config/h8300/h8300.c (F): Likewise for return type and param
"x".
(Fpa): Add a checked cast to rtx_insn *.
(h8300_emit_stack_adjustment): Strengthen local "x" from rtx to
rtx_insn *.
(final_prescan_insn): Likewise for param "insn".
(h8300_binary_length): Likewise.
(h8300_insn_length_from_table): Likewise.
From-SVN: r214442
David Malcolm [Mon, 25 Aug 2014 17:16:51 +0000 (17:16 +0000)]
config/epiphany: Use rtx_insn
gcc/
* config/epiphany/epiphany-protos.h (epiphany_final_prescan_insn):
Strengthen first param "insn" from rtx to rtx_insn *.
* config/epiphany/epiphany.c (epiphany_final_prescan_insn):
Likewise.
(frame_insn): Likewise for return type. Introduce local "insn"
for use in place of local "x" for use as an rtx_insn *.
(frame_move_insn): Strengthen return type from rtx to rtx_insn *.
(epiphany_expand_prologue): Likewise for local "insn".
* config/epiphany/mode-switch-use.c (insert_uses): Likewise.
* config/epiphany/resolve-sw-modes.c
(pass_resolve_sw_modes::execute): Likewise for locals "insn" and
"seq".
From-SVN: r214441
David Malcolm [Mon, 25 Aug 2014 17:10:21 +0000 (17:10 +0000)]
config/c6x: Use rtx_insn
gcc/
* config/c6x/c6x-protos.h (c6x_get_unit_specifier): Strengthen
param from rtx to rtx_insn *.
(c6x_final_prescan_insn): Likewise for first param.
* config/c6x/c6x.c (c6x_current_insn): Likewise for this variable.
(c6x_output_mi_thunk): Replace use of NULL_RTX with NULL.
(c6x_expand_compare): Strengthen local "insns" from rtx to
rtx_insn *.
(c6x_get_unit_specifier): Likewise for param "insn".
(c6x_print_unit_specifier_field): Likewise.
(c6x_final_prescan_insn): Likewise.
(emit_add_sp_const): Likewise for local "insn".
(c6x_expand_prologue): Likewise.
From-SVN: r214440
David Malcolm [Mon, 25 Aug 2014 17:04:31 +0000 (17:04 +0000)]
config/bfin: Use rtx_insn
gcc/
* config/bfin/bfin-protos.h (asm_conditional_branch): Strengthen
param 1 from rtx to rtx_insn *.
* config/bfin/bfin.c (expand_prologue_reg_save): Likewise for
the various locals named "insn".
(expand_epilogue_reg_restore): Likewise.
(frame_related_constant_load): Likewise.
(add_to_reg): Likewise.
(emit_link_insn): Likewise.
(do_link): Likewise.
(expand_interrupt_handler_prologue): Likewise.
(branch_dest): Likewise for param "branch".
(asm_conditional_branch): Likewise for param "insn".
(gen_one_bundle): Likewise for elements of param "slot" and local
"t".
(bfin_gen_bundles): Likewise for locals "insn", "next" and
elements of local "slot".
(reorder_var_tracking_notes): Likewise for locals "insn", "next",
"queue", "next_queue", "prev".
(workaround_rts_anomaly): Likewise for locals "insn", "first_insn".
(add_sched_insns_for_speculation): Likewise for local "insn".
From-SVN: r214439
David Malcolm [Mon, 25 Aug 2014 16:58:24 +0000 (16:58 +0000)]
config/avr: Use rtx_insn
gcc/
* config/avr/avr-protos.h (output_movqi): Strengthen first param
from rtx to rtx_insn *.
(output_movhi): Likewise.
(output_movsisf): Likewise.
(avr_out_tstsi): Likewise.
(avr_out_tsthi): Likewise.
(avr_out_tstpsi): Likewise.
(avr_out_compare): Likewise.
(avr_out_compare64): Likewise.
(avr_out_movpsi): Likewise.
(ashlqi3_out): Likewise.
(ashlhi3_out): Likewise.
(ashlsi3_out): Likewise.
(ashrqi3_out): Likewise.
(ashrhi3_out): Likewise.
(ashrsi3_out): Likewise.
(lshrqi3_out): Likewise.
(lshrhi3_out): Likewise.
(lshrsi3_out): Likewise.
(avr_out_ashlpsi3): Likewise.
(avr_out_ashrpsi3): Likewise.
(avr_out_lshrpsi3): Likewise.
(avr_out_fract): Likewise.
(avr_out_sbxx_branch): Likewise.
(avr_out_round): Likewise.
(avr_out_xload): Likewise.
(avr_out_movmem): Likewise.
(adjust_insn_length): Likewise.
(avr_out_lpm): Likewise.
(reg_unused_after): Likewise.
(_reg_unused_after): Likewise.
(avr_jump_mode): Likewise for second param.
(jump_over_one_insn): Likewise for first param.
(avr_final_prescan_insn): Likewise.
(out_shift_with_cnt): Likewise for second param.
* config/avr/avr.c (get_sequence_length): Likewise for param
"insns" and local "insn".
(emit_push_byte): Likewise for local "insn".
(emit_push_sfr): Likewise.
(avr_prologue_setup_frame): Likewise for locals "insn",
"fp_plus_insns", "sp_plus_insns".
(avr_expand_epilogue): Likewise for local "fp_plus_insns",
"sp_plus_insns".
(avr_jump_mode): Likewise for param "insn".
(avr_final_prescan_insn): Likewise.
(avr_find_unused_d_reg): Likewise.
(avr_out_lpm_no_lpmx): Likewise.
(avr_out_lpm): Likewise.
(avr_out_xload): Likewise.
(output_movqi): Likewise.
(output_movhi): Likewise.
(out_movqi_r_mr): Likewise.
(out_movhi_r_mr): Likewise.
(out_movsi_r_mr): Likewise.
(out_movsi_mr_r): Likewise.
(output_movsisf): Likewise.
(avr_out_load_psi): Likewise.
(avr_out_store_psi): Likewise.
(avr_out_movpsi): Likewise.
(out_movqi_mr_r): Likewise.
(avr_out_movhi_mr_r_xmega): Likewise.
(out_movhi_mr_r): Likewise.
(compare_condition): Likewise for param "insn" and local "next".
(compare_sign_p): Likewise for param "insn".
(compare_diff_p): Likewise.
(compare_eq_p): Likewise.
(avr_out_compare): Likewise.
(avr_out_compare64): Likewise.
(avr_out_tsthi): Likewise.
(avr_out_tstpsi): Likewise.
(avr_out_tstsi): Likewise.
(out_shift_with_cnt): Likewise.
(ashlqi3_out): Likewise.
(ashlhi3_out): Likewise.
(avr_out_ashlpsi3): Likewise.
(ashlsi3_out): Likewise.
(ashrqi3_out): Likewise.
(ashrhi3_out): Likewise.
(avr_out_ashrpsi3): Likewise.
(ashrsi3_out): Likewise.
(lshrqi3_out): Likewise.
(lshrhi3_out): Likewise.
(avr_out_lshrpsi3): Likewise.
(lshrsi3_out): Likewise.
(avr_out_fract): Likewise.
(avr_out_round): Likewise.
(avr_adjust_insn_length): Likewise.
(reg_unused_after): Likewise.
(_reg_unused_after): Likewise.
(avr_compare_pattern): Likewise.
(avr_reorg_remove_redundant_compare): Likewise for param "insn1"
and locals "branch1", "branch2", "insn2", "jump".
(avr_reorg): Likewise for local "insn".
(avr_2word_insn_p): Likewise for param "insn".
(jump_over_one_insn_p): Likewise.
(avr_out_sbxx_branch): Likewise.
(avr_out_movmem): Likewise.
From-SVN: r214438
David Malcolm [Mon, 25 Aug 2014 16:41:29 +0000 (16:41 +0000)]
config/arm: Use rtx_insn and rtx_code_label
gcc/
* config/arm/arm-protos.h (arm_final_prescan_insn): Strengthen
param from rtx to rtx_insn *.
(thumb1_final_prescan_insn): Likewise.
(thumb2_final_prescan_insn): Likewise.
* config/arm/arm.c (emit_set_insn): Strengthen return type from
rtx to rtx_insn *.
(struct minipool_node): Likewise for field "insn".
(dump_minipool): Likewise for param "scan".
(create_fix_barrier): Likewise for local "from". Strengthen local
"label" from rtx to rtx_code_label *.
(push_minipool_barrier): Strengthen param "insn" from rtx to
rtx_insn *.
(push_minipool_fix): Likewise.
(note_invalid_constants): Likewise.
(thumb2_reorg): Likewise for local "insn".
(arm_reorg): Likewise.
(thumb2_final_prescan_insn): Likewise for param
"insn" and local "first_insn".
(arm_final_prescan_insn): Likewise for param "insn" and locals
"start_insn", "this_insn".
(arm_debugger_arg_offset): Likewise for param "insn".
(thumb1_emit_multi_reg_push): Likewise for return type and local
"insn".
(thumb1_final_prescan_insn): Likewise for param "insn".
(thumb_far_jump_used_p): Likewise for local "insn".
(thumb1_expand_prologue): Likewise.
(arm_expand_epilogue_apcs_frame): Likewise.
(arm_expand_epilogue): Likewise for locals "insn", "tmp".
(arm_split_compare_and_swap): Strengthen locals "label1", "label2"
from rtx to rtx_code_label *.
(arm_split_atomic_op): Likewise for local "label".
(arm_emit_coreregs_64bit_shift): Likewise for local "done_label".
From-SVN: r214437
David Malcolm [Mon, 25 Aug 2014 16:36:54 +0000 (16:36 +0000)]
config/arc: Use rtx_insn
gcc/
* config/arc/arc-protos.h (arc_final_prescan_insn): Strengthen
first param from rtx to rtx_insn *.
(arc_verify_short): Likewise.
(arc_short_long): Likewise.
(arc_need_delay): Likewise.
* config/arc/arc.c (struct arc_ccfsm): Likewise for field
"target_insn".
(arc_ccfsm_advance): Likewise for param "insn" and locals
"start_insn", "this_insn".
(arc_ccfsm_record_condition): Likewise for local "seq_insn".
(arc_ccfsm_post_advance): Likewise for param "insn".
(arc_next_active_insn): Likewise for return type and param "insn".
Convert NULL_RTX to NULL as appropriate. Add a checked cast.
(arc_verify_short): Strengthen param "insn" from rtx to rtx_insn *.
(output_short_suffix): Likewise for local "insn".
(arc_final_prescan_insn): Likewise for param "insn". Remove
now-redundant checked cast.
(arc_reorg): Strengthen locals "insn", "top_label", "lp", "prev",
"lp_simple", "next", "mov", "scan", "link_insn" from rtx to
rtx_insn *. Add a checked cast. Introduce local "lc_set_insn"
for use where lc_set became an insn.
(arc_adjust_insn_length): Strengthen locals "prev", "succ" from
rtx to rtx_insn *.
(arc_get_insn_variants): Likewise for local "prev".
(arc_ifcvt): Likewise for locals "insn", "seq", "prev", "pprev",
"next".
(arc_predicate_delay_insns): Likewise for local "insn".
(arc_pad_return): Likewise for local "prev". For now, add a
checked cast when extracting the insn from "final_sequence".
(arc_short_long): Likewise for param "insn".
(arc_need_delay): Likewise for param "insn" and local "next".
(arc_label_align): Likewise for locals "prev", "next".
From-SVN: r214436
David Malcolm [Mon, 25 Aug 2014 16:31:30 +0000 (16:31 +0000)]
config/alpha/alpha.c: Use rtx_insn
gcc/
* config/alpha/alpha.c (alpha_emit_set_const): Strengthen local
"insn" from rtx to rtx_insn *.
(alpha_gp_save_rtx): Likewise for local "seq".
(alpha_instantiate_decls): Likewise for local "top".
(get_some_local_dynamic_name): Likewise for local "insn".
(alpha_does_function_need_gp): Likewise.
(set_frame_related_p): Likewise for return type and for locals
"seq" and "insn".
(emit_frame_store_1): Likewise for local "insn".
(alpha_expand_prologue): Likewise for locals "insn", "seq".
(alpha_end_function): Likewise for local "insn".
(alpha_output_mi_thunk_osf): Likewise.
(alphaev4_insn_pipe): Likewise for param "insn".
(alphaev5_insn_pipe): Likewise.
(alphaev4_next_group): Likewise for return type and param 1
"insn".
(alphaev5_next_group): Likewise.
(alpha_align_insns_1): Likewise for return type and param 1 of
callback param "next_group", and for locals "i", "next", "prev",
"where", "where2", "insn".
From-SVN: r214435
Bernd Schmidt [Mon, 25 Aug 2014 16:15:49 +0000 (16:15 +0000)]
Fix invalid gimple made by finalize_nesting_tree_1.
* tree-nested.c (finalize_nesting_tree_1): Initialize temporary earlier
rather than modifying the stmt.
From-SVN: r214434
Bernd Schmidt [Mon, 25 Aug 2014 16:12:35 +0000 (16:12 +0000)]
Convert execute.exp to use the dg framework.
* gcc.c-torture/execute/execute.exp: Replace with slightly adapted
copy of compile/compile.exp.
* gcc.c-torture/execute/
20010122-1.c: Skip if -fomit-frame-pointer.
* gcc.c-torture/execute/
20010129-1.c: Add -mtune=i686 if compiling for
i?86-*.
* gcc.c-torture/execute/
20020404-1.c: Require int32plus. Skip if
m32c-*-*.
* gcc.c-torture/execute/
20021024-1.c: Require int32plus.
* gcc.c-torture/execute/
20021127-1.c: Add -std=c99 option.
* gcc.c-torture/execute/
20030125-1.c: Require c99_runtime.
* gcc.c-torture/execute/
20030216-1.c: Skip if -O1.
* gcc.c-torture/execute/
20030222-1.c: Skip on spu-*-*.
* gcc.c-torture/execute/
20040629-1.c: Require int32plus.
* gcc.c-torture/execute/
20040703-1.c: Likewise.
* gcc.c-torture/execute/
20040705-1.c: Likewise.
* gcc.c-torture/execute/
20040705-2.c: Likewise.
* gcc.c-torture/execute/
20040709-1.c: Likewise.
* gcc.c-torture/execute/
20040709-2.c: Likewise.
* gcc.c-torture/execute/
20040811-1.c: Likewise.
* gcc.c-torture/execute/
20050316-1.c: Likewise. Add -Wno-psabi.
* gcc.c-torture/execute/
20050316-2.c: Use -mno-mmx -Wno-psabi when
compiling for x86_64-* or i?86-*.
* gcc.c-torture/execute/
20050604-1.c: Likewise.
* gcc.c-torture/execute/
20050316-3.c: Add -Wno-psabi option.
* gcc.c-torture/execute/
20050604-1.c: Use -mno-mmx when compiling
for x86_64-* or i?86-*.
* gcc.c-torture/execute/
20061101-1.c: Require int32plus.
* gcc.c-torture/execute/
20061220-1.c: Skip on rl78-*.
* gcc.c-torture/execute/
20081117-1.c: Require int32plus.
* gcc.c-torture/execute/
20101011-1.c: Add -fnon-call-exceptions
option.
* gcc.c-torture/execute/
20111227-2.c: Moved to...
* gcc.dg/
20111227-2.c: ... here. Add -free option.
* gcc.c-torture/execute/
20111227-3.c: Likewise move to...
* gcc.dg/
20111227-3.c: ... here. Add -free option.
* gcc.c-torture/execute/
20120919-1.c: Require int32plus.
* gcc.c-torture/execute/920612-1.c: Add -fwrapv option. Add
declarations for abort and exit.
* gcc.c-torture/execute/920711-1.c: Likewise.
* gcc.c-torture/execute/930529-1.c: Likewise.
* gcc.c-torture/execute/980709-1.c: Xfail if on AIX with -msoft-float.
* gcc.c-torture/execute/981130-1.c: Xfail on m32r-* with scheduling.
* gcc.c-torture/execute/990127-1.c: Add delcarations for abort and
exit.
* gcc.c-torture/execute/990127-2.c: Add -mpc64 option if compiling
for i?86-* or x86_64-*. Add declarations for abort and exit.
* gcc.c-torture/execute/990413-2.c: Skip if not compiling for
i?86-* or x86_64-*.
* gcc.c-torture/execute/990826-0.c: Xfail if on AIX with -msoft-float.
* gcc.c-torture/execute/bf64-1.c: Xfail on mcore-*.
* gcc.c-torture/execute/bitfld-4.c: Require int32plus.
* gcc.c-torture/execute/cmpsi-2.c: Likewise.
* gcc.c-torture/execute/eeprof-1.c: Add -finstrument-functions option.
Xfail on powerpc-ibm-aix*. Add declaration for abort.
* gcc.c-torture/execute/ipa-sra-2.c: Require int32plus.
* gcc.c-torture/execute/loop-2f.c: Require mmap. Skip if on
m68k-linux.
* gcc.c-torture/execute/loop-2g.c: Likewise.
* gcc.c-torture/execute/mode-dependent-address.c: Require stdint_types.
* gcc.c-torture/execute/nest-align-1.c: Add -mno-eabi option for
powerpc-*-eabi*.
* gcc.c-torture/execute/pr19689.c: Require int32plus.
* gcc.c-torture/execute/pr22493-1.c: Add -fwrapv option.
* gcc.c-torture/execute/pr23047.c: Likewise.
* gcc.c-torture/execute/pr23135.c: Add -Wno-psabi option. Add
declarations for abort and exit.
* gcc.c-torture/execute/pr29797-1.c: Require int32plus.
* gcc.c-torture/execute/pr31448.c: Likewise.
* gcc.c-torture/execute/pr35456.c: Skip on vax.
* gcc.c-torture/execute/pr37573.c: Require int32plus.
* gcc.c-torture/execute/pr38151.c: Add -Wno-psabi option.
* gcc.c-torture/execute/pr39228.c: Add -mieee for sh* and alpha*.
Skip on spu-*.
* gcc.c-torture/execute/pr39501.c: Add -ffast-math option. Add
declarations for abort and exit.
* gcc.c-torture/execute/pr40386.c: Add declarations for abort and exit.
* gcc.c-torture/execute/pr43220.c: Require int32plus.
* gcc.c-torture/execute/pr44583.c: Add -mieee option for sh*.
* gcc.c-torture/execute/pr45262.c: Require int32plus.
* gcc.c-torture/execute/pr47237.c: Xfail on nios2-*.
* gcc.c-torture/execute/pr51581-1.c: Require int32plus.
* gcc.c-torture/execute/pr51582-2.c: Likewise.
* gcc.c-torture/execute/pr52979-1.c: Likewise.
* gcc.c-torture/execute/pr52979-2.c: Likewise.
* gcc.c-torture/execute/pr56799.c: Likewise.
* gcc.c-torture/execute/pr57124.c: Likewise. Add -fno-strict-overflow
option. Add declarations for abort and exit.
* gcc.c-torture/execute/pr57344-2.c: Require int32plus.
* gcc.c-torture/execute/pr58570.c: Likewise.
* gcc.c-torture/execute/pr60822.c: Likewise.
* gcc.c-torture/execute/pr7284-1.c: Likewise.
* gcc.c-torture/execute/shiftdi.c: Likewise.
* gcc.c-torture/execute/simd-4.c: Require stdint_types.
* gcc.c-torture/execute/strncmp-1.c: Xfail if vxworks_kernel.
* gcc.c-torture/execute/usmul.c: Require int32plus.
* gcc.c-torture/execute/vrp-5.c: Likewise.
* gcc.c-torture/execute/vrp-6.c: Likewise.
* gcc.c-torture/execute/zerolen-2.c: Skip on epiphany-*.
* gcc.c-torture/execute/
20010122-1.x: Delete.
* gcc.c-torture/execute/
20010129-1.x: Delete.
* gcc.c-torture/execute/
20020404-1.x: Delete.
* gcc.c-torture/execute/
20021024-1.x: Delete.
* gcc.c-torture/execute/
20021127-1.x: Delete.
* gcc.c-torture/execute/
20030125-1.x: Delete.
* gcc.c-torture/execute/
20030216-1.x: Delete.
* gcc.c-torture/execute/
20030222-1.x: Delete.
* gcc.c-torture/execute/
20040629-1.x: Delete.
* gcc.c-torture/execute/
20040703-1.x: Delete.
* gcc.c-torture/execute/
20040705-1.x: Delete.
* gcc.c-torture/execute/
20040705-2.x: Delete.
* gcc.c-torture/execute/
20040709-1.x: Delete.
* gcc.c-torture/execute/
20040709-2.x: Delete.
* gcc.c-torture/execute/
20040811-1.x: Delete.
* gcc.c-torture/execute/
20050316-1.x: Delete.
* gcc.c-torture/execute/
20050316-2.x: Delete.
* gcc.c-torture/execute/
20050316-3.x: Delete.
* gcc.c-torture/execute/
20050604-1.x: Delete.
* gcc.c-torture/execute/
20061101-1.x: Delete.
* gcc.c-torture/execute/
20061220-1.x: Delete.
* gcc.c-torture/execute/
20081117-1.x: Delete.
* gcc.c-torture/execute/
20101011-1.x: Delete.
* gcc.c-torture/execute/
20120919-1.x: Delete.
* gcc.c-torture/execute/920612-1.x: Delete.
* gcc.c-torture/execute/920710-1.x: Delete.
* gcc.c-torture/execute/920711-1.x: Delete.
* gcc.c-torture/execute/930529-1.x: Delete.
* gcc.c-torture/execute/931004-12.x: Delete.
* gcc.c-torture/execute/980709-1.x: Delete.
* gcc.c-torture/execute/981130-1.x: Delete.
* gcc.c-torture/execute/990127-2.x: Delete.
* gcc.c-torture/execute/990413-2.x: Delete.
* gcc.c-torture/execute/990826-0.x: Delete.
* gcc.c-torture/execute/bf64-1.x: Delete.
* gcc.c-torture/execute/bitfld-4.x: Delete.
* gcc.c-torture/execute/cmpsi-2.x: Delete.
* gcc.c-torture/execute/cvt-1.x: Delete.
* gcc.c-torture/execute/eeprof-1.x: Delete.
* gcc.c-torture/execute/ipa-sra-2.x: Delete.
* gcc.c-torture/execute/loop-2f.x: Delete.
* gcc.c-torture/execute/loop-2g.x: Delete.
* gcc.c-torture/execute/mode-dependent-address.x: Delete.
* gcc.c-torture/execute/nest-align-1.x: Delete.
* gcc.c-torture/execute/pr19689.x: Delete.
* gcc.c-torture/execute/pr22493-1.x: Delete.
* gcc.c-torture/execute/pr23047.x: Delete.
* gcc.c-torture/execute/pr23135.x: Delete.
* gcc.c-torture/execute/pr29797-1.x: Delete.
* gcc.c-torture/execute/pr31448.x: Delete.
* gcc.c-torture/execute/pr35456.x: Delete.
* gcc.c-torture/execute/pr37573.x: Delete.
* gcc.c-torture/execute/pr38151.x: Delete.
* gcc.c-torture/execute/pr39228.x: Delete.
* gcc.c-torture/execute/pr39501.x: Delete.
* gcc.c-torture/execute/pr40386.x: Delete.
* gcc.c-torture/execute/pr43220.x: Delete.
* gcc.c-torture/execute/pr44683.x: Delete.
* gcc.c-torture/execute/pr45262.x: Delete.
* gcc.c-torture/execute/pr47237.x: Delete.
* gcc.c-torture/execute/pr51581-1.x: Delete.
* gcc.c-torture/execute/pr51581-2.x: Delete.
* gcc.c-torture/execute/pr52979-1.x: Delete.
* gcc.c-torture/execute/pr52979-2.x: Delete.
* gcc.c-torture/execute/pr53366-1.x: Delete.
* gcc.c-torture/execute/pr56799.x: Delete.
* gcc.c-torture/execute/pr57124.x: Delete.
* gcc.c-torture/execute/pr57344-2.x: Delete.
* gcc.c-torture/execute/pr58570.x: Delete.
* gcc.c-torture/execute/pr60822.x: Delete.
* gcc.c-torture/execute/pr7284-1.x: Delete.
* gcc.c-torture/execute/shiftdi.x: Delete.
* gcc.c-torture/execute/simd-4.x: Delete.
* gcc.c-torture/execute/strncmp-1.x: Delete.
* gcc.c-torture/execute/usmul.x: Delete.
* gcc.c-torture/execute/vrp-5.x: Delete.
* gcc.c-torture/execute/vrp-6.x: Delete.
* gcc.c-torture/execute/zerolen-2.x: Delete.
From-SVN: r214433
Jan-Benedict Glaw [Mon, 25 Aug 2014 15:53:22 +0000 (15:53 +0000)]
2014-08.25 Jan-Benedict Glaw <jbglaw@lug-owl.de>
* config/rs6000/rs6000.c (rs6000_return_in_msb): Fix fallout from
cgraph_state conversion.
From-SVN: r214429
David Malcolm [Mon, 25 Aug 2014 15:26:01 +0000 (15:26 +0000)]
config/aarch64/aarch64.c: Use rtx_insn
gcc/
* config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
Strengthen local "insns" from rtx to rtx_insn *.
(aarch64_set_frame_expr): Likewise for local "insn".
(aarch64_save_or_restore_fprs): Likewise.
(aarch64_save_or_restore_callee_save_registers): Likewise.
(aarch64_expand_prologue): Likewise.
(aarch64_expand_epilogue): Likewise.
(aarch64_output_mi_thunk): Likewise.
(aarch64_split_compare_and_swap): Strengthen locals "label1" and
"label2" from rtx to rtx_code_label *.
(aarch64_split_atomic_op): Likewise for local "label".
From-SVN: r214428
Martin Liska [Mon, 25 Aug 2014 13:01:47 +0000 (15:01 +0200)]
IPA C++ refactoring 4/N
* cgraph.h (symtab_node):
(bool needed_p (void)): created from decide_is_symbol_needed
(bool referred_to_p (void)): created from referred_to_p
(static cgraph_node *get_for_asmname (tree asmname)): created from symtab_node_for_asm
* cgraph.h (cgraph_node):
(void assemble_thunks_and_aliases (void)): created from assemble_thunks_and_aliases
(void expand (void)): created from expand_function
(static void finalize_function (tree, bool)): created from cgraph_finalize_function
(static cgraph_local_info *local_info (tree decl)): created from cgraph_local_info
(static cgraph_global_info *global_info (tree)): created from cgraph_global_info
(static cgraph_rtl_info *rtl_info (tree)): created from cgraph_rtl_info
* cgraph.h (varpool_node):
(static void add (tree decl): created from varpool_add_new_variable
* cgraph.h (cgraph_edge):
void remove (void);
(void remove_caller (void)): created from cgraph_edge_remove_caller
(void remove_callee (void)): created from cgraph_edge_remove_callee
(void set_call_stmt (gimple new_stmt, bool update_speculative = true)):
created from cgraph_set_call_stmt
(void redirect_callee (cgraph_node *n)): created from cgraph_redirect_edge_callee
(cgraph_edge *make_direct (cgraph_node *callee)): created from cgraph_make_edge_direct
(cgraph_edge *make_speculative (cgraph_node *n2, gcov_type direct_count,
gimple redirect_call_stmt_to_callee (void)): created from cgraph_turn_edge_to_speculative
(void speculative_call_info (cgraph_edge *&direct, cgraph_edge *&indirect, ipa_ref *&reference)):
created from cgraph_speculative_call_info
(cgraph_edge * clone (cgraph_node *n, gimple call_stmt, unsigned stmt_uid, gcov_type count_scale,
int freq_scale, bool update_original)): created from cgraph_clone_edge
(cgraph_edge *resolve_speculation (tree callee_decl)): created from cgraph_resolve_speculation
(bool cannot_lead_to_return_p (void)): created from cannot_lead_to_return_p
(bool recursive_p (void)): created from cgraph_edge_recursive_p
(bool maybe_hot_p (void)): created from cgraph_maybe_hot_edge_p
(static unsigned int rebuild_edges (void)): created from rebuild_cgraph_edges
(static void rebuild_references (void)): created from cgraph_rebuild_references
* cgraph.h (symbol_table):
(create_reference): renamed from add_reference
(maybe_create_reference): renamed from maybe_add_reference
(void register_symbol (symtab_node *node)): new function
(void clear_asm_symbols (void)): new function
(void unregister (symtab_node *node)): new function
(void release_symbol (cgraph_node *node, int uid)): new function
(cgraph_node * allocate_cgraph_symbol (void)): new function
(void initialize (void)): created from cgraph_init
(symtab_node *first_symbol (void)):new function
(asm_node *first_asm_symbol (void)):new function
(symtab_node *first_defined_symbol (void)):new function
(varpool_node *first_variable (void)):new function
(varpool_node *next_variable (varpool_node *node)):new function
(varpool_node *first_static_initializer (void)):new function
(varpool_node *next_static_initializer (varpool_node *node)):new function
(varpool_node *first_defined_variable (void)):new function
(varpool_node *next_defined_variable (varpool_node *node)):new function
(cgraph_node *first_defined_function (void)):new function
(cgraph_node *next_defined_function (cgraph_node *node)):new function
(cgraph_node *first_function (void)):new function
(cgraph_node *next_function (cgraph_node *node)):new function
(cgraph_node *first_function_with_gimple_body (void)):new function
(asm_node *finalize_toplevel_asm (tree asm_str)): created from add_asm_node
(bool remove_unreachable_nodes (bool before_inlining_p, FILE *file)):
created from symtab_remove_unreachable_nodes
(void remove_unreferenced_decls (void)): created from varpool_remove_unreferenced_decls
(void process_new_functions (void)): created from cgraph_process_new_functions
(void process_same_body_aliases (void)): created from cgraph_process_same_body_aliases
(bool output_variables (void)): created from varpool_node::output_variables
(void output_asm_statements (void)): created from output_asm_statements
(void finalize_compilation_unit (void)): created from finalize_compilation_unit
(void compile (void)): created from compile
(void output_weakrefs (void)): created from output_weakrefs
(cgraph_node *create_empty (void)): created from cgraph_node::create_empty
(cgraph_edge *create_edge (cgraph_node *caller, cgraph_node *callee, gimple call_stmt,
gcov_type count, int freq, bool indir_unknown_callee)): created from cgraph_node::create_edge
(void free_edge (cgraph_edge *e)): created from cgraph_free_edge
(cgraph_node *next_function_with_gimple_body (cgraph_node *node)):
created from cgraph_next_function_with_gimple_body
(void remove_edge_removal_hook (cgraph_edge_hook_list *)):
created from cgraph_remove_edge_removal_hook
(cgraph_node_hook_list *add_cgraph_removal_hook (cgraph_node_hook, void *)):
created from cgraph_add_node_removal_hook
(void remove_cgraph_removal_hook (cgraph_node_hook_list *)):
created from cgraph_remove_node_removal_hook
(varpool_node_hook_list *add_varpool_removal_hook (varpool_node_hook, void *)):
created from varpool_add_node_removal_hook
(void remove_varpool_removal_hook (varpool_node_hook_list *)):
created from varpool_remove_node_removal_hook
(cgraph_node_hook_list *add_cgraph_insertion_hook (cgraph_node_hook, void *)):
created from cgraph_add_function_insertion_hook
(void remove_cgraph_insertion_hook (cgraph_node_hook_list *)):
created from cgraph_remove_function_insertion_hook
(varpool_node_hook_list *add_varpool_insertion_hook (varpool_node_hook, void *)):
created from varpool_add_variable_insertion_hook
(void remove_varpool_insertion_hook (varpool_node_hook_list *)):
created from varpool_remove_variable_insertion_hook
(cgraph_2edge_hook_list *add_edge_duplication_hook (cgraph_2edge_hook, void *)):
created from cgraph_add_edge_duplication_hook
(void remove_edge_duplication_hook (cgraph_2edge_hook_list *)):
created from cgraph_remove_edge_duplication_hook
(cgraph_2node_hook_list *add_cgraph_duplication_hook (cgraph_2node_hook, void *)):
created from cgraph_add_node_duplication_hook
(void remove_cgraph_duplication_hook (cgraph_2node_hook_list *)):
created from cgraph_remove_node_duplication_hook
(void call_edge_removal_hooks (cgraph_edge *e)):
created from cgraph_call_edge_removal_hooks
(void call_cgraph_insertion_hooks (cgraph_node *node)):
created from call_function_insertion_hooks
(void call_cgraph_removal_hooks (cgraph_node *node)):
created from cgraph_call_node_removal_hooks
(void call_cgraph_duplication_hooks (cgraph_node *node, cgraph_node *node2)):
created from cgraph_node::call_duplication_hooks
(void call_edge_duplication_hooks (cgraph_edge *cs1, cgraph_edge *cs2)):
created from cgraph_call_edge_duplication_hooks
(void call_varpool_removal_hooks (varpool_node *node)):
created from varpool_call_node_removal_hooks
(void call_varpool_insertion_hooks (varpool_node *node)):
created from varpool_call_variable_insertion_hooks
(void insert_to_assembler_name_hash (symtab_node *node, bool with_clones)):
created from insert_to_assembler_name_hash
(void unlink_from_assembler_name_hash (symtab_node *node, bool with_clones)):
created from unlink_from_assembler_name_hash
(void symtab_prevail_in_asm_name_hash (symtab_node *node)):
created from symtab_prevail_in_asm_name_hash
(void symtab_initialize_asm_name_hash (void)):
created from symtab_initialize_asm_name_hash
(void change_decl_assembler_name (tree decl, tree name)):
created from change_decl_assembler_name
(void materialize_all_clones (void)): created from cgraph_materialize_all_clones
(static hashval_t decl_assembler_name_hash (const_tree asmname)):
created from decl_assembler_name_hash
(static bool decl_assembler_name_equal (tree decl, const_tree asmname)):
created from decl_assembler_name_equal
(static hashval_t hash_node_by_assembler_name (const void *p)):
created from hash_node_by_assembler_name
(static int eq_assembler_name (const void *p1, const void *p2)):
created from eq_assembler_name
From-SVN: r214422
Jason Merrill [Mon, 25 Aug 2014 12:48:22 +0000 (08:48 -0400)]
decl.c (start_decl): Look through member variable template.
* decl.c (start_decl): Look through member variable template.
* pt.c (tsubst_decl) [VAR_DECL]: Handle member variable templates.
* decl2.c (grokfield): Set DECL_CONTEXT earlier on
variables.
From-SVN: r214420
Marek Polacek [Mon, 25 Aug 2014 12:31:15 +0000 (12:31 +0000)]
* config/i386/i386.md (SWI1248_AVX512BW): Add missing paren.
From-SVN: r214419
Petr Murzin [Mon, 25 Aug 2014 11:39:18 +0000 (11:39 +0000)]
i386.md (SWI1248_AVX512BW): New mode iterator.
gcc/
* config/i386/i386.md (SWI1248_AVX512BW): New mode iterator.
(*k<logic><mode>): Add *k<logic>qi and *k<logic>hi and use
SWI1248_AVX512BW mode iterator.
From-SVN: r214417
Paolo Carlini [Mon, 25 Aug 2014 10:24:17 +0000 (10:24 +0000)]
var1.C: Use c++14, not c++1y, in dg-error.
2014-08-25 Paolo Carlini <paolo.carlini@oracle.com>
* g++.old-deja/g++.pt/var1.C: Use c++14, not c++1y, in dg-error.
From-SVN: r214416
Paolo Carlini [Mon, 25 Aug 2014 08:32:04 +0000 (08:32 +0000)]
re PR c++/34938 (ICE with function pointers and attribute noreturn)
/cp
2014-08-25 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/34938
* cp-tree.h (TFF_POINTER): Add.
* cxx-pretty-print.h (pp_cxx_cv_qualifiers): Forward the third
argument too.
* error.c (dump_type_suffix): Actually print the const and noreturn
attribute when appropriate.
/testsuite
2014-08-25 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/34938
* g++.dg/template/pr34938-1.C: New.
* g++.dg/template/pr34938-2.C: Likewise.
From-SVN: r214415
Jason Merrill [Mon, 25 Aug 2014 05:05:01 +0000 (01:05 -0400)]
c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for -std=c++14 and -std=gnu++14...
* c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
-std=c++14 and -std=gnu++14, rather than the reverse.
* c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
* c-common.h (cxx_dialect): Remove cxx1y.
From-SVN: r214414
Kaz Kojima [Mon, 25 Aug 2014 00:37:51 +0000 (00:37 +0000)]
re PR target/62111 (ICE when building Linux kernel for sh64)
PR target/62111
* config/sh/predicates.md (general_extend_operand): Disable
TRUNCATE before reload completes.
From-SVN: r214413
GCC Administrator [Mon, 25 Aug 2014 00:17:28 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r214412
Gerald Pfeifer [Sun, 24 Aug 2014 19:26:49 +0000 (19:26 +0000)]
* doc/invoke.texi (Optimize Options): Fix markup in two cases.
From-SVN: r214409
Oleg Endo [Sun, 24 Aug 2014 10:46:25 +0000 (10:46 +0000)]
re PR target/61996 ([SH] -musermode conflicts with -matomic-model=soft-imask)
gcc/
PR target/61996
* config/sh/sh.opt (musermode): Allow negative form.
* config/sh/sh.c (sh_option_override): Disable TARGET_USERMODE for
targets that don't support it.
* doc/invoke.texi (SH Options): Rename sh-*-linux* to sh*-*-linux*.
Document -mno-usermode option.
gcc/testsuite
PR target/61996
* gcc.target/sh/pr61996.c: New.
From-SVN: r214406
Kito Cheng [Sun, 24 Aug 2014 02:52:46 +0000 (02:52 +0000)]
Remove CALLER_SAVE_PROFITABLE since it is not used at present.
* system.h (CALLER_SAVE_PROFITABLE): Poison.
* regs.h (CALLER_SAVE_PROFITABLE): Remove.
* doc/tm.texi.in (CALLER_SAVE_PROFITABLE): Remove.
* doc/tm.texi: Regenerate.
From-SVN: r214405
Kito Cheng [Sun, 24 Aug 2014 02:38:28 +0000 (02:38 +0000)]
* ira.c: Fix typo in comment.
From-SVN: r214404
GCC Administrator [Sun, 24 Aug 2014 00:16:37 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r214403
Edward Smith-Rowland [Sat, 23 Aug 2014 16:50:22 +0000 (16:50 +0000)]
cpplib.h (enum c_lang): Add CLK_GNUCXX1Z, CLK_CXX1Z...
libcpp/
2014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
* include/cpplib.h (enum c_lang): Add CLK_GNUCXX1Z, CLK_CXX1Z;
Rename CLK_GNUCXX1Y, CLK_CXX1Y to CLK_GNUCXX14, CLK_CXX14;
* init.c (struct lang_flags lang_defaults): Add column for trigraphs;
Add rows for CLK_GNUCXX1Z, CLK_CXX1Z; (cpp_set_lang): Set trigraphs;
(cpp_init_builtins): Set __cplusplus to 201402L for C++14;
Set __cplusplus to 201500L for C++17.
* expr.c (cpp_classify_number): Change C++1y to C++14 in binary
constants error message.
gcc/c-family/
2014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
* c-common.h (enum cxx_dialect): Add cxx14.
* c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
* c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
gcc/cp/
2014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
* decl.c (compute_array_index_type, grokdeclarator,
undeduced_auto_decl): Change from cxx1y to cxx14.
*lambda.c(add_capture()): Change error message from C++1y to C++14.
* parser.c (cp_parser_unqualified_id, cp_parser_pseudo_destructor_name,
cp_parser_lambda_introducer, cp_parser_lambda_declarator_opt,
cp_parser_decltype, cp_parser_conversion_type_id,
cp_parser_simple_type_specifier, cp_parser_type_id_1,
cp_parser_template_type_arg, cp_parser_std_attribute,
cp_parser_template_declaration_after_export): Ditto.
* pt.c (tsubst): Ditto.
* semantics.c (force_paren_expr, finish_decltype_type): Ditto.
* tree.c: Change comment.
* typeck.c (comp_template_parms_position, cxx_sizeof_or_alignof_type,
cp_build_addr_expr_1, maybe_warn_about_useless_cast): Ditto.
gcc/
2014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
* doc/invoke.texi: Change c++1y to c++14 and gnu++1y to gnu++14.
Deprecate c++1y. Change language to reflect greater confidence in C++14.
gcc/testsuite/
2014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
* g++.dg/cpp0x/cplusplus.C: New.
* g++.dg/cpp0x/cplusplus_0x.C: New.
* g++.dg/cpp0x/auto3.C: Change c++1y to c++14.
* g++.dg/cpp0x/auto41.C: Ditto.
* g++.dg/cpp0x/auto9.C: Ditto.
* g++.dg/cpp0x/initlist26.C: Ditto.
* g++.dg/cpp0x/pr59111.C: Ditto.
* g++.dg/cpp0x/trailing2.C: Ditto.
* g++.dg/cpp1y/attr-deprecated.C: Ditto.
* g++.dg/cpp1y/auto-dtor1.C: Ditto.
* g++.dg/cpp1y/auto-fn1.C: Ditto.
* g++.dg/cpp1y/auto-fn2.C: Ditto.
* g++.dg/cpp1y/auto-fn3.C: Ditto.
* g++.dg/cpp1y/auto-fn4.C: Ditto.
* g++.dg/cpp1y/auto-fn5.C: Ditto.
* g++.dg/cpp1y/auto-fn6.C: Ditto.
* g++.dg/cpp1y/auto-fn7.C: Ditto.
* g++.dg/cpp1y/auto-fn8.C: Ditto.
* g++.dg/cpp1y/auto-fn9.C: Ditto.
* g++.dg/cpp1y/auto-fn10.C: Ditto.
* g++.dg/cpp1y/auto-fn11.C: Ditto.
* g++.dg/cpp1y/auto-fn12.C: Ditto.
* g++.dg/cpp1y/auto-fn13.C: Ditto.
* g++.dg/cpp1y/auto-fn14.C: Ditto.
* g++.dg/cpp1y/auto-fn15.C: Ditto.
* g++.dg/cpp1y/auto-fn16.C: Ditto.
* g++.dg/cpp1y/auto-fn17.C: Ditto.
* g++.dg/cpp1y/auto-fn18.C: Ditto.
* g++.dg/cpp1y/auto-fn19.C: Ditto.
* g++.dg/cpp1y/auto-fn20.C: Ditto.
* g++.dg/cpp1y/auto-fn21.C: Ditto.
* g++.dg/cpp1y/auto-fn22.C: Ditto.
* g++.dg/cpp1y/auto-fn23.C: Ditto.
* g++.dg/cpp1y/auto-fn24.C: Ditto.
* g++.dg/cpp1y/auto-fn25.C: Ditto.
* g++.dg/cpp1y/auto-mangle1.C: Ditto.
* g++.dg/cpp1y/auto-neg1.C: Ditto.
* g++.dg/cpp1y/digit-sep.C: Ditto.
* g++.dg/cpp1y/digit-sep-neg.C: Ditto.
* g++.dg/cpp1y/digit-sep-cxx11-neg.C: Ditto.
* g++.dg/cpp1y/fn-generic-member-ool.C: Ditto.
* g++.dg/cpp1y/lambda-deduce-mult.C: Ditto.
* g++.dg/cpp1y/lambda-generic.C: Ditto.
* g++.dg/cpp1y/lambda-generic-cfun.C: Ditto.
* g++.dg/cpp1y/lambda-generic-dep.C: Ditto.
* g++.dg/cpp1y/lambda-generic-mixed.C: Ditto.
* g++.dg/cpp1y/lambda-generic-udt.C: Ditto.
* g++.dg/cpp1y/lambda-generic-variadic.C: Ditto.
* g++.dg/cpp1y/lambda-generic-vla1.C: Ditto.
* g++.dg/cpp1y/lambda-generic-x.C: Ditto.
* g++.dg/cpp1y/lambda-generic-xcfun.C: Ditto.
* g++.dg/cpp1y/lambda-generic-xudt.C: Ditto.
* g++.dg/cpp1y/lambda-init.C: Ditto.
* g++.dg/cpp1y/lambda-init1.C: Ditto.
* g++.dg/cpp1y/lambda-init2.C: Ditto.
* g++.dg/cpp1y/lambda-init3.C: Ditto.
* g++.dg/cpp1y/lambda-init4.C: Ditto.
* g++.dg/cpp1y/lambda-init5.C: Ditto.
* g++.dg/cpp1y/lambda-init6.C: Ditto.
* g++.dg/cpp1y/lambda-init7.C: Ditto.
* g++.dg/cpp1y/lambda-init8.C: Ditto.
* g++.dg/cpp1y/lambda-init9.C: Ditto.
* g++.dg/cpp1y/mangle1.C: Ditto.
* g++.dg/cpp1y/pr57640.C: Ditto.
* g++.dg/cpp1y/pr57644.C: Ditto.
* g++.dg/cpp1y/pr58500.C: Ditto.
* g++.dg/cpp1y/pr58533.C: Ditto.
* g++.dg/cpp1y/pr58534.C: Ditto.
* g++.dg/cpp1y/pr58535.C: Ditto.
* g++.dg/cpp1y/pr58536.C: Ditto.
* g++.dg/cpp1y/pr58548.C: Ditto.
* g++.dg/cpp1y/pr58549.C: Ditto.
* g++.dg/cpp1y/pr58637.C: Ditto.
* g++.dg/cpp1y/pr58708.C: Ditto.
* g++.dg/cpp1y/pr59110.C: Ditto.
* g++.dg/cpp1y/pr59112.C: Ditto.
* g++.dg/cpp1y/pr59113.C: Ditto.
* g++.dg/cpp1y/pr59629.C: Ditto.
* g++.dg/cpp1y/pr59635.C: Ditto.
* g++.dg/cpp1y/pr59636.C: Ditto.
* g++.dg/cpp1y/pr59638.C: Ditto.
* g++.dg/cpp1y/pr59867.C: Ditto.
* g++.dg/cpp1y/pr60033.C: Ditto.
* g++.dg/cpp1y/pr60052.C: Ditto.
* g++.dg/cpp1y/pr60053.C: Ditto.
* g++.dg/cpp1y/pr60054.C: Ditto.
* g++.dg/cpp1y/pr60064.C: Ditto.
* g++.dg/cpp1y/pr60065.C: Ditto.
* g++.dg/cpp1y/pr60190.C: Ditto.
* g++.dg/cpp1y/pr60311.C: Ditto.
* g++.dg/cpp1y/pr60332.C: Ditto.
* g++.dg/cpp1y/pr60376.C: Ditto.
* g++.dg/cpp1y/pr60377.C: Ditto.
* g++.dg/cpp1y/pr60384.C: Ditto.
* g++.dg/cpp1y/pr60390.C: Ditto.
* g++.dg/cpp1y/pr60391.C: Ditto.
* g++.dg/cpp1y/pr60393.C: Ditto.
* g++.dg/cpp1y/pr60573.C: Ditto.
* g++.dg/cpp1y/pr60626.C: Ditto.
* g++.dg/cpp1y/pr60627.C: Ditto.
* g++.dg/cpp1y/regress1.C: Ditto.
* g++.dg/cpp1y/system-binary-constants-1.C: Ditto.
* g++.dg/cpp1y/udlit-char-template.C: Ditto.
* g++.dg/cpp1y/udlit-char-template-neg.C: Ditto.
* g++.dg/cpp1y/udlit-empty-string-neg.C: Ditto.
* g++.dg/cpp1y/udlit-enc-prefix-neg.C: Ditto.
* g++.dg/cpp1y/udlit-userdef-string.C: Ditto.
* g++.dg/cpp1y/var-templ1.C: Ditto.
* g++.dg/cpp1y/var-templ2.C: Ditto.
* g++.dg/cpp1y/var-templ3.C: Ditto.
* g++.dg/cpp1y/var-templ4.C: Ditto.
* g++.dg/cpp1y/var-templ5.C: Ditto.
* g++.dg/cpp1y/var-templ6.C: Ditto.
* g++.dg/cpp1y/var-templ7.C: Ditto.
* g++.dg/cpp1y/vla1.C: Ditto.
* g++.dg/cpp1y/vla2.C: Ditto.
* g++.dg/cpp1y/vla3.C: Ditto.
* g++.dg/cpp1y/vla4.C: Ditto.
* g++.dg/cpp1y/vla5.C: Ditto.
* g++.dg/cpp1y/vla8.C: Ditto.
* g++.dg/cpp1y/vla9.C: Ditto.
* g++.dg/cpp1y/vla10.C: Ditto.
* g++.dg/cpp1y/vla11.C: Ditto.
* g++.dg/cpp1y/vla12.C: Ditto.
* g++.dg/cpp1y/vla13.C: Ditto.
* g++.dg/cpp1y/vla-initlist1.C: Ditto.
* g++.dg/ext/vector23.C: Ditto.
* g++.dg/ext/vla11.C: Ditto.
* gcc/testsuite/g++.dg/ubsan/cxx1y-vla.C: Ditto.
* g++.dg/warn/Wvla-2.C: Ditto.
* g++.dg/debug/dwarf2/auto1.C: Ditto.
* g++.dg/cpp1z/typename-tmpl-tmpl-parm-ped-neg.C: Ditto.
* g++.dg/cpp1y/cplusplus.C: Check for exact date.
* g++.dg/cpp1y/system-binary-constants-1.C: Check C++14 instead of C++1y
in error message.
* g++.dg/system-binary-constants-1.C: Ditto.
* g++.dg/cpp1y/cplusplus_1y.C: New.
* g++.dg/cpp1z/cplusplus.C: New.
* lib/target-supports.exp:
(check_effective_target_c++1y*): Rename to check_effective_target_c++14*
(check_effective_target_c++11_only): Call check_effective_target_c++14;
(check_effective_target_c++11_down): Ditto.
From-SVN: r214400
John David Anglin [Sat, 23 Aug 2014 15:56:07 +0000 (15:56 +0000)]
re PR target/62038 (Out of range branch target in thunk)
PR target/62038
* config/pa/pa.c (pa_output_function_epilogue): Don't set
last_address when the current function is a thunk.
(pa_asm_output_mi_thunk): When we don't have named sections or they
are not being used, check that thunk can reach the stub table with a
short branch.
From-SVN: r214397
Jason Merrill [Sat, 23 Aug 2014 06:51:58 +0000 (02:51 -0400)]
Allow non-constexpr variable templates.
* decl2.c (note_variable_template_instantiation): New.
* cp-tree.h: Declare it.
* pt.c (instantiate_decl): Call it.
(push_template_decl_real): Allow non-constexpr variable templates.
* semantics.c (finish_id_expression): Mark the variable template
instantiation as used.
* mangle.c (write_mangled_name): Variable template instantiations
are mangled.
* parser.c (cp_parser_init_declarator): Complain about
non-function implicit templates.
From-SVN: r214396
Jason Merrill [Sat, 23 Aug 2014 06:28:34 +0000 (02:28 -0400)]
* c.opt (std=gnu++17): Fix alias.
From-SVN: r214395
David Malcolm [Sat, 23 Aug 2014 01:02:46 +0000 (01:02 +0000)]
PHASE 3: Per-config subdir commits
/
2014-08-23 David Malcolm <dmalcolm@redhat.com>
* rtx-classes-status.txt: Phase 2 (per-file commits in main source
dir) is done; begin phase 3 (per-file commits within "config"
subdirs).
From-SVN: r214394
David Malcolm [Sat, 23 Aug 2014 00:59:08 +0000 (00:59 +0000)]
web.c: Use rtx_insn
gcc/
2014-08-23 David Malcolm <dmalcolm@redhat.com>
* web.c (union_match_dups): Strengthen param "insn" from rtx to
rtx_insn *.
(pass_web::execute): Likewise for local "insn".
From-SVN: r214393
David Malcolm [Sat, 23 Aug 2014 00:54:15 +0000 (00:54 +0000)]
var-tracking.c: Use rtx_insn
gcc/
2014-08-23 David Malcolm <dmalcolm@redhat.com>
* var-tracking.c (struct micro_operation_def): Strengthen field
"insn" from rtx to rtx_insn *.
(struct emit_note_data_def): Likewise.
(insn_stack_adjust_offset_pre_post): Likewise for param "insn".
(vt_stack_adjustments): Likewise for local "insn".
(adjust_insn): Likewise for param "insn".
(val_store): Likewise.
(val_resolve): Likewise.
(struct count_use_info): Likewise for field "insn".
(log_op_type): Likewise for param "insn".
(reverse_op): Likewise.
(prepare_call_arguments): Likewise.
(add_with_sets): The initial param takes an insn, but we can't
yet strengthen it from rtx to rtx_insn * since it's used as a
cselib_record_sets_hook callback. For now rename initial param
from "insn" to "uncast_insn", and introduce a local "insn" of
the stronger rtx_insn * type, with a checked cast.
(compute_bb_dataflow): Strengthen local "insn" from rtx to
rtx_insn *.
(emit_note_insn_var_location): Likewise.
(emit_notes_for_changes): Likewise.
(emit_notes_for_differences): Likewise.
(next_non_note_insn_var_location): Likewise for return type and
for param "insn".
(emit_notes_in_bb): Likewise for locals "insn" and "next_insn".
(vt_initialize): Likewise for local "insn".
(delete_debug_insns): Likewise for locals "insn" and "next".
From-SVN: r214392
David Malcolm [Sat, 23 Aug 2014 00:52:04 +0000 (00:52 +0000)]
varasm.c: Use rtx_insn
gcc/
2014-08-23 David Malcolm <dmalcolm@redhat.com>
* varasm.c (mark_constants): Strengthen param "insn" from rtx to
rtx_insn *.
(mark_constant_pool): Likewise for local "insn".
From-SVN: r214391
David Malcolm [Sat, 23 Aug 2014 00:50:32 +0000 (00:50 +0000)]
valtrack.c: Use rtx_insn
gcc/
2014-08-23 David Malcolm <dmalcolm@redhat.com>
* valtrack.c (dead_debug_reset_uses): Strengthen local "insn" from
rtx to rtx_insn *.
(dead_debug_promote_uses): Likewise.
(dead_debug_insert_temp): Likewise.
From-SVN: r214390
David Malcolm [Sat, 23 Aug 2014 00:48:24 +0000 (00:48 +0000)]
store-motion.c: Use rtx_insn
gcc/
2014-08-23 David Malcolm <dmalcolm@redhat.com>
* store-motion.c (store_killed_in_insn): Strengthen param "insn"
from const_rtx to const rtx_insn *.
(store_killed_after): Likewise. Strengthen locals "last", "act"
from rtx to rtx_insn *.
(store_killed_before): Strengthen param "insn" from const_rtx to
const rtx_insn *. Strengthen local "first" from rtx to rtx_insn *.
(find_moveable_store): Strengthen param "insn" from rtx to
rtx_insn *.
(compute_store_table): Likewise for local "insn".
(insert_insn_start_basic_block): Likewise for param "insn" and
locals "prev", "before", "insn".
(insert_store): For now, add a checked cast to rtx_insn * on the
result of gen_move_insn.
(remove_reachable_equiv_notes): Strengthen local "insn" from rtx
to rtx_insn *.
(replace_store_insn): Likewise. For now, add a checked cast to
rtx_insn * on the result of gen_move_insn.
From-SVN: r214389