Commit Graph

132209 Commits

Author SHA1 Message Date
GCC Administrator
d43bd7f0c4 Daily bump.
From-SVN: r214403
2014-08-24 00:16:37 +00:00
Edward Smith-Rowland
e4276ba523 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
2014-08-23 16:50:22 +00:00
John David Anglin
5dba876931 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
2014-08-23 15:56:07 +00:00
Jason Merrill
5e0231c231 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
2014-08-23 02:51:58 -04:00
Jason Merrill
a545cacd68 * c.opt (std=gnu++17): Fix alias.
From-SVN: r214395
2014-08-23 02:28:34 -04:00
David Malcolm
76c531d3ae 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
2014-08-23 01:02:46 +00:00
David Malcolm
072928d7ff 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
2014-08-23 00:59:08 +00:00
David Malcolm
598d62daff 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
2014-08-23 00:54:15 +00:00
David Malcolm
3ddabbd715 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
2014-08-23 00:52:04 +00:00
David Malcolm
1cbcd833c9 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
2014-08-23 00:50:32 +00:00
David Malcolm
b4b7724e9b 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
2014-08-23 00:48:24 +00:00
GCC Administrator
2b664bee31 Daily bump.
From-SVN: r214388
2014-08-23 00:16:44 +00:00
David Malcolm
daf403511d stmt.c: Use rtx_insn
gcc/
2014-08-22  David Malcolm  <dmalcolm@redhat.com>

	* stmt.c (expand_case): Strengthen local "before_case" from rtx to
	rtx_insn *.
	(expand_sjlj_dispatch_table): Likewise.

From-SVN: r214383
2014-08-22 21:46:30 +00:00
David Malcolm
21f110ce8c stack-ptr-mod.c: Use rtx_insn
gcc/
2014-08-22  David Malcolm  <dmalcolm@redhat.com>

	* stack-ptr-mod.c (pass_stack_ptr_mod::execute): Strengthen local
	"insn" from rtx to rtx_insn *.

From-SVN: r214382
2014-08-22 21:44:32 +00:00
David Malcolm
939d7575f1 shrink-wrap.*: Use rtx_insn (touches config/i386/i386.c)
gcc/
2014-08-22  David Malcolm  <dmalcolm@redhat.com>

	* shrink-wrap.h (requires_stack_frame_p): Strengthen param 1
	"insn" from rtx to rtx_insn *.
	(dup_block_and_redirect): Likewise for param 3 "before".

	* shrink-wrap.c (requires_stack_frame_p): Strengthen param "insn"
	from rtx to rtx_insn *.
	(move_insn_for_shrink_wrap): Likewise.
	(prepare_shrink_wrap): Likewise for locals "insn", "curr".
	(dup_block_and_redirect): Likewise for param "before" and local
	"insn".
	(try_shrink_wrapping): Likewise for locals "insn", "insert_point",
	"end".
	(convert_to_simple_return): Likewise for local "start".

	* config/i386/i386.c (ix86_finalize_stack_realign_flags):
	Strengthen local "insn" from rtx to rtx_insn *, for use when
	invoking requires_stack_frame_p.

From-SVN: r214381
2014-08-22 21:42:53 +00:00
David Malcolm
9ee1fbb1a8 sel-sched-ir.c: Use rtx_insn
gcc/
2014-08-22  David Malcolm  <dmalcolm@redhat.com>

	* sel-sched-ir.c (vinsn_copy): Strengthen local "copy" from rtx to
	rtx_insn *.
	(speculate_expr): Likewise for locals "orig_insn_rtx",
	"spec_insn_rtx".
	(eq_transformed_insns): Likewise for locals "i1", "i2".
	(check_for_new_jump): Likewise for return type and local "end".
	(find_new_jump): Likewise for return type and local "jump".
	(sel_split_edge): Likewise for local "jump".
	(sel_create_recovery_block): Likewise.
	(sel_redirect_edge_and_branch_force): Likewise.
	(sel_redirect_edge_and_branch): Likewise.

From-SVN: r214380
2014-08-22 21:41:07 +00:00
David Malcolm
eec818f42d sel-sched.c: Use rtx_insn
gcc/
2014-08-22  David Malcolm  <dmalcolm@redhat.com>

	* sel-sched.c (substitute_reg_in_expr): Strengthen local
	"new_insn" from rtx to rtx_insn *.
	(create_insn_rtx_with_rhs): Likewise for return type and for local
	"insn_rtx".
	(create_insn_rtx_with_lhs): Likewise.
	(create_speculation_check): Likewise for local "insn_rtx".
	(implicit_clobber_conflict_p): Likewise for local "insn".
	(get_expr_cost): Likewise.
	(emit_bookkeeping_insn): Likewise for local "new_insn_rtx".
	(move_cond_jump): Likewise for locals "next", "prev", "link",
	"head", "from", "to".

From-SVN: r214379
2014-08-22 21:39:00 +00:00
David Malcolm
23f5bd204d sched-rgn.c: Use rtx_insn in a couple of places
gcc/
2014-08-22  David Malcolm  <dmalcolm@redhat.com>

	* sched-rgn.c (is_cfg_nonregular): Strengthen locals "insn" and
	"next" from rtx to rtx_insn *.
	(find_conditional_protection): Likewise for local "next".
	(is_conditionally_protected): Likewise for local "insn1".
	(is_pfree): Likewise for locals "insn1", "insn2".

