1. 21 Aug, 2014 9 commits
    • 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 9 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
    • emit_jump_table_data returns an rtx_jump_table_data * · 4598afdd
      2014-08-19  David Malcolm  <dmalcolm@redhat.com>
      
      	* emit-rtl.c (emit_jump_table_data): Strengthen return type from
      	rtx to rtx_jump_table_data *.  Also for local.
      	* rtl.h (emit_jump_table_data): Likewise.
      
      From-SVN: r214193
      David Malcolm committed
    • Convert various rtx to rtx_note * · 66e8df53
      2014-08-19  David Malcolm  <dmalcolm@redhat.com>
      
      	* basic-block.h (create_basic_block_structure): Strengthen third
      	param "bb_note" from rtx to rtx_note *.
      	* rtl.h (emit_note_before): Strengthen return type from rtx to
      	rtx_note *.
      	(emit_note_after): Likewise.
      	(emit_note): Likewise.
      	(emit_note_copy): Likewise.  Also, strengthen param similarly.
      	* function.h (struct rtl_data): Strengthen field
      	"x_stack_check_probe_note" from rtx to rtx_note *.
      
      	* cfgexpand.c (expand_gimple_basic_block): Strengthen local "note"
      	from rtx to rtx_note *.
      	* cfgrtl.c (create_basic_block_structure): Strengthen third param
      	"bb_note" from rtx to rtx_note *.
      	(duplicate_insn_chain): Likewise for local "last".  Add a checked cast
      	when calling emit_note_copy.
      	* emit-rtl.c (make_note_raw): Strengthen return type from rtx to
      	rtx_note *.
      	(emit_note_after): Likewise.
      	(emit_note_before): Likewise.
      	(emit_note_copy): Likewise.  Also, strengthen param similarly.
      	(emit_note): Likewise.
      	* except.c (emit_note_eh_region_end): Likewise for return type.
      	Strengthen local "next" from rtx to rtx_insn *.
      	(convert_to_eh_region_ranges): Strengthen local "note"
      	from rtx to rtx_note *.
      	* final.c (change_scope): Likewise.
      	(reemit_insn_block_notes): Likewise, for both locals named "note".
      	Also, strengthen local "insn" from rtx to rtx_insn *.
      	* haifa-sched.c (sched_extend_bb): Strengthen local "note" from
      	rtx to rtx_note *.
      	* reg-stack.c (compensate_edge): Likewise for local "after". Also,
      	strengthen local "seq" from rtx to rtx_insn *.
      	* reload1.c (reload_as_needed): Strengthen local "marker" from rtx
      	to rtx_note *.
      	* sel-sched-ir.c (bb_note_pool): Strengthen from rtx_vec_t to
      	vec<rtx_note *>.
      	(get_bb_note_from_pool): Strengthen return type from rtx to
      	rtx_note *.
      	(sel_create_basic_block): Strengthen local "new_bb_note" from
      	insn_t to rtx_note *.
      	* var-tracking.c (emit_note_insn_var_location): Strengthen local
      	"note" from rtx to rtx_note *.
      	(emit_notes_in_bb): Likewise.
      
      From-SVN: r214192
      David Malcolm committed