1. 21 Aug, 2014 36 commits
    • cfgrtl.c: Use rtx subclasses · 8879d71c
      gcc/
      2014-08-21  David Malcolm  <dmalcolm@redhat.com>
      
      	* cfgrtl.c (can_delete_note_p): Require a const rtx_note * rather
      	than a const_rtx.
      	(can_delete_label_p): Require a const rtx_code_label * rather than
      	a const_rtx.
      	(delete_insn): Add checked cast to rtx_code_label * when we know
      	we're dealing with LABEL_P (insn).  Strengthen local "bb_note" from
      	rtx to rtx_insn *.
      	(delete_insn_chain): Strengthen locals "prev" and "current" from
      	rtx to rtx_insn *.  Add a checked cast when assigning from
      	"finish" (strengthening the params will come later).  Add a
      	checked cast to rtx_note * in region where we know
      	NOTE_P (current).
      	(rtl_delete_block): Strengthen locals "insn" and "end" from rtx to
      	rtx_insn *.
      	(compute_bb_for_insn): Likewise.
      	(free_bb_for_insn): Likewise for local "insn".
      	(compute_bb_for_insn): Likewise.
      	(update_bb_for_insn_chain): Strengthen params "begin", "end" and
      	local "insn" from rtx to rtx_insn *
      	(flow_active_insn_p): Require a const rtx_insn * rather than a
      	const_rtx.
      	(contains_no_active_insn_p): Strengthen local "insn" from rtx to
      	rtx_insn *.
      	(can_fallthru): Likewise for locals "insn" and "insn2".
      	(bb_note): Likewise for local "note".
      	(first_insn_after_basic_block_note): Likewise for local "note" and
      	for return type.
      	(rtl_split_block): Likewise for locals "insn" and "next".
      	(unique_locus_on_edge_between_p): Likewise for locals "insn" and
      	"end".
      	(rtl_merge_blocks): Likewise for locals "b_head", "b_end",
      	"a_end", "del_first", "del_last", "b_debug_start", "b_debug_end",
      	"prev", "tmp".
      	(try_redirect_by_replacing_jump): Likewise for locals "insn" (both of
      	them), "kill_from", "barrier", "new_insn".
      	(patch_jump_insn): Likewise for params "insn", "old_label".
      	(redirect_branch_edge): Likewise for locals "old_label", "insn".
      	(force_nonfallthru_and_redirect): Likewise for locals "insn",
      	"old_label", "new_label".
      	(rtl_tidy_fallthru_edge): Likewise for local "q".
      	(rtl_split_edge): Likewise for locals "before", "last".
      	(commit_one_edge_insertion): Likewise for locals "before",
      	"after", "insns", "tmp", "last", adding a checked cast where
      	currently necessary.
      	(commit_edge_insertions): Likewise.
      	(rtl_dump_bb): Likewise for locals "insn", "last".
      	(print_rtl_with_bb): Likewise for local "x".
      	(rtl_verify_bb_insns): Likewise for local "x".
      	(rtl_verify_bb_pointers): Likewise for local "insn".
      	(rtl_verify_bb_insn_chain): Likewise for locals "x", "last_head",
      	"head", "end".
      	(rtl_verify_fallthru): Likewise for local "insn".
      	(rtl_verify_bb_layout): Likewise for locals "x" and "rtx_first".
      	(purge_dead_edges): Likewise for local "insn".
      	(fixup_abnormal_edges): Likewise for locals "insn", "stop", "next".
      	(skip_insns_after_block): Likewise for return type and for locals
      	"insn", "last_insn", "next_head", "prev".
      	(record_effective_endpoints): Likewise for locals "next_insn",
      	"insn", "end".
      	(fixup_reorder_chain): Likewise for locals "bb_end_insn" and "end".
      	(verify_insn_chain): Likewise for locals "x", "prevx", "nextx".
      	(cfg_layout_can_duplicate_bb_p): Likewise for local "insn".
      	(duplicate_insn_chain): For now, add checked cast from rtx to
      	rtx_insn * when returning insn.
      	(cfg_layout_duplicate_bb): Likewise for local "insn".
      	(cfg_layout_delete_block): Likewise for locals "insn", "next",
      	"prev", "remaints".
      	(cfg_layout_merge_blocks): Likewise for local "insn", "last".
      	(rtl_block_empty_p): Likewise.
      	(rtl_split_block_before_cond_jump): Likewise for locals "insn",
      	"split_point", "last".
      	(rtl_block_ends_with_call_p): Likewise for local "insn".
      	(need_fake_edge_p): Strengthen param "insn" from const_rtx to
      	const rtx_insn *.
      	(rtl_flow_call_edges_add): Strengthen locals "insn", "prev_insn",
      	"split_at_insn" from rtx to rtx_insn *.
      	(rtl_lv_add_condition_to_bb): Likewise for locals "seq", "jump".
      	(rtl_can_remove_branch_p): Strengthen local "insn" from const_rtx
      	to const rtx_insn *.
      	(rtl_account_profile_record): Likewise.
      
      From-SVN: r214295
      David Malcolm committed
    • cfgloopanal.c: Use rtx_insn · 1f75b71e
      gcc/
      2014-08-21  David Malcolm  <dmalcolm@redhat.com>
      
      	* cfgloopanal.c (num_loop_insns): Strengthen local "insn" from
      	rtx to rtx_insn *.
      	(average_num_loop_insns): Likewise.
      	(init_set_costs): Likewise for local "seq".
      	(seq_cost): Likewise for param "seq", from const_rtx to const
      	rtx_insn *.
      
      From-SVN: r214294
      David Malcolm committed
    • cfgloop.c: Use rtx_insn · 9d56eaa2
      gcc/
      2014-08-21  David Malcolm  <dmalcolm@redhat.com>
      
      	* cfgloop.c (loop_exits_from_bb_p): Strengthen local "insn" from
      	rtx to rtx_insn *.
      
      From-SVN: r214293
      David Malcolm committed
    • cfgcleanup.c: Use rtx_insn (also touches basic-block.h and ifcvt.c) · da5477a9
      gcc/
      2014-08-21  David Malcolm  <dmalcolm@redhat.com>
      
      	* basic-block.h (flow_find_cross_jump): Strengthen params 3 and 4
      	"f1" and "f2" from rtx * to rtx_insn **.
      	(flow_find_head_matching_sequence): Likewise.
      
      	* cfgcleanup.c (try_simplify_condjump): Strengthen local
      	"cbranch_insn" from rtx to rtx_insn *.
      	(thread_jump): Likewise for local "insn".
      	(try_forward_edges): Likewise for local "last".
      	(merge_blocks_move_predecessor_nojumps): Likewise for local "barrier".
      	(merge_blocks_move_successor_nojumps): Likewise for locals "barrier",
      	"real_b_end".
      	(can_replace_by): Likewise for params "i1", "i2".
      	(old_insns_match_p): Likewise.
      	(merge_notes): Likewise.
      	(walk_to_nondebug_insn): Likewise for param "i1".
      	(flow_find_cross_jump): Strengthen params "f1" and "f2" from rtx *
      	to rtx_insn **.  Strengthen locals "i1", "i2", "last1", "last2",
      	"afterlast1", "afterlast2" from rtx to rtx_insn *.
      	(flow_find_head_matching_sequence): Strengthen params "f1" and
      	"f2" from rtx * to rtx_insn **.  Strengthen locals "i1", "i2",
      	"last1", "last2", "beforelast1", "beforelast2" from rtx to
      	rtx_insn *.
      	(outgoing_edges_match): Likewise for locals "last1", "last2".
      	(try_crossjump_to_edge): Likewise for local "insn".
      	Replace call to for_each_rtx with for_each_rtx_in_insn.
      
      	(try_crossjump_to_edge): Likewise for locals "newpos1", "newpos2".
      	(try_head_merge_bb): Likewise for locals "e0_last_head_, "jump",
      	"e0_last", "e_last", "head", "curr", "insn".  Strengthen locals
      	"headptr", "currptr", "nextptr" from rtx * to rtx_insn **.
      	(try_optimize_cfg): Strengthen local "last" from rtx to
      	rtx_insn *.
      	(delete_dead_jumptables): Likewise for locals "insn", "next",
      	"label".
      
      	* ifcvt.c (cond_exec_process_if_block): Likewise for locals
      	"rtx then_last_head", "rtx else_last_head", "rtx then_first_tail",
      	"rtx else_first_tail", to reflect the basic-block.h changes above.
      
      From-SVN: r214292
      David Malcolm committed
    • cfgbuild.c: Use rtx_insn · 3bbd5815
      gcc/
      2014-08-21  David Malcolm  <dmalcolm@redhat.com>
      
      	* cfgbuild.c (make_edges): Strengthen local "insn" from rtx to
      	rtx_insn *.
      	(purge_dead_tablejump_edges): Likewise.
      	(find_bb_boundaries): Likewise for locals "insn", "end",
      	"flow_transfer_insn".
      
      From-SVN: r214291
      David Malcolm committed
    • caller-save.c: Use rtx_insn · 44b9179f
      gcc/
      2014-08-21  David Malcolm  <dmalcolm@redhat.com>
      
      	* caller-save.c (save_call_clobbered_regs): Strengthen locals
      	"ins" and "prev" from rtx to rtx_insn *.
      
      From-SVN: r214290
      David Malcolm committed
    • calls.c: Use rtx_insn · 48810515
      gcc/
      2014-08-21  David Malcolm  <dmalcolm@redhat.com>
      
      	* calls.c (emit_call_1): Strengthen local "call_insn" from rtx to
      	rtx_insn *.
      	(internal_arg_pointer_exp_state): Likewise for field "scan_start".
      	(internal_arg_pointer_based_exp_scan): Likewise for locals "insn",
      	"scan_start".
      	(load_register_parameters): Likewise for local "before_arg".
      	(check_sibcall_argument_overlap): Likewise for param "insn".
      	(expand_call): Likewise for locals "normal_call_insns",
      	"tail_call_insns", "insns", "before_call", "after_args",
      	"before_arg", "last", "prev".  Strengthen one of the "last" from
      	rtx to rtx_call_insn *.
      	(fixup_tail_calls): Strengthen local "insn" from rtx to
      	rtx_insn *.
      	(emit_library_call_value_1): Likewise for locals "before_call" and
      	"last".
      
      From-SVN: r214289
      David Malcolm committed
    • builtins.c: strengthen various rtx to rtx_insn * and other subclasses · 58f4cf2a
      gcc/
      2014-08-21  David Malcolm  <dmalcolm@redhat.com>
      
      	* builtins.c (expand_builtin_longjmp): Strengthen locals "insn"
      	and "last" from rtx to rtx_insn *.
      	(expand_builtin_nonlocal_goto): Likewise for local "insn".
      	(expand_builtin_apply): Strengthen local "call_insn" from rtx to
      	rtx_call_insn *.
      	(expand_errno_check): Strengthen local "lab" from rtx to
      	rtx_code_label *.
      	(expand_builtin_mathfn): Strengthen local "insns" from rtx to
      	rtx_insn *.
      	(expand_builtin_mathfn_2): Likewise.
      	(expand_builtin_mathfn_ternary): Likewise.
      	(expand_builtin_mathfn_3): Likewise.
      	(expand_builtin_interclass_mathfn): Likewise for local "last".
      	(expand_builtin_int_roundingfn): Likewise for local "insns".
      	(expand_builtin_int_roundingfn_2): Likewise.
      	(expand_builtin_strlen): Likewise for local "before_strlen".
      	(expand_builtin_strncmp): Likewise for local "seq".
      	(expand_builtin_signbit): Likewise for local "last".
      	(expand_builtin_atomic_compare_exchange): Strengthen local "label"
      	from rtx to rtx_code_label *.
      	(expand_stack_restore):  Strengthen local "prev" from rtx to
      	rtx_insn *.
      
      From-SVN: r214288
      David Malcolm committed
    • bt-load.c: Use rtx_insn · fd6657fb
      gcc/
      2014-08-21  David Malcolm  <dmalcolm@redhat.com>
      
      	* bt-load.c (struct btr_user_s): Strengthen field "insn" from rtx
      	to rtx_insn *.
      	(struct btr_def_s): Likewise.
      	(insn_sets_btr_p): Strengthen param "insn" from const_rtx to
      	const rtx_insn *.
      	(add_btr_def): Likewise.
      	(new_btr_user): Likewise.
      	(compute_defs_uses_and_gen): Strengthen locals "insn", "last" from
      	rtx to rtx_insn *.
      	(link_btr_uses): Likewise.
      	(move_btr_def): Likewise for locals "insp", "old_insn",
      	"new_insn".  Add checked cast to rtx_insn * for now on result of
      	gen_move_insn.
      	(can_move_up): Strengthen param "insn" from const_rtx to
      	const rtx_insn *.
      
      From-SVN: r214287
      David Malcolm committed
    • bb-reorder.c: Use rtx_insn · e93768e4
      gcc/
      2014-08-21  David Malcolm  <dmalcolm@redhat.com>
      
      	* bb-reorder.c (copy_bb_p): Strengthen local "insn" from rtx to
      	rtx_insn *.
      	(get_uncond_jump_length): Likewise for locals "label", "jump".
      	(fix_up_crossing_landing_pad): Likewise for locals "new_label",
      	"jump", "insn".
      	(add_labels_and_missing_jumps): Likewise for local "new_jump".
      	(fix_up_fall_thru_edges): Likewise for local "old_jump".
      	(find_jump_block): Likewise for local "insn".
      	(fix_crossing_conditional_branches): Likewise for locals
      	"old_jump", "new_jump".
      	(fix_crossing_unconditional_branches): Likewise for locals
      	"last_insn", "indirect_jump_sequence", "jump_insn", "cur_insn".
      	(pass_duplicate_computed_gotos::execute): Likewise for local "insn".
      
      From-SVN: r214286
      David Malcolm committed
    • auto-inc-dec.c: strengthen various rtx to rtx_insn * · 3dfa938f
      gcc/
      2014-08-21  David Malcolm  <dmalcolm@redhat.com>
      
      	* auto-inc-dec.c (struct inc_insn): Strengthen field "insn" from
      	rtx to rtx_insn *.
      	(struct mem_insn): Likewise for field "insn".
      	(reg_next_use): Strengthen from rtx * to rtx_insn **.
      	(reg_next_inc_use): Likewise.
      	(reg_next_def): Likewise.
      	(move_dead_notes): Strengthen params "to_insn" and "from_insn"
      	from rtx to rtx_insn *.
      	(move_insn_before): Likewise for param "next_insn" and local "insns".
      	(attempt_change): Likewise for local "mov_insn".
      	(try_merge): Likewise for param "last_insn".
      	(get_next_ref): Likewise for return type and local "insn".
      	Strengthen param "next_array" from rtx * to rtx_insn **.
      	(parse_add_or_inc): Strengthen param "insn" from rtx to
      	rtx_insn *.
      	(find_inc): Likewise for locals "insn" and "other_insn" (three of
      	the latter).
      	(merge_in_block): Likewise for locals "insn", "curr",
      	"other_insn".
      	(pass_inc_dec::execute): Update allocations of the arrays to
      	reflect the stronger types.
      
      From-SVN: r214285
      David Malcolm committed
    • asan.c: strengthen some rtx locals · 3a965f61
      gcc/
      2014-08-21  David Malcolm  <dmalcolm@redhat.com>
      
      	* asan.c (asan_clear_shadow): Strengthen locals "insn", "insns"
      	and "jump" from rtx to rtx_insn *.  Strengthen local "top_label"
      	from rtx to rtx_code_label *.
      
      From-SVN: r214284
      David Malcolm committed
    • alias.c: Use rtx_insn · d36a28b8
      gcc/
      2014-08-21  David Malcolm  <dmalcolm@redhat.com>
      
      	* alias.c (init_alias_analysis): Strengthen local "insn" from rtx
      	to rtx_insn *.
      
      From-SVN: r214283
      David Malcolm committed
    • re PR fortran/62214 (Problem with spread plus concatenation for characters) · dc2c36fd
      2014-08-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/62214
      	* frontend-passes.c (optimize_binop_array_assignment):
      	Do not try to optimize the array assignment for string
      	concatenation.
      
      2014-08-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/62214
      	* gfortran.dg/array_assignment_5.f90:  New test.
      
      From-SVN: r214281
      Thomas Koenig committed
    • rs6000.c (print_operand, 'y' case): Fix code that generated a warning and… · 4e502930
      rs6000.c (print_operand, 'y' case): Fix code that generated a warning and prevented bootstrapping the compiler.
      
      2014-08-21  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* config/rs6000/rs6000.c (print_operand, 'y' case): Fix code that
      	generated a warning and prevented bootstrapping the compiler.
      
      From-SVN: r214280
      Michael Meissner committed
    • PHASE 2: Per-file commits in main source directory · 00550b3d
      /
      2014-08-21  David Malcolm  <dmalcolm@redhat.com>
      
      	* rtx-classes-status.txt: Phase 1 ("scaffolding") is done; begin
      	phase 2 (per-file commits in main source dir).
      
      From-SVN: r214276
      David Malcolm committed
    • delete_related_insns returns an rtx_insn · bba2490b
      2014-08-21  David Malcolm  <dmalcolm@redhat.com>
      
      	* rtl.h (delete_related_insns): Strengthen return type from rtx to
      	rtx_insn *.
      
      	* jump.c (delete_related_insns): Likewise, also for locals "next"
      	and "prev".
      
      From-SVN: r214275
      David Malcolm committed
    • 2014-08-21 Sandra Loosemore <sandra@codesourcery.com> · 27d7f41e
      	gcc/testsuite/
      	* lib/target-supports.exp
      	(check_effective_target_logical_op_short_circuit): Add nios2.
      	* gcc.dg/tree-ssa/reassoc-33.c: Skip for nios2.
      	* gcc.dg/tree-ssa/reassoc-34.c: Likewise.
      	* gcc.dg/tree-ssa/reassoc-35.c: Likewise.
      	* gcc.dg/tree-ssa/reassoc-36.c: Likewise.
      	* gcc.dg/tree-ssa/interposition.c: Require fpic effective target
      	for test using -fPIC.
      	* gcc.dg/lto/pr61526_0.c: Likewise.
      
      From-SVN: r214274
      Sandra Loosemore committed
    • define_bypass guard functions take a pair of rtx_insn · a36e5877
      2014-08-21  David Malcolm  <dmalcolm@redhat.com>
      
      	* genautomata.c (output_internal_insn_latency_func): When writing
      	the function "internal_insn_latency" to insn-automata.c,
      	strengthen params "insn" and "insn2" from rtx to rtx_insn *, thus
      	allowing the optional guard function of (define_bypass) clauses to
      	expect a pair of rtx_insn *, rather than a pair of rtx.
      	(output_insn_latency_func): When writing the function
      	"insn_latency", add an "uncast_" prefix to params "insn" and
      	"insn2", reintroducing "insn" and "insn2" as rtx_insn * locals
      	using checked casts from the params, thus enabling the above
      	change to the generated "internal_insn_latency" function.
      
      From-SVN: r214273
      David Malcolm committed
    • re PR tree-optimization/62091 (ice in before_dom_children) · a336b719
      
      	PR tree-optimization/62091
      	* g++.dg/ipa/devirt-37.C: Update template.
      	* g++.dg/ipa/devirt-40.C: New testcase.
      	* ipa-devirt.c (ipa_polymorphic_call_context::restrict_to_inner_type):
      	handle correctly arrays.
      	(extr_type_from_vtbl_ptr_store): Add debug output; handle multiple
      	inheritance binfos.
      	(record_known_type): Walk into inner type.
      	(ipa_polymorphic_call_context::get_dynamic_type): Likewise; strenghten
      	condition on no type changes.
      
      From-SVN: r214271
      Jan Hubicka committed
    • Pass "insn" as an rtx_insn within generated get_attr_ fns in insn-attrtab.c · 2903befb
      2014-08-21  David Malcolm  <dmalcolm@redhat.com>
      
      	* genattrtab.c (write_attr_get): Within the generated get_attr_
      	functions, rename param "insn" to "uncast_insn" and reintroduce
      	"insn" as an local rtx_insn * using a checked cast, so that "insn"
      	is an rtx_insn * within insn-attrtab.c
      
      From-SVN: r214265
      David Malcolm committed
    • peephole returns an rtx_insn · 579f75ae
      2014-08-21  David Malcolm  <dmalcolm@redhat.com>
      
      	* output.h (peephole): Strengthen return type from rtx to
      	rtx_insn *.
      	* rtl.h (delete_for_peephole): Likewise for both params.
      	* genpeep.c (main): In generated "peephole" function, strengthen
      	return type and local "insn" from rtx to rtx_insn *.  For now,
      	rename param "ins1" to "uncast_ins1", adding "ins1" back as an
      	rtx_insn *, with a checked cast.
      	* jump.c (delete_for_peephole): Strengthen params "from", "to" and
      	locals "insn", "next", "prev" from rtx to rtx_insn *.
      
      From-SVN: r214264
      David Malcolm committed
    • configure: Regenerated. · 622dbadf
      
      	* configure: Regenerated.
      
      	config/ChangeLog
      	* isl.m4 (ISL_CHECK_VERSION): Check link of isl library
      	for cross_compiling.
      
      From-SVN: r214263
      Bin Cheng committed
    • re PR tree-optimization/62112 (Optimize out malloc when block is unused or write-only) · 8cb65b37
      2014-08-21  Marc Glisse  <marc.glisse@inria.fr>
      
      	PR tree-optimization/62112
      gcc/
      	* gimple-iterator.c (gsi_replace): Return whether EH cleanup is needed.
      	* gimple-iterator.h (gsi_replace): Return bool.
      	* tree-ssa-alias.c (ref_may_alias_global_p_1): New helper, code
      	moved from ref_may_alias_global_p.
      	(ref_may_alias_global_p, refs_may_alias_p, ref_maybe_used_by_stmt_p):
      	New overloads.
      	(ref_maybe_used_by_call_p): Take ao_ref* instead of tree.
      	(stmt_kills_ref_p_1): Rename...
      	(stmt_kills_ref_p): ... to this.
      	* tree-ssa-alias.h (ref_may_alias_global_p, ref_maybe_used_by_stmt_p,
      	stmt_kills_ref_p): Declare.
      	* tree-ssa-dse.c (dse_possible_dead_store_p): New argument, use it.
      	Move the self-assignment case...
      	(dse_optimize_stmt): ... here. Handle builtin calls. Remove dead code.
      gcc/testsuite/
      	* gcc.dg/tree-ssa/pr62112-1.c: New file.
      	* gcc.dg/tree-ssa/pr62112-2.c: Likewise.
      	* gcc.c-torture/execute/pr35472.c: Add noclone attribute.
      	* gcc.c-torture/execute/20071219-1.c: Likewise.
      
      From-SVN: r214262
      Marc Glisse committed
    • 62154.cc: Disable when the target doesn't provide atomic builtins. · 31879c2c
      2014-08-21  Tony Wang  <tony.wang@arm.com>
      
          libstdc++-v3/
          * testsuite/18_support/nested_exception/62154.cc: Disable when the
          target doesn't provide atomic builtins.
      
      From-SVN: r214261
      Tony Wang committed
    • try_split returns an rtx_insn · 53f04688
      2014-08-21  David Malcolm  <dmalcolm@redhat.com>
      
      	* rtl.h (try_split): Strengthen return type from rtx to rtx_insn *.
      
      	* emit-rtl.c (try_split): Likewise, also for locals "before" and
      	"after".  For now, don't strengthen param "trial", which requires
      	adding checked casts when returning it.
      
      From-SVN: r214260
      David Malcolm committed
    • Debug hooks: use rtx_insn and rtx_code_label · f630fc6a
      2014-08-21  David Malcolm  <dmalcolm@redhat.com>
      
      	* debug.h (struct gcc_debug_hooks): Strengthen param 1 of hook
      	"label" from rtx to rtx_code_label *.  Strengthen param 1 of
      	"var_location" hook from rtx to rtx_insn *.
      	(debug_nothing_rtx): Delete in favor of...
      	(debug_nothing_rtx_code_label): New prototype.
      	(debug_nothing_rtx_rtx): Delete unused prototype.
      	(debug_nothing_rtx_insn): New prototype.
      
      	* final.c (final_scan_insn): Add checked cast to rtx_insn * when
      	invoking debug_hooks->var_location (in two places, one in a NOTE
      	case of a switch statement, the other guarded by a CALL_P
      	conditional.  Add checked cast to rtx_code_label * when invoking
      	debug_hooks->label (within CODE_LABEL case of switch statement).
      
      	* dbxout.c (dbx_debug_hooks): Update "label" hook from
      	debug_nothing_rtx to debug_nothing_rtx_code_label.  Update
      	"var_location" from debug_nothing_rtx to debug_nothing_rtx_insn.
      	(xcoff_debug_hooks): Likewise.
      	* debug.c (do_nothing_debug_hooks): Likewise.
      	(debug_nothing_rtx): Delete in favor of...
      	(debug_nothing_rtx_insn): New function.
      	(debug_nothing_rtx_rtx): Delete unused function.
      	(debug_nothing_rtx_code_label): New function.
      	* dwarf2out.c (dwarf2_debug_hooks): Update "label" hook from
      	debug_nothing_rtx to debug_nothing_rtx_code_label.
      	(dwarf2out_var_location): Strengthen param "loc_note" from rtx
      	to rtx_insn *.
      	* sdbout.c (sdb_debug_hooks): Update "var_location" hook from
      	debug_nothing_rtx to debug_nothing_rtx_insn.
      	(sdbout_label): Strengthen param "insn" from rtx to
      	rtx_code_label *.
      	* vmsdbgout.c (vmsdbg_debug_hooks): Update "label" hook from
      	debug_nothing_rtx to debug_nothing_rtx_code_label.  Update
      	"var_location" hook from debug_nothing_rtx to
      	debug_nothing_rtx_insn.
      
      From-SVN: r214259
      David Malcolm committed
    • Use rtx_insn internally within generated functions · 95770ca3
      2014-08-21  David Malcolm  <dmalcolm@redhat.com>
      
      	* recog.h (insn_output_fn): Update this function typedef to match
      	the changes below to the generated output functions, strengthening
      	the 2nd param from rtx to rtx_insn *.
      
      	* final.c (get_insn_template): Add a checked cast to rtx_insn * on
      	insn when invoking an output function, to match the new signature
      	of insn_output_fn with a stronger second param.
      
      	* genconditions.c (write_header): In the generated code for
      	gencondmd.c, strengthen the global "insn" from rtx to rtx_insn *
      	to match the other changes in this patch.
      
      	* genemit.c (gen_split): Strengthen the 1st param "curr_insn" of
      	the generated "gen_" functions from rtx to rtx_insn * within their
      	implementations.
      
      	* genrecog.c (write_subroutine): Strengthen the 2nd param "insn" of
      	the subfunctions within the generated "recog_", "split", "peephole2"
      	function trees from rtx to rtx_insn *.  For now, the top-level
      	generated functions ("recog", "split", "peephole2") continue to
      	take a plain rtx for "insn", to avoid introducing dependencies on
      	other patches.  Rename this 2nd param from "insn" to
      	"uncast_insn", and reintroduce "insn" as a local variable of type
      	rtx_insn *, initialized at the top of the generated function with
      	a checked cast on "uncast_insn".
      	(make_insn_sequence): Strengthen the 1st param "curr_insn" of
      	the generated "gen_" functions from rtx to rtx_insn * within their
      	prototypes.
      
      	* genoutput.c (process_template): Strengthen the 2nd param within
      	the generated "output_" functions "insn" from rtx to rtx_insn *.
      
      From-SVN: r214257
      David Malcolm committed
    • tree-profile.c (tree_profiling): Skip external functions when doing coverage instrumentation. · 07db0f9b
      
      	* tree-profile.c (tree_profiling): Skip external functions
      	when doing coverage instrumentation.
      	* cgraphunit.c (compile): Do not assert that all nodes are reachable.
      
      	* gcc.dg/ipa/ctor-empty-1.c: Update template.
      
      From-SVN: r214256
      Jan Hubicka committed
    • altivec.h (vec_cpsgn): New #define. · 65fa79c3
      [gcc]
      
      2014-08-20  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* config/rs6000/altivec.h (vec_cpsgn): New #define.
      	(vec_mergee): Likewise.
      	(vec_mergeo): Likewise.
      	(vec_cntlz): Likewise.
      	* config/rs600/rs6000-c.c (altivec_overloaded_builtins): Add new
      	entries for VEC_AND, VEC_ANDC, VEC_MERGEH, VEC_MERGEL, VEC_NOR,
      	VEC_OR, VEC_PACKSU, VEC_XOR, VEC_PERM, VEC_SEL, VEC_VCMPGT_P,
      	VMRGEW, and VMRGOW.
      	* doc/extend.texi: Document various forms of vec_cpsgn,
      	vec_splats, vec_and, vec_andc, vec_mergeh, vec_mergel, vec_nor,
      	vec_or, vec_perm, vec_sel, vec_sub, vec_xor, vec_all_eq,
      	vec_all_ge, vec_all_gt, vec_all_le, vec_all_lt, vec_all_ne,
      	vec_any_eq, vec_any_ge, vec_any_gt, vec_any_le, vec_any_lt,
      	vec_any_ne, vec_mergee, vec_mergeo, vec_packsu, and vec_cntlz.
      
      [gcc/testsuite]
      
      2014-08-20  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* testsuite/gcc.target/powerpc/builtins-1.c: New test.
      
      From-SVN: r214255
      Bill Schmidt committed
    • rs6000.c (context.h): New include. · 6fa6eb35
      [gcc]
      
      2014-08-20  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* config/rs6000/rs6000.c (context.h): New include.
      	(tree-pass.h): Likewise.
      	(make_pass_analyze_swaps): New decl.
      	(rs6000_option_override): Register pass_analyze_swaps.
      	(swap_web_entry): New subsclass of web_entry_base (df.h).
      	(special_handling_values): New enum.
      	(union_defs): New function.
      	(union_uses): Likewise.
      	(insn_is_load_p): Likewise.
      	(insn_is_store_p): Likewise.
      	(insn_is_swap_p): Likewise.
      	(rtx_is_swappable_p): Likewise.
      	(insn_is_swappable_p): Likewise.
      	(chain_purpose): New enum.
      	(chain_contains_only_swaps): New function.
      	(mark_swaps_for_removal): Likewise.
      	(swap_const_vector_halves): Likewise.
      	(adjust_subreg_index): Likewise.
      	(permute_load): Likewise.
      	(permute_store): Likewise.
      	(handle_special_swappables): Likewise.
      	(replace_swap_with_copy): Likewise.
      	(dump_swap_insn_table): Likewise.
      	(rs6000_analyze_swaps): Likewise.
      	(pass_data_analyze_swaps): New pass_data.
      	(pass_analyze_swaps): New rtl_opt_pass.
      	(make_pass_analyze_swaps): New function.
      	* config/rs6000/rs6000.opt (moptimize-swaps): New option.
      
      [gcc/testsuite]
      
      2014-08-20  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* gcc.target/powerpc/swaps-p8-1.c: New test.
      	* gcc.target/powerpc/swaps-p8-2.c: New test.
      	* gcc.target/powerpc/swaps-p8-3.c: New test.
      	* gcc.target/powerpc/swaps-p8-4.c: New test.
      	* gcc.target/powerpc/swaps-p8-5.c: New test.
      	* gcc.target/powerpc/swaps-p8-6.c: New test.
      	* gcc.target/powerpc/swaps-p8-7.c: New test.
      	* gcc.target/powerpc/swaps-p8-8.c: New test.
      	* gcc.target/powerpc/swaps-p8-9.c: New test.
      	* gcc.target/powerpc/swaps-p8-10.c: New test.
      	* gcc.target/powerpc/swaps-p8-11.c: New test.
      	* gcc.target/powerpc/swaps-p8-12.c: New test.
      
      From-SVN: r214254
      Bill Schmidt committed
    • create_insn_rtx_from_pattern and create_copy_of_insn_rtx return rtx_insn · 9c068b73
      2014-08-21  David Malcolm  <dmalcolm@redhat.com>
      
      	* sel-sched-ir.h (create_insn_rtx_from_pattern): Strengthen return
      	type from rtx to rtx_insn *.
      	(create_copy_of_insn_rtx): Likewise.
      	* sel-sched-ir.c (create_insn_rtx_from_pattern): Likewise.
      	(create_copy_of_insn_rtx): Likewise, also for local "res".
      
      From-SVN: r214253
      David Malcolm committed
    • find_first_parameter_load returns an rtx_insn · 62fc98cc
      2014-08-21  David Malcolm  <dmalcolm@redhat.com>
      
      	* rtl.h (find_first_parameter_load): Strengthen return type from
      	rtx to rtx_insn *.
      	* rtlanal.c (find_first_parameter_load): Strengthen return type
      	from rtx to rtx_insn *.  Add checked cast for now, to postpone
      	strengthening the params.
      
      From-SVN: r214252
      David Malcolm committed
    • re PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$… · fbecdc83
      re PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$ diagnostic (pragmas) and color)
      
      gcc/ChangeLog:
      
      2014-08-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR fortran/44054
      	* diagnostic.c: Set default caret.
      	(diagnostic_show_locus): Use it. Tell pretty-printer that a new
      	line is needed.
      	* diagnostic.h (struct diagnostic_context):
      
      
      gcc/fortran/ChangeLog:
      
      2014-08-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR fortran/44054
      	* error.c (gfc_diagnostic_build_locus_prefix): New function.
      	(gfc_diagnostic_starter): Follow Fortran FE diagnostics.
      	(gfc_diagnostic_finalizer): Do not call default finalizer.
      
      From-SVN: r214251
      Manuel López-Ibáñez committed
    • Daily bump. · ecda22b2
      From-SVN: r214250
      GCC Administrator committed
    • sel_bb_{head|end} return rtx_insn · c5db5458
      2014-08-21  David Malcolm  <dmalcolm@redhat.com>
      
      	* sel-sched-ir.h (exit_insn): Strengthen from rtx to rtx_insn *.
      	(sel_bb_head): Strengthen return type insn_t (currently just an
      	rtx) to rtx_insn *.
      	(sel_bb_end): Likewise.
      
      	* sel-sched-ir.c (exit_insn): Strengthen from rtx to rtx_insn *.
      	(sel_bb_head): Strengthen return type and local "head" from
      	insn_t (currently just an rtx) to rtx_insn *.
      	(sel_bb_end): Likewise for return type.
      	(free_nop_and_exit_insns): Replace use of NULL_RTX with NULL when
      	working with insn.
      
      From-SVN: r214247
      David Malcolm committed
  2. 20 Aug, 2014 4 commits
    • get_last_bb_insn returns an rtx_insn · 636eb204
      2014-08-21  David Malcolm  <dmalcolm@redhat.com>
      
      	* basic-block.h (get_last_bb_insn): Strengthen return type from
      	rtx to rtx_insn *.
      	* cfgrtl.c (get_last_bb_insn): Likewise, and for locals "tmp" and
      	end".
      
      From-SVN: r214246
      David Malcolm committed
    • re PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$… · 18767f65
      re PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$ diagnostic (pragmas) and color)
      
      gcc/ChangeLog:
      
      2014-08-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR fortran/44054
      	* diagnostic.c (default_diagnostic_finalizer): Move caret printing
      	 to here ...
      	(diagnostic_report_diagnostic): ... from here.
      	* toplev.c (general_init): Move code to c-family.
      
      gcc/cp/ChangeLog:
      
      2014-08-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR fortran/44054
      	* error.c (cp_diagnostic_finalizer): Delete.
      	(init_error): Do not set diagnostic_finalizer here.
      
      gcc/c-family/ChangeLog:
      
      2014-08-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR fortran/44054
      	* c-opts.c: Include tree-diagnostics.h.
      	(c_diagnostic_finalizer): New.
      	(c_common_initialize_diagnostics): Use it.
      
      gcc/fortran/ChangeLog:
      
      2014-08-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR fortran/44054
      	* error.c (gfc_diagnostic_finalizer): Call default finalizer.
      
      From-SVN: r214245
      Manuel López-Ibáñez committed
    • df.h (web_entry_base): Replace existing struct web_entry with a new class… · 22e6bd6f
      df.h (web_entry_base): Replace existing struct web_entry with a new class web_entry_base with only the...
      
      2014-08-20  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* df.h (web_entry_base): Replace existing struct web_entry with a
      	new class web_entry_base with only the predecessor member.
      	(unionfind_root): Remove declaration and move to class member.
      	(unionfind_union): Remove declaration and move to friend
      	function.
      	(union_defs): Remove declaration.
      	* web.c (web_entry_base::unionfind_root): Modify to be member
      	function and adjust accessors.
      	(unionfind_union): Modify to be friend function and adjust
      	accessors.
      	(web_entry): New subclass of web_entry_base containing the reg
      	member.
      	(union_match_dups): Modify for struct -> class changes.
      	(union_defs): Likewise.
      	(entry_register): Likewise.
      	(pass_web::execute): Likewise.
      
      From-SVN: r214242
      Bill Schmidt committed
    • * g++.dg/ipa/devirt-37.C: Fix testcase. · cffe22c5
      From-SVN: r214240
      Jan Hubicka committed