From-SVN: r214378
2014-08-22 21:36:28 +00:00
David Malcolm
66fcd40c62 sched-ebb.c: Use rtx_insn (requires touching sched-int.h and config/c6x/c6x.c)
gcc/
2014-08-22  David Malcolm  <dmalcolm@redhat.com>

	* sched-int.h (schedule_ebb): Strengthen params "head", "tail"
	from rtx to rtx_insn *.

	* sched-ebb.c (earliest_block_with_similiar_load): Strengthen
	locals "insn1", "insn2" from rtx to rtx_insn *.
	(add_deps_for_risky_insns): Likewise for params "head", "tail" and
	locals "insn", "prev", "last_jump", "next_tail".
	(schedule_ebb): Likewise for params "head", "tail".
	(schedule_ebbs): Likewise for locals "tail", "head".

	* config/c6x/c6x.c (hwloop_optimize): For now, add a checked cast
	to rtx_insn on "last_insn" in one of the invocations of
	schedule_ebb.

From-SVN: r214375
2014-08-22 21:10:21 +00:00
David Malcolm
974c43e9cc sched-deps.c: Use rtx_insn
gcc/
2014-08-22  David Malcolm  <dmalcolm@redhat.com>

	* sched-deps.c (maybe_add_or_update_dep_1): Strengthen locals
	"elem", "insn" from rtx to rtx_insn *.
	(change_spec_dep_to_hard): Likewise.
	(get_back_and_forw_lists): Likewise for local "con".
	(sd_add_dep): Likewise for locals "elem", "insn".
	(sd_resolve_dep): Likewise for locals "pro", "con".
	(sd_unresolve_dep): Likewise.
	(sd_delete_dep): Likewise.
	(chain_to_prev_insn): Likewise for local "pro".
	(find_inc): Likewise for locals "pro", "con".

From-SVN: r214374
2014-08-22 21:04:29 +00:00
David Malcolm
1bbbc4a3b7 rtlanal.c: Use rtx_insn
gcc/
2014-08-22  David Malcolm  <dmalcolm@redhat.com>

	* rtlanal.c (reg_used_between_p): Strengthen local "insn" from rtx
	to rtx_insn *.
	(reg_set_between_p): Strengthen local "insn" from const_rtx to
	const rtx_insn *.
	(modified_between_p): Strengthen local "insn" from rtx to
	rtx_insn *.
	(remove_reg_equal_equiv_notes_for_regno): Likewise.
	(keep_with_call_p): Strengthen local "i2" from const_rtx to
	const rtx_insn *.

From-SVN: r214373
2014-08-22 20:53:56 +00:00
David Malcolm
fcff50498c resource.c: Use rtx_insn
gcc/
	* resource.c (next_insn_no_annul): Strengthen local "next" from
	rtx to rtx_insn *.
	(mark_referenced_resources): Likewise for local "insn".

From-SVN: r214372
2014-08-22 20:51:46 +00:00
Mike Stump
1e03f2567a Fix spacing.
From-SVN: r214371
2014-08-22 20:50:22 +00:00
David Malcolm
5d86f5f999 reload: Use rtx_insn (also touches caller-save.c and config/arc/arc)
gcc/
	* reload.h (struct insn_chain): Strengthen field "insn" from rtx
	to rtx_insn *.
	(find_reloads): Likewise for param 1.
	(subst_reloads): Likewise for sole param.
	(find_equiv_reg): Likwise for param 2.
	(regno_clobbered_p): Likwise for param 2.
	(reload): Likewise for param 1.

	* caller-save.c (save_call_clobbered_regs): Strengthen local
	"insn" from rtx to rtx_insn *.
	(insert_one_insn): Likewise for local "insn".

	* reload.c (this_insn): Likewise for this global.
	(find_reloads): Likewise for param "insn".
	(find_reloads_toplev): Likewise.
	(find_reloads_address): Likewise.
	(subst_reg_equivs): Likewise.
	(update_auto_inc_notes): Likewise.
	(find_reloads_address_1): Likewise.
	(find_reloads_subreg_address): Likewise.
	(subst_reloads): Likewise.
	(find_equiv_reg): Likewise, also for local "p".
	(regno_clobbered_p): Likewise for param "insn".

	* reload1.c (reg_reloaded_insn): Likewise for the elements of this
	array.
	(spill_reg_store): Likewise for the elements of this array.
	(remove_init_insns): Likewise for local "equiv_insn".
	(will_delete_init_insn_p): Likewise for param "insn".
	(reload): Likewise for param ""first" and local "insn".
	(calculate_needs_all_insns): Strengthen local "insn" from rtx to
	rtx_insn *.
	(calculate_elim_costs_all_insns): Likewise.
	(delete_caller_save_insns): Likewise.
	(spill_failure): Likewise for param "insn".
	(delete_dead_insn): Likewise.
	(set_label_offsets): Likewise.
	(eliminate_regs_in_insn): Likewise, also for locals "base_insn" and
	"prev_insn".
	(elimination_costs_in_insn): Likewise for param "insn".
	(set_initial_eh_label_offset): Replace use of NULL_RTX with NULL
	when referring to an insn.
	(set_initial_label_offsets): Likewise.
	(set_offsets_for_label): Strengthen param "insn" from rtx to
	rtx_insn *.
	(init_eliminable_invariants): Likewise for param "first" and local
	"insn".
	(fixup_eh_region_note): Likewise for param "insn".
	(reload_as_needed): Likewise for locals "prev", "insn",
	"old_next", "old_prev", "next".
	(gen_reload_chain_without_interm_reg_p): Likewise for locals "insn",
	"last".
	(reload_inheritance_insn): Strengthen elements of this array from
	rtx to rtx_insn *.
	(failed_reload): Likewise for param "insn".
	(choose_reload_regs): Likewise for local "insn".  Replace use of
	NULL_RTX with NULL when referring to an insn.
	(input_reload_insns): Strengthen elements of this array from rtx
	to rtx_insn *.
	(other_input_address_reload_insns): Likewise for this global.
	(other_input_reload_insns): Likewise for this global.
	(input_address_reload_insns): Likwise for the elements of this
	array.
	(inpaddr_address_reload_insns): Likwise for the elements of this
	array.
	(output_reload_insns): Likewise for the elements of this array.
	(output_address_reload_insns): Likewise for the elements of this
	array.
	(outaddr_address_reload_insns): Likewise for the elements of this
	array.
	(operand_reload_insns): Likewise for this global.
	(other_operand_reload_insns): Likewise for this global.
	(other_output_reload_insns): Likewise for the elements of this
	array.
	(new_spill_reg_store): Likewise for the elements of this
	array.
	(emit_input_reload_insns): Likewise for locals "insn", "temp".
	Strengthen local "where" from rtx * to rtx_insn **.
	(emit_output_reload_insns): Strengthen locals "insn", "p", "next"
	from rtx to rtx_insn *.
	(do_input_reload): Likewise for local "insn".
	(do_output_reload): Likewise for local "insn".
	(emit_reload_insns): Likewise for locals "insn" and "store_insn".
	(emit_insn_if_valid_for_reload): Likewise for return type and local
	"last".  Add checked cast to rtx_insn when returning "insn" since
	this has been through emit_insn.
	(gen_reload): Strengthen return type and locals "last", "insn", "set"
	from rtx to rtx_insn *.  Add checked cast to rtx_insn when
	returning "insn" since it's been through
	emit_insn_if_valid_for_reload at this point.
	(delete_output_reload): Strengthen param "insn" and locals
	"output_reload_insn", "i2" from rtx to rtx_insn *.
	(delete_address_reloads): Likewise for params "dead_insn",
	"current_insn" and locals "prev", "next".
	(delete_address_reloads_1): Likewise for params "dead_insn",
	"current_insn" and locals "prev", "i2".
	(inc_for_reload): Likewise for locals "last", "add_insn".
	(add_auto_inc_notes): Strengthen param "insn" from rtx to
	rtx_insn *.

	* config/arc/arc-protos.h (regno_clobbered_p): Likewise for 2nd
	param of this duplicate of the prototype from reload.h

