1. 21 Aug, 2014 11 commits
    • 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 22 commits
  3. 19 Aug, 2014 7 commits
    • re PR preprocessor/51303 (-Wmissing-include-dirs warnings reported as [enabled by default]) · b4413594
      gcc/ChangeLog:
      
      2014-08-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR preprocessor/51303
      	* incpath.c (remove_duplicates): Use cpp_warning.
      
      gcc/c-family/ChangeLog:
      
      2014-08-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR preprocessor/51303
      	* c-common.c (struct reason_option_codes_t option_codes):
      	Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
      
      gcc/testsuite/ChangeLog:
      
      2014-08-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR preprocessor/51303
      	* gcc.dg/cpp/Wmissingdirs.c: Test for the warning option.
      
      From-SVN: r214201
      Manuel López-Ibáñez committed
    • re PR preprocessor/60975 (-Wvariadic-macros does not print warning) · 43f9a13c
      gcc/ChangeLog:
      
      2014-08-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR c/60975
      	PR c/53063
      	* doc/options.texi (CPP): Document it.
      	* doc/invoke.texi (Wvariadic-macros): Fix documentation.
      	* optc-gen.awk: Handle CPP.
      	* opth-gen.awk: Likewise.
      
      gcc/c-family/ChangeLog:
      
      2014-08-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR c/60975
      	PR c/53063
      	* c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
      	* c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
      	(c_common_post_options): Call init_global_opts_from_cpp.
      	(sanitize_cpp_opts): Do not handle Wvariadic-macros here.
      
      gcc/testsuite/ChangeLog:
      
      2014-08-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR c/60975
      	PR c/53063
      	* gcc.dg/cpp/Wvariadic-1p.c: New test.
      
      From-SVN: r214200
      Manuel López-Ibáñez committed
    • * lib/target-supports.exp · cd0059f5
      	(check_effective_target_arm_v8_neon_ok_nocache): Add
      	"-march-armv8-a" to compile flags.
      
      From-SVN: r214198
      Janis Johnson committed
    • Return types of unlink_insn_chain and duplicate_insn_chain · a90c614a
      2014-08-19  David Malcolm  <dmalcolm@redhat.com>
      
      	* rtl.h (unlink_insn_chain): Strengthen return type from rtx to
      	rtx_insn *.
      	(duplicate_insn_chain): Likewise.
      	* cfgrtl.c (unlink_insn_chain): Strengthen return type from rtx to
      	rtx_insn *, also for locals "prevfirst" and "nextlast".  Add a
      	checked cast for now (until we can strengthen the params in the
      	same way).
      	(duplicate_insn_chain): Likewise.
      
      From-SVN: r214197
      David Malcolm committed
    • next_cc0_user and prev_cc0_setter scaffolding · 75b46023
      2014-08-19  David Malcolm  <dmalcolm@redhat.com>
      
      	* rtl.h (next_cc0_user): Strengthen return type from rtx to
      	rtx_insn *.
      	(prev_cc0_setter): Likewise.
      
      	* emit-rtl.c (next_cc0_user): Strengthen return type from rtx to
      	rtx_insn *, adding checked casts for now as necessary.
      	(prev_cc0_setter): Likewise.
      
      From-SVN: r214196
      David Malcolm committed
    • emit_move et al return rtx_insn * · f3222b79
      2014-08-19  David Malcolm  <dmalcolm@redhat.com>
      
      	* expr.h (emit_move_insn): Strengthen return type from rtx to
      	rtx_insn *.
      	(emit_move_insn_1): Likewise.
      	(emit_move_complex_push): Likewise.
      	(emit_move_complex_parts): Likewise.
      
      	* expr.c (emit_move_via_integer): Strengthen return type from rtx
      	to rtx_insn *.  Replace use of NULL_RTX with NULL when working
      	with insns.
      	(emit_move_complex_push): Strengthen return type from rtx to
      	rtx_insn *.
      	(emit_move_complex): Likewise, also for local "ret".
      	(emit_move_ccmode): Likewise.
      	(emit_move_multi_word): Likewise for return type and locals
      	"last_insn", "seq".
      	(emit_move_insn_1): Likewise for return type and locals "result",
      	"ret".
      	(emit_move_insn): Likewise for return type and local "last_insn".
      	(compress_float_constant): Likewise.
      
      From-SVN: r214195
      David Malcolm committed
    • emit_* functions return rtx_insn · cd459bf8
      2014-08-19  David Malcolm  <dmalcolm@redhat.com>
      
      	* emit-rtl.h (emit_copy_of_insn_after): Strengthen return type
      	from rtx to rtx_insn *.
      
      	* rtl.h (emit_insn_before): Likewise.
      	(emit_insn_before_noloc): Likewise.
      	(emit_insn_before_setloc): Likewise.
      	(emit_jump_insn_before): Likewise.
      	(emit_jump_insn_before_noloc): Likewise.
      	(emit_jump_insn_before_setloc): Likewise.
      	(emit_call_insn_before): Likewise.
      	(emit_call_insn_before_noloc): Likewise.
      	(emit_call_insn_before_setloc): Likewise.
      	(emit_debug_insn_before): Likewise.
      	(emit_debug_insn_before_noloc): Likewise.
      	(emit_debug_insn_before_setloc): Likewise.
      	(emit_label_before): Likewise.
      	(emit_insn_after): Likewise.
      	(emit_insn_after_noloc): Likewise.
      	(emit_insn_after_setloc): Likewise.
      	(emit_jump_insn_after): Likewise.
      	(emit_jump_insn_after_noloc): Likewise.
      	(emit_jump_insn_after_setloc): Likewise.
      	(emit_call_insn_after): Likewise.
      	(emit_call_insn_after_noloc): Likewise.
      	(emit_call_insn_after_setloc): Likewise.
      	(emit_debug_insn_after): Likewise.
      	(emit_debug_insn_after_noloc): Likewise.
      	(emit_debug_insn_after_setloc): Likewise.
      	(emit_label_after): Likewise.
      	(emit_insn): Likewise.
      	(emit_debug_insn): Likewise.
      	(emit_jump_insn): Likewise.
      	(emit_call_insn): Likewise.
      	(emit_label): Likewise.
      	(gen_clobber): Likewise.
      	(emit_clobber): Likewise.
      	(gen_use): Likewise.
      	(emit_use): Likewise.
      	(emit): Likewise.
      
      	(emit_barrier_before): Strengthen return type from rtx to
      	rtx_barrier *.
      	(emit_barrier_after): Likewise.
      	(emit_barrier): Likewise.
      
      	* emit-rtl.c (emit_pattern_before_noloc):  Strengthen return type
      	from rtx to rtx_insn *.  Add checked casts for now when converting
      	"last" from rtx to rtx_insn *.
      	(emit_insn_before_noloc): Likewise for return type.
      	(emit_jump_insn_before_noloc): Likewise.
      	(emit_call_insn_before_noloc): Likewise.
      	(emit_debug_insn_before_noloc): Likewise.
      	(emit_barrier_before): Strengthen return type and local "insn"
      	from rtx to rtx_barrier *.
      	(emit_label_before): Strengthen return type from rtx to
      	rtx_insn *.  Add checked cast for now when returning param
      	(emit_pattern_after_noloc): Strengthen return type from rtx to
      	rtx_insn *.  Add checked casts for now when converting "last" from
      	rtx to rtx_insn *.
      	(emit_insn_after_noloc): Strengthen return type from rtx to
      	rtx_insn *.
      	(emit_jump_insn_after_noloc): Likewise.
      	(emit_call_insn_after_noloc): Likewise.
      	(emit_debug_insn_after_noloc): Likewise.
      	(emit_barrier_after): Strengthen return type from rtx to
      	rtx_barrier *.
      	(emit_label_after): Strengthen return type from rtx to rtx_insn *.
      	Add checked cast for now when converting "label" from rtx to
      	rtx_insn *.
      	(emit_pattern_after_setloc): Strengthen return type from rtx to
      	rtx_insn *.  Add checked casts for now when converting "last" from
      	rtx to rtx_insn *.
      	(emit_pattern_after): Strengthen return type from rtx to
      	rtx_insn *.
      	(emit_insn_after_setloc): Likewise.
      	(emit_insn_after): Likewise.
      	(emit_jump_insn_after_setloc): Likewise.
      	(emit_jump_insn_after): Likewise.
      	(emit_call_insn_after_setloc): Likewise.
      	(emit_call_insn_after): Likewise.
      	(emit_debug_insn_after_setloc): Likewise.
      	(emit_debug_insn_after): Likewise.
      	(emit_pattern_before_setloc): Likewise.  Add checked casts for now
      	when converting "last" from rtx to rtx_insn *.
      	(emit_pattern_before): Strengthen return type from rtx to
      	rtx_insn *.
      	(emit_insn_before_setloc): Likewise.
      	(emit_insn_before): Likewise.
      	(emit_jump_insn_before_setloc): Likewise.
      	(emit_jump_insn_before): Likewise.
      	(emit_call_insn_before_setloc): Likewise.
      	(emit_call_insn_before): Likewise.
      	(emit_debug_insn_before_setloc): Likewise.
      	(emit_debug_insn_before): Likewise.
      	(emit_insn): Strengthen return type and locals "last", "insn",
      	"next" from rtx to rtx_insn *.  Add checked cast to rtx_insn
      	within cases where we know we have an insn.
      	(emit_debug_insn): Likewise.
      	(emit_jump_insn): Likewise.
      	(emit_call_insn): Strengthen return type and local "insn" from rtx
      	to rtx_insn *.
      	(emit_label): Strengthen return type from rtx to rtx_insn *.  Add
      	a checked cast to rtx_insn * for now on "label".
      	(emit_barrier): Strengthen return type from rtx to rtx_barrier *.
      	(emit_clobber): Strengthen return type from rtx to rtx_insn *.
      	(emit_use): Likewise.
      	(gen_use): Likewise, also for local "seq".
      	(emit): Likewise for return type and local "insn".
      	(rtx_insn): Likewise for return type and local "new_rtx".
      
      	* cfgrtl.c (emit_barrier_after_bb): Strengthen local "barrier"
      	from rtx to rtx_barrier *.
      
      	* config/sh/sh.c (output_stack_adjust): Since emit_insn has
      	changed return type from rtx to rtx_insn *, we must update
      	"emit_fn" type, and this in turn means updating...
      	(frame_insn): ...this.  Strengthen return type from rtx to
      	rtx_insn *.  Introduce a new local "insn" of the appropriate type.
      
      From-SVN: r214194
      David Malcolm committed