From-SVN: r214370
2014-08-22 20:49:31 +00:00
David Malcolm
7839a073c1 regstat.c: Use rtx_insn
gcc/
	* regstat.c (regstat_bb_compute_ri): Strengthen local "insn" from
	rtx to rtx_insn *.
	(regstat_bb_compute_calls_crossed): Likewise.

From-SVN: r214369
2014-08-22 20:44:34 +00:00
David Malcolm
a755f004a9 regrename.c: Use rtx_insn
gcc/
	* regrename.c (create_new_chain): Strengthen param "insn" from rtx
	to rtx_insn *.
	(init_rename_info): Replace use of NULL_RTX with NULL when dealing
	with an insn.
	(regrename_analyze): Strengthen local "insn" from rtx to
	rtx_insn *.
	(scan_rtx_reg): Likewise for param "insn".
	(scan_rtx_address): Likewise.
	(scan_rtx): Likewise.
	(restore_operands): Likewise.
	(record_out_operands): Likewise.
	(build_def_use): Likewise for local "insn".  Replace use of
	NULL_RTX with NULL when dealing with an insn.

From-SVN: r214368
2014-08-22 20:42:50 +00:00
David Malcolm
f695656902 reginfo.c: Use rtx_insn (also touches rtl.h)
gcc/
	* rtl.h (reg_scan): Strengthen param "f" from rtx to rtx_insn *.
	* reginfo.c (reg_scan): Likewise, also for local "insn".
	(reg_scan_mark_refs): Likewise for param "insn".
	(init_subregs_of_mode): Likewise for local "insn".

From-SVN: r214367
2014-08-22 20:19:07 +00:00
David Malcolm
ea8175a4da regcprop.c: Use rtx_insn
gcc/
	* regcprop.c (struct queued_debug_insn_change): Strengthen field
	"insn" from rtx to rtx_insn *.
	(replace_oldest_value_reg): Likewise for param "insn".
	(replace_oldest_value_addr): Likewise.
	(replace_oldest_value_mem): Likewise.
	(apply_debug_insn_changes): Likewise for local "last_insn".
	(copyprop_hardreg_forward_1): Likewise for local "insn".

From-SVN: r214366
2014-08-22 20:17:00 +00:00
David Malcolm
d8aeaba0c3 reg-stack.c: Use rtx_insn
gcc/
	* reg-stack.c (next_flags_user): Strengthen return type and param
	"insn" from rtx to rtx_insn *.
	(straighten_stack): Likewise for param "insn".
	(check_asm_stack_operands): Likewise.
	(remove_regno_note): Likewise.
	(emit_pop_insn): Likewise for return type, param "insn", local
	"pop_insn".
	(emit_swap_insn):  Strengthen param "insn" and locals "i1", "tmp",
	"limit" from rtx to rtx_insn *.
	(swap_to_top): Likewise for param "insn".
	(move_for_stack_reg): Likewise.
	(move_nan_for_stack_reg): Likewise.
	(swap_rtx_condition): Likewise.
	(compare_for_stack_reg): Likewise.
	(subst_all_stack_regs_in_debug_insn): Likewise.
	(subst_stack_regs_pat): Likewise, and local "insn2".
	(subst_asm_stack_regs): Strengthen param "insn" from rtx to
	rtx_insn *.
	(subst_stack_regs): Likewise.
	(change_stack): Likewise.
	(convert_regs_1): Likewise for locals "insn", "next".

From-SVN: r214365
2014-08-22 20:14:19 +00:00
David Malcolm
59a0c0329b ree.c: Use rtx_insn
gcc/
	* ree.c (struct ext_cand): Strengthen field "insn" from rtx to
	rtx_insn *.
	(combine_set_extension): Likewise for param "curr_insn".
	(transform_ifelse): Likewise for param "def_insn".
	(get_defs): Likewise for param "def_insn".  Strengthen param "dest"
	from vec<rtx> * to vec<rtx_insn *> *.
	(is_cond_copy_insn): Likewise for param "insn".
	(struct ext_state): Strengthen the four vec fields from vec<rtx>
	to vec<rtx_insn *>.
	(make_defs_and_copies_lists): Strengthen param "extend_insn" and
	local "def_insn" from rtx to rtx_insn *.
	(get_sub_rtx): Likewise for param "def_insn".
	(merge_def_and_ext): Likewise.
	(combine_reaching_defs): Likewise.
	(add_removable_extension): Likewise for param "insn".
	(find_removable_extensions): Likewise for local "insn".
	(find_and_remove_re): Likewise for locals "curr_insn" and
	"def_insn".  Strengthen locals "reinsn_del_list" and
	"reinsn_del_list" from auto_vec<rtx> to auto_vec<rtx_insn *>.

From-SVN: r214364
2014-08-22 20:11:31 +00:00
David Malcolm
e06ed0c4aa recog.c: Use rtx_insn
gcc/
	* recog.c (split_insn): Strengthen param "insn" and locals
	"first", "last" from rtx to rtx_insn *.
	(split_all_insns): Likewise for locals "insn", "next".
	(split_all_insns_noflow): Likewise.

From-SVN: r214363
2014-08-22 20:09:21 +00:00
David Malcolm
f719babc10 print-rtl.c: Use rtx_insn for various debug_ functions
gcc/
	* rtl.h (debug_rtx_list): Strengthen param 1 "x" from const_rtx to
	const rtx_insn *.
	(debug_rtx_range): Likewise for params 1 and 2 "start" and "end".
	(debug_rtx_find): Likewise for param 1 "x".

	* print-rtl.c (debug_rtx_list): Strengthen param 1 "x" from
	const_rtx to const rtx_insn *.  Likewise for local "insn".
	(debug_rtx_range): Likewise for params 1 and 2 "start" and "end".
	(debug_rtx_find): Likewise for param 1 "x".
	(print_rtl): Likewise for local "tmp_rtx", adding a checked cast
	from const_rtx to const rtx_insn * within the appropriate cases of
	the switch statement.

	* config/rs6000/rs6000.c (rs6000_debug_legitimize_address):
	Strengthen local "insns" from rtx to rtx_insn * since this is
	passed to a call to debug_rtx_list.

From-SVN: r214362
2014-08-22 20:06:25 +00:00
David Malcolm
9f215bf54c predict.*: Use rtx_insn (also touches function.c and config/cris/cris.c)
gcc/
	* predict.h (predict_insn_def): Strengthen param "insn" from rtx
	to rtx_insn *.

	* function.c (stack_protect_epilogue): Add checked cast to
	rtx_insn for now when invoking predict_insn_def.

	* predict.c (predict_insn): Strengthen param "insn" from rtx to
	rtx_insn *.
	(predict_insn_def): Likewise.
	(rtl_predict_edge): Likewise for local "last_insn".
	(can_predict_insn_p): Strengthen param "insn" from const_rtx to
	const rtx_insn *.
	(combine_predictions_for_insn): Strengthen param "insn" from rtx
	to rtx_insn *.
	(bb_estimate_probability_locally): Likewise for local "last_insn".
	(expensive_function_p): Likewise for local "insn".

	* config/cris/cris.c (cris_emit_trap_for_misalignment): Likewise for
	local "jmp", since this is used when invoking predict_insn_def.

From-SVN: r214361
2014-08-22 19:51:23 +00:00
Marek Polacek
59ea036456 re PR c++/62199 (ICE with -Wlogical-not-parentheses)
PR c++/62199
	* doc/invoke.texi: Update -Wlogical-not-parentheses description.
c-family/
	* c-common.c (warn_logical_not_parentheses): Don't check LHS.  Don't
	check for vector types.  Drop LHS argument.
	* c-common.h (warn_logical_not_parentheses): Adjust.
c/
	* c-typeck.c (parser_build_binary_op): Adjust call to
	warn_logical_not_parentheses.
cp/
	* parser.c (cp_parser_binary_expression): Check each LHS if it's
	preceded with logical not.  Adjust call to
	warn_logical_not_parentheses.
testsuite/
	* c-c++-common/pr62199.c: New test.
	* c-c++-common/pr62199-2.c: New test.
	* g++.dg/warn/Wparentheses-25.C: Drop XFAILs.

From-SVN: r214360
2014-08-22 19:44:27 +00:00
Marek Polacek
e0bf0dc2c0 re PR c/61271 (10 * possible coding error with logical not (!))
PR c/61271
	* ira-color.c (coalesced_pseudo_reg_slot_compare): Wrap LHS of
	a comparison in parens.
	* lra-spills.c (pseudo_reg_slot_compare): Wrap LHS of a comparison
	in parens.

From-SVN: r214359
2014-08-22 19:40:28 +00:00
David Malcolm
f90af2e020 postreload.c: Use rtx_insn (also touches rtl.h and cprop.c)
gcc/
	* rtl.h (fis_get_condition): Strengthen param "jump" from rtx to
	rtx_insn *.

	* cprop.c (fis_get_condition): Likewise.

	* postreload.c (reload_cse_regs): Likewise for param "first".
	(reload_cse_simplify): Likewise for param "insn".
	(reload_cse_regs_1): Likewise for local "insn".
	(reload_cse_simplify_set): Likewise for param "insn".
	(reload_cse_simplify_operands): Likewise.
	(struct reg_use): Likewise for field "insn".
	(reload_combine_purge_insn_uses): Likewise for param "insn".
	(fixup_debug_insns): Likewise for params "from", "to" and local
	"insn".
	(try_replace_in_use): Likewise for local "use_insn".
	(reload_combine_recognize_const_pattern): Likewise for param
	"insn" and locals "add_moved_after_insn", "use_insn".
	(reload_combine_recognize_pattern): Likewise for param "insn" and
	local "prev".
	(reload_combine): Likewise for locals "insn", "prev".
	(reload_combine_note_use): Likewise for param "insn".
	(move2add_use_add2_insn): Likewise.
	(move2add_use_add3_insn): Likewise.
	(reload_cse_move2add): Likewise, also for local "next".
	(move2add_note_store): Likewise for local "insn".

From-SVN: r214358
2014-08-22 19:38:50 +00:00
Manuel López-Ibáñez
b65eff4679 re PR c++/57709 (-Wshadow is too strict / has false positives)
gcc/cp/ChangeLog:

2014-08-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c++/57709
	* name-lookup.c (pushdecl_maybe_friend_1): Do not warn if a
	declaration shadows a function declaration, unless the former
	declares a function, pointer to function or pointer to member
	function, because this is a common and valid case in real-world
	code.
	* cp-tree.h (TYPE_PTRFN_P,TYPE_REFFN_P,TYPE_PTRMEMFUNC_P):
	Improve description.

gcc/testsuite/ChangeLog:

2014-08-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c++/57709
	* g++.dg/Wshadow.C: New test.

From-SVN: r214357
2014-08-22 19:12:46 +00:00
David Malcolm
6c6d76bec5 postreload-gcse.c: Use rtx_insn in various places
gcc/
	* postreload-gcse.c (struct occr): Strengthen field "insn" from
	rtx to rtx_insn *.
	(struct unoccr): Likewise.
	(struct modifies_mem): Likewise.
	(alloc_mem): Likewise for local "insn".
	(insert_expr_in_table): Likewise for param "insn".
	(dump_expr_hash_table_entry): Likewise for local "insn".
	(oprs_unchanged_p): Likewise for param "insn".
	(load_killed_in_block_p): Likewise for local "setter".
	(record_last_reg_set_info): Likewise for param "insn".
	(record_last_reg_set_info_regno): Likewise.
	(record_last_mem_set_info): Likewise.
	(record_last_set_info): Likewise for local "last_set_insn".
	(record_opr_changes): Likewise for param "insn".
	(hash_scan_set): Likewise.
	(compute_hash_table): Likewise for local "insn".
	(get_avail_load_store_reg): Likewise for param "insn".
	(eliminate_partially_redundant_load): Likewise, also for locals
	"avail_insn", "next_pred_bb_end".  Replace use of NULL_RTX with
	RTX for insns.
	(eliminate_partially_redundant_loads): Likewise for local "insn".

From-SVN: r214356
2014-08-22 19:05:50 +00:00
David Malcolm
38295e01e2 optabs.c: Use rtx_insn and rtx_code_label
gcc/
	* optabs.c (expand_doubleword_shift): Strengthen local "insn" from
	rtx to rtx_insn *.
	(expand_binop): Likewise for locals "entry_last", "last", "insns"
	(expand_twoval_unop): Likewise for locals entry_last", "last".
	(expand_twoval_binop): Likewise.
	(expand_twoval_binop_libfunc): Likewise for local "insns".
	(widen_leading): Likewise for local "last".
	(expand_doubleword_clz): Likewise for local "seq".  Strengthen
	locals "hi0_label", "after_label" from rtx to rtx_code_label *.
	(widen_bswap): Strengthen local "last" from rtx to rtx_insn *.
	(expand_parity): Likewise for locals "last" and "seq".
	(expand_ffs): Likewise for local "seq".  Strengthen local
	"nonzero_label" from rtx to rtx_code_label *.
	(expand_absneg_bit): Strengthen local "insns" from rtx to
	rtx_insn *.
	(expand_unop_direct): Likewise for local "last".
	(expand_unop): Likewise for locals "last", "insns".
	(expand_abs_nojump): Likewise for local "last".
	(expand_abs): Strengthen local "op1" from rtx to rtx_code_label *.
	(expand_one_cmpl_abs_nojump): Strengthen local "last" from rtx to
	rtx_insn *.
	(expand_copysign_absneg): Strengthen local "label" from rtx to
	rtx_code_label *.
	(expand_copysign_bit): Strengthen local "insns" from rtx to
	rtx_insn *.
	(struct no_conflict_data): Likewise for fields "first", "insn".
	(emit_libcall_block_1): Likewise for param "insns" and locals
	"next", "last", "insn".
	(emit_libcall_block): For now, add a checked cast to rtx_insn *
	on "insns" when invoking emit_libcall_block_1.  Ultimately we
	want to strengthen insns itself.
	(prepare_cmp_insn): Strengthen local "last" from rtx to
	rtx_insn *.
	(emit_cmp_and_jump_insn_1): Likewise for local "insn".
	(prepare_float_lib_cmp): Likewise for local "insns".
	(emit_conditional_move): Likewise for local "last".
	(emit_conditional_add): Likewise.
	(have_sub2_insn): Likewise for local "seq".
	(expand_float): Likewise for local "insns".  Strengthen locals
	"label", "neglabel" from rtx to rtx_code_label *.
	(expand_fix): Likewise for locals "last", "insn", "insns" (to
	rtx_insn *) and locals "lab1", "lab2" (to rtx_code_label *).
	(expand_fixed_convert): Likewise for local "insns" (to
	rtx_insn *).
	(expand_sfix_optab): Likewise for local "last".
	(expand_compare_and_swap_loop): Strengthen local "label" from rtx
	to rtx_code_label *.
	(maybe_emit_sync_lock_test_and_set): Strengthen local "last_insn"
	from rtx to rtx_insn *.
	(expand_atomic_fetch_op): Likewise for local "insn".
	(maybe_legitimize_operand_same_code): Likewise for local "last".
	(maybe_legitimize_operands): Likewise.

From-SVN: r214355
2014-08-22 19:03:32 +00:00
David Malcolm
6210ec61d9 modulo-sched.c: Use rtx_insn in various places
gcc/
	* modulo-sched.c (struct ps_reg_move_info): Strengthen field
	"insn" from rtx to rtx_insn *.
	(ps_rtl_insn): Likewise for return type.
	(doloop_register_get): Likewise for params "head", "tail" and
	locals "insn", "first_insn_not_to_check".
	(schedule_reg_move): Likewise for local "this_insn".
	(schedule_reg_moves): Add a checked cast to rtx_insn * to result
	of gen_move_insn for now.
	(reset_sched_times): Strengthen local "insn" from rtx to
	rtx_insn *.
	(permute_partial_schedule): Likewise.
	(duplicate_insns_of_cycles): Likewise for local "u_insn".
	(dump_insn_location): Likewise for param "insn".
	(loop_canon_p): Likewise for local "insn".
	(sms_schedule): Likewise.
	(print_partial_schedule): Likewise.
	(ps_has_conflicts): Likewise.

From-SVN: r214354
2014-08-22 19:00:05 +00:00
Jason Merrill
cea83a3ac8 re PR c++/62129 (internal compiler error: in output_constant, at varasm.c:4755)
PR c++/62129
	* class.c (outermost_open_class): Fix logic.
	* decl.c (complete_vars): Fix logic.

From-SVN: r214353
2014-08-22 14:49:18 -04:00
David Malcolm
52d251b522 get_ebb_head_tail works with rtx_insn
gcc/
	* sched-int.h (get_ebb_head_tail): Strengthen params "headp" and
	"tailp" from rtx * to rtx_insn **.

	* ddg.c (build_intra_loop_deps): Strengthen locals head", "tail"
	from rtx to rtx_insn *.
	* haifa-sched.c (get_ebb_head_tail): Strengthen params "headp" and
	"tailp" from rtx * to rtx_insn **.  Strengthen locals "beg_head",
	"beg_tail", "end_head", "end_tail", "note", "next", "prev" from
	rtx to rtx_insn *.
	* modulo-sched.c (const_iteration_count): Strengthen return type
	and locals "insn", "head", "tail" from rtx to rtx_insn *.  Replace
	use of NULL_RTX with NULL when working with insns.
	(loop_single_full_bb_p): Strengthen locals "head", "tail" from rtx
	to rtx_insn *.
	(sms_schedule): Likewise.
	* sched-rgn.c (init_ready_list): Likewise, also for locals
	"src_head" and "src_next_tail".
	(compute_block_dependences): Likewise.
	(free_block_dependencies): Likewise.
	(debug_rgn_dependencies): Likewise.
	(free_rgn_deps): Likewise.
	(compute_priorities): Likewise.
	(schedule_region): Likewise.
	* sel-sched.c (find_ebb_boundaries): Likewise.

	* config/sh/sh.c (find_insn_regmode_weight): Strengthen locals
	"insn", "next_tail", "head", "tail" from rtx to rtx_insn *.

From-SVN: r214352
2014-08-22 18:47:27 +00:00
Steven Bosscher
f172301ff4 re PR fortran/62135 (ICE with invalid SELECT CASE selector)
fortran/
	PR fortran/62135
	* resolve.c (resolve_select): Fix list traversal in case the
	last element of the CASE list was dropped as unreachable code.

testsuite/
	PR fortran/62135
	* gfortran.dg/pr62135.f90: New test.

From-SVN: r214351
2014-08-22 18:43:50 +00:00
Manuel López-Ibáñez
596e808cf6 c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
gcc/c-family/ChangeLog:

2014-08-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
	(Wmultichar): Likewise.
	(Wdate-time): Use C-family languages instead of Common. Use CPP
	and Var.
	* c-opts.c (c_common_handle_option): Do not handle the above
	options here.
	(sanitize_cpp_opts): Likewise.

gcc/testsuite/ChangeLog:

2014-08-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* g++.dg/warn/wdate-time.C: Remove.
	* gcc.dg/wdate-time.c: Move from here...
	* c-c++-common/wdate-time.c: ... to here.

From-SVN: r214350
2014-08-22 18:39:16 +00:00
David Malcolm
1d4555205a mode-switching.c: Use rtx_insn
gcc/
	* mode-switching.c (struct seginfo): Strengthen field "insn_ptr"
	from rtx to rtx_insn *.
	(new_seginfo): Likewise for param "insn".
	(create_pre_exit): Likewise for locals "last_insn",
	"before_return_copy", "return_copy".
	(optimize_mode_switching): Likewise for locals "insn", "ins_pos",
	"mode_set".

From-SVN: r214349
2014-08-22 18:39:08 +00:00
David Malcolm
cfa434f6d2 lra: use rtx_insn
gcc/
	* lra-int.h (struct lra_insn_recog_data): Strengthen field "insn"
	from rtx to rtx_insn *.
	(lra_push_insn): Likewise for 1st param.
	(lra_push_insn_and_update_insn_regno_info): Likewise.
	(lra_pop_insn): Likewise for return type.
	(lra_invalidate_insn_data): Likewise for 1st param.
	(lra_set_insn_deleted): Likewise.
	(lra_delete_dead_insn): Likewise.
	(lra_process_new_insns): Likewise for first 3 params.
	(lra_set_insn_recog_data): Likewise for 1st param.
	(lra_update_insn_recog_data): Likewise.
	(lra_set_used_insn_alternative): Likewise.
	(lra_invalidate_insn_regno_info): Likewise.
	(lra_update_insn_regno_info): Likewise.
	(lra_former_scratch_operand_p): Likewise.
	(lra_eliminate_regs_1): Likewise.
	(lra_get_insn_recog_data): Likewise.

	* lra-assigns.c (assign_by_spills): Strengthen local "insn" from
	rtx to rtx_insn *.

	* lra-coalesce.c (move_freq_compare_func): Likewise for locals
	"mv1" and "mv2".
	(substitute_within_insn): New.
	(lra_coalesce): Strengthen locals "mv", "insn", "next" from rtx to
	rtx_insn *.  Strengthen sorted_moves from rtx * to rxt_insn **.
	Replace call to "substitute" with call to substitute_within_insn.

	* lra-constraints.c (curr_insn): Strengthen from rtx to
	rtx_insn *.
	(get_equiv_with_elimination): Likewise for param "insn".
	(match_reload): Strengthen params "before" and "after" from rtx *
	to rtx_insn **.
	(emit_spill_move): Likewise for return type.  Add a checked cast
	to rtx_insn * on result of gen_move_insn for now.
	(check_and_process_move): Likewise for local "before".  Replace
	NULL_RTX with NULL when referring to insns.
	(process_addr_reg): Strengthen params "before" and "after" from
	rtx * to rtx_insn **.
	(insert_move_for_subreg): Likewise.
	(simplify_operand_subreg): Strengthen locals "before" and "after"
	from rtx to rtx_insn *.
	(process_address_1): Strengthen params "before" and "after" from
	rtx * to rtx_insn **.  Strengthen locals "insns", "last_insn" from
	rtx to rtx_insn *.
	(process_address): Strengthen params "before" and "after" from
	rtx * to rtx_insn **.
	(emit_inc): Strengthen local "last" from rtx to rtx_insn *.
	(curr_insn_transform): Strengthen locals "before" and "after"
	from rtx to rtx_insn *.  Replace NULL_RTX with NULL when referring
	to insns.
	(loc_equivalence_callback): Update cast of "data", changing
	resulting type from rtx to rtx_insn *.
	(substitute_pseudo_within_insn): New.
	(inherit_reload_reg): Strengthen param "insn" from rtx to
	rtx_insn *; likewise for local "new_insns".  Replace NULL_RTX with
	NULL when referring to insns.  Add a checked cast to rtx_insn *
	when using usage_insn to invoke lra_update_insn_regno_info.
	(split_reg): Strengthen param "insn" from rtx to rtx_insn *;
	likewise for locals "restore", "save".  Add checked casts to
	rtx_insn * when using usage_insn to invoke
	lra_update_insn_regno_info and lra_process_new_insns.  Replace
	NULL_RTX with NULL when referring to insns.
	(split_if_necessary): Strengthen param "insn" from rtx to
	rtx_insn *.
	(update_ebb_live_info): Likewise for params "head", "tail" and local
	"prev_insn".
	(get_last_insertion_point): Likewise for return type and local "insn".
	(get_live_on_other_edges): Likewise for local "last".
	(inherit_in_ebb): Likewise for params "head", "tail" and locals
	"prev_insn", "next_insn", "restore".
	(remove_inheritance_pseudos): Likewise for local "prev_insn".
	(undo_optional_reloads): Likewise for local "insn".

	* lra-eliminations.c (lra_eliminate_regs_1): Likewise for param
	"insn".
	(lra_eliminate_regs): Replace NULL_RTX with NULL when referring to
	insns.
	(eliminate_regs_in_insn): Strengthen param "insn" from rtx to
	rtx_insn *.
	(spill_pseudos): Likewise for local "insn".
	(init_elimination): Likewise.
	(process_insn_for_elimination): Likewise for param "insn".

	* lra-lives.c (curr_insn): Likewise.;

	* lra-spills.c (assign_spill_hard_regs): Likewise for local "insn".
	(remove_pseudos): Likewise for param "insn".
	(spill_pseudos): Likewise for local "insn".
	(lra_final_code_change): Likewise for locals "insn", "curr".

	* lra.c (lra_invalidate_insn_data): Likewise for param "insn".
	(lra_set_insn_deleted): Likewise.
	(lra_delete_dead_insn): Likewise, and for local "prev".
	(new_insn_reg): Likewise for param "insn".
	(lra_set_insn_recog_data): Likewise.
	(lra_update_insn_recog_data): Likewise.
	(lra_set_used_insn_alternative): Likewise.
	(get_insn_freq): Likewise.
	(invalidate_insn_data_regno_info): Likewise.
	(lra_invalidate_insn_regno_info): Likewise.
	(lra_update_insn_regno_info): Likewise.
	(lra_constraint_insn_stack): Strengthen from vec<rtx> to
	vec<rtx_insn *>.
	(lra_push_insn_1): Strengthen param "insn" from rtx to
	rtx_insn *.
	(lra_push_insn): Likewise.
	(lra_push_insn_and_update_insn_regno_info): Likewise.
	(lra_pop_insn): Likewise for return type and local "insn".
	(push_insns): Likewise for params "from", "to", and local "insn".
	(setup_sp_offset): Likewise for params "from", "last" and locals
	"before", "insn".
	(lra_process_new_insns): Likewise for params "insn", "before",
	"after" and local "last".
	(struct sloc): Likewise for field "insn".
	(lra_former_scratch_operand_p): Likewise for param "insn".
	(remove_scratches): Likewise for locals "insn", "last".
	(check_rtl): Likewise for local "insn".
	(add_auto_inc_notes): Likewise for param "insn".
	(update_inc_notes): Likewise for local "insn".
	(lra): Replace NULL_RTX with NULL when referring to insn.

From-SVN: r214348
2014-08-22 18:36:35 +00:00
David Malcolm
e967cc2f9a lower-subreg.c: Use rtx_insn
gcc/
	* lower-subreg.c (simple_move): Strengthen param "insn" from rtx
	to rtx_insn *.
	(resolve_reg_notes): Likewise.
	(resolve_simple_move): Likewise for return type, param "insn", and
	locals "insns", "minsn".
	(resolve_clobber): Strengthen param "insn" from rtx to rtx_insn *.
	(resolve_use): Likewise.
	(resolve_debug): Likewise.
	(find_decomposable_shift_zext): Likewise.
	(resolve_shift_zext): Likewise for return type, param "insn", and
	locals "insns", "in".  Eliminate use of NULL_RTX in favor of NULL.
	(decompose_multiword_subregs): Likewise for local "insn",
	"orig_insn", "decomposed_shift", "end".

From-SVN: r214346
2014-08-22 18:20:08 +00:00
David Malcolm
95ecfb261b loop-unroll.c: Use rtx_insn (also touches basic-block.h)
gcc/
	* basic-block.h (basic_block split_edge_and_insert): Strengthen
	param "insns" from rtx to rtx_insn *.

	* loop-unroll.c (struct iv_to_split): Strengthen field "insn" from
	rtx to rtx_insn *.
	(struct iv_to_split): Likewise.
	(loop_exit_at_end_p): Likewise for local "insn".
	(split_edge_and_insert): Likewise for param "insns".
	(compare_and_jump_seq): Likewise for return type, param "cinsn",
	and locals "seq", "jump".
	(unroll_loop_runtime_iterations): Likewise for locals "init_code",
	"branch_code"; update invocations of compare_and_jump_seq to
	eliminate NULL_RTX in favor of NULL.
	(referenced_in_one_insn_in_loop_p): Strengthen local "insn" from
	rtx to rtx_insn *.
	(reset_debug_uses_in_loop): Likewise.
	(analyze_insn_to_expand_var): Likewise for param "insn".
	(analyze_iv_to_split_insn): Likewise.
	(analyze_insns_in_loop): Likewise for local "insn".
	(insert_base_initialization): Likewise for param
	"insn" and local "seq".
	(split_iv): Likewise for param "insn" and local "seq".
	(expand_var_during_unrolling): Likewise for param "insn".
	(insert_var_expansion_initialization): Likewise for local "seq".
	(combine_var_copies_in_loop_exit): Likewise.
	(combine_var_copies_in_loop_exit): Likewise for locals "seq" and
	"insn".
	(maybe_strip_eq_note_for_split_iv): Likewise for param "insn".
	(apply_opt_in_copies): Likewise for locals "insn", "orig_insn",
	"next".

From-SVN: r214345
2014-08-22 18:15:54 +00:00
David Malcolm
1b20d55a51 loop-iv.c: Use rtx_insn (also touches cfgloop.h and loop-unroll.c)
gcc/
	* cfgloop.h (iv_analyze): Strengthen param 1 "insn" from rtx to
	rtx_insn *.
	(iv_analyze_result): Likewise.
	(iv_analyze_expr): Likewise.
	(biv_p): Likewise.

	* loop-iv.c (iv_get_reaching_def): Strengthen param "insn" and
	local "def_insn" from rtx to rtx_insn *.
	(get_biv_step_1): Likewise for local "insn".
	(iv_analyze_expr): Likewise for param "insn".
	(iv_analyze_def): Likewise for local "insn".
	(iv_analyze_op): Likewise for param "insn".
	(iv_analyze): Likewise.
	(iv_analyze_result): Likewise.
	(biv_p): Likewise.
	(suitable_set_for_replacement): Likewise.
	(simplify_using_initial_values): Likewise for local "insn".
	(iv_number_of_iterations): Likewise for param "insn".
	(check_simple_exit): Add checked cast to rtx_insn when invoking
	iv_number_of_iterations for now (until get_condition is
	strengthened).

	* loop-unroll.c (analyze_iv_to_split_insn): Strengthen param
	"insn" from rtx to rtx_insn *.
	(analyze_insns_in_loop): Likewise for local "insn".

From-SVN: r214344
2014-08-22 18:12:28 +00:00
David Malcolm
89bfd6f5c8 loop-invariant.c: Use rtx_insn in various places
gcc/
	* loop-invariant.c (struct use): Strengthen field "insn" from rtx
	to rtx_insn *.
	(struct invariant): Likewise.
	(hash_invariant_expr_1): Likewise for param "insn".
	(invariant_expr_equal_p): Likewise for param "insn1", "insn2".
	(find_exits): Likewise for local "insn".
	(create_new_invariant): Likewise for param "insn".
	(check_dependencies): Likewise.
	(find_invariant_insn): Likewise.
	(record_uses): Likewise.
	(find_invariants_insn): Likewise.
	(find_invariants_bb): Likewise for local "insn".
	(get_pressure_class_and_nregs): Likewise for param "insn".
	(calculate_loop_reg_pressure): Likewise for local "insn".

From-SVN: r214343
2014-08-22 18:08:51 +00:00