Commit Graph

130574 Commits

Author SHA1 Message Date
Matthew Fortune e58b74ea3d Clean up ST_REGS handling in the MIPS backend.
gcc/

	* config/mips/mips-protos.h (mips_expand_fcc_reload): Remove.
	* config/mips/mips.c (mips_expand_fcc_reload): Remove.
	(mips_move_to_gpr_cost): Remove ST_REGS case.
	(mips_move_from_gpr_cost): Likewise.
	(mips_register_move_cost): Likewise.
	(mips_secondary_reload_class): Likewise.

From-SVN: r211737
2014-06-17 12:46:47 +00:00
Richard Biener 9e4f27ef87 passes.def (pass_all_early_optimizations): Remove copy-prop pass.
2014-06-17  Richard Biener  <rguenther@suse.de>

	* passes.def (pass_all_early_optimizations): Remove copy-prop pass.
	(pass_all_optimizations): Move 3rd copy-prop pass from after
	fre to before ifcombine/phiopt.

From-SVN: r211736
2014-06-17 12:36:34 +00:00
Richard Biener 866f20d640 tree-switch-conversion.c (collect_switch_conv_info): Simplify and allow all blocks to be forwarders.
2014-06-17  Richard Biener  <rguenther@suse.de>

	* tree-switch-conversion.c (collect_switch_conv_info): Simplify
	and allow all blocks to be forwarders.

From-SVN: r211735
2014-06-17 12:34:49 +00:00
Uros Bizjak 00bdef2c7f pr61335.f90 (cp_unit_create): Initialize unit_id and kind_id to zero.
* gfortran.dg/pr61335.f90 (cp_unit_create): Initialize
	unit_id and kind_id to zero.

From-SVN: r211734
2014-06-17 14:30:54 +02:00
Yufeng Zhang 3abf17cfaa re PR target/61483 ([AArch64] builtin va_start incorrectly initializes the field of va_list for incoming unnamed arguments on the stack)
gcc/

	PR target/61483
	* config/aarch64/aarch64.c (aarch64_layout_arg): Add new local
	variable 'size'; calculate 'size' right in the front; use
	'size' to compute 'nregs' (when 'allocate_ncrn != 0') and
	pcum->aapcs_stack_words.

gcc/testsuite/

	PR target/61483
	* gcc.target/aarch64/aapcs64/type-def.h (struct hfa_fx2_t): New type.
	* gcc.target/aarch64/aapcs64/va_arg-13.c: New test.
	* gcc.target/aarch64/aapcs64/va_arg-14.c: Ditto.
	* gcc.target/aarch64/aapcs64/va_arg-15.c: Ditto.

From-SVN: r211733
2014-06-17 09:39:22 +00:00
Nick Clifton ba3cf9f153 msp430.md (mulhisi3): Add a NOP after the DINT.
* config/msp430/msp430.md (mulhisi3): Add a NOP after the DINT.
	(umulhi3, mulsidi3, umulsidi3): Likewise.

From-SVN: r211730
2014-06-17 09:33:47 +00:00
Richard Biener f807ce5448 re PR lto/61012 (lto1: errors during merging of translation units (error: variable ‘link’ redeclared as function))
2014-06-17  Richard Biener  <rguenther@suse.de>

	PR lto/61012
	* gcc.dg/lto/pr61526_0.c: New testcase.
	* gcc.dg/lto/pr61526_1.c: Likewise.

From-SVN: r211728
2014-06-17 09:07:41 +00:00
Thomas Schwinge 7a75b6e2b4 [PR middle-end/61508] fold-const.c:14863:55: error: cannot convert 'const char*' to 'const_tree
gcc/
	* fold-const.c (fold_checksum_tree) <TS_DECL_WITH_VIS>: Remove
	check for section name.

From-SVN: r211727
2014-06-17 11:02:52 +02:00
Richard Biener ec18e2ebbf tree-ssa-propagate.c: Include domwalk.h.
2014-06-17  Richard Biener  <rguenther@suse.de>

	* tree-ssa-propagate.c: Include domwalk.h.
	(substitute_and_fold): Outline main worker into a domwalker ...
	(substitute_and_fold_dom_walker::before_dom_children): ... here.
	Schedule stmts we can fully propagate for removal.  Remove
	poor-mans DCE.
	(substitute_and_fold): Apply a dominator walk to perform
	substitution.  Process stmts scheduled for removal here.

	* gcc.dg/tree-ssa/20041122-1.c: Adjust.
	* gcc.dg/tree-ssa/forwprop-21.c: Likewise.
	* gcc.dg/tree-ssa/vrp35.c: Revert previous adjustments.
	* gcc.dg/tree-ssa/vrp36.c: Likewise.
	* gcc.dg/vect/nodump-forwprop-22.c: Adjust.

From-SVN: r211725
2014-06-17 07:42:47 +00:00
Richard Biener a4ab23b698 tree-ssa-loop-im.c (determine_max_movement): Adjust cost of PHI node moving.
2014-06-17  Richard Biener  <rguenther@suse.de>

	* tree-ssa-loop-im.c (determine_max_movement): Adjust cost
	of PHI node moving.

	* gcc.dg/tree-ssa/ssa-lim-12.c: New testcase.

From-SVN: r211724
2014-06-17 07:37:24 +00:00
Richard Sandiford 31107d5d29 Rotate ChangeLog for 2013.
From-SVN: r211722
2014-06-17 06:55:59 +03:00
Janne Blomqvist 92e6f3a43e Introduce xmallocarray, an overflow checking variant of xmalloc.
2014-06-17  Janne Blomqvist  <jb@gcc.gnu.org>

	* libgfortran.h (xmallocarray): New prototype.
	* runtime/memory.c (xmallocarray): New function.
	(xcalloc): Check for nonzero separately instead of multiplying.
	* generated/*.c: Regenerated.
	* intrinsics/cshift0.c (cshift0): Call xmallocarray instead of
	xmalloc.
	* intrinsics/eoshift0.c (eoshift0): Likewise.
	* intrinsics/eoshift2.c (eoshift2): Likewise.
	* intrinsics/pack_generic.c (pack_internal): Likewise.
	(pack_s_internal): Likewise.
	* intrinsics/reshape_generic.c (reshape_internal): Likewise.
	* intrinsics/spread_generic.c (spread_internal): Likewise.
	(spread_internal_scalar): Likewise.
	* intrinsics/string_intrinsics_inc.c (string_trim): Likewise.
	(string_minmax): Likewise.
	* intrinsics/transpose_generic.c (transpose_internal): Likewise.
	* intrinsics/unpack_generic.c (unpack_internal): Likewise.
	* io/list_read.c (nml_touch_nodes): Don't cast xmalloc return value.
	* io/transfer.c (st_set_nml_var): Call xmallocarray instead of
	xmalloc.
	* io/unit.c (get_internal_unit): Likewise.
	(filename_from_unit): Don't cast xmalloc return value.
	* io/write.c (nml_write_obj): Likewise, formatting.
	* m4/bessel.m4 (bessel_jn_r'rtype_kind`): Call xmallocarray
	instead of xmalloc.
	(besse_yn_r'rtype_kind`): Likewise.
	* m4/cshift1.m4 (cshift1): Likewise.
	* m4/eoshift1.m4 (eoshift1): Likewise.
	* m4/eoshift3.m4 (eoshift3): Likewise.
	* m4/iforeach.m4: Likewise.
	* m4/ifunction.m4: Likewise.
	* m4/ifunction_logical.m4 (name`'rtype_qual`_'atype_code):
	Likewise.
	* m4/in_pack.m4 (internal_pack_'rtype_ccode`): Likewise.
	* m4/matmul.m4 (matmul_'rtype_code`): Likewise.
	* m4/matmull.m4 (matmul_'rtype_code`): Likewise.
	* m4/pack.m4 (pack_'rtype_code`): Likewise.
	* m4/reshape.m4 (reshape_'rtype_ccode`): Likewise.
	* m4/shape.m4 (shape_'rtype_kind`): Likewise.
	* m4/spread.m4 (spread_'rtype_code`): Likewise.
	(spread_scalar_'rtype_code`): Likewise.
	* m4/transpose.m4 (transpose_'rtype_code`): Likewise.
	* m4/unpack.m4 (unpack0_'rtype_code`): Likewise.
	(unpack1_'rtype_code`): Likewise.
	* runtime/convert_char.c (convert_char1_to_char4): Likewise.
	(convert_char4_to_char1): Simplify.
	* runtime/environ.c (init_unformatted): Call xmallocarray instead
	of xmalloc.
	* runtime/in_pack_generic.c (internal_pack): Likewise.

From-SVN: r211721
2014-06-17 06:50:34 +03:00
GCC Administrator d69d4bf5bf Daily bump.
From-SVN: r211720
2014-06-17 00:17:11 +00:00
Kugan Vivekanandarajah 5db3787171 arm.c (arm_atomic_assign_expand_fenv): call default_atomic_assign_expand_fenv for !TARGET_HARD_FLOAT.
gcc/
2014-06-17  Kugan Vivekanandarajah  <kuganv@linaro.org>

	* config/arm/arm.c (arm_atomic_assign_expand_fenv): call
	default_atomic_assign_expand_fenv for !TARGET_HARD_FLOAT.
	(arm_init_builtins) : Initialize builtins __builtins_arm_set_fpscr and
	__builtins_arm_get_fpscr only when TARGET_HARD_FLOAT.
	* config/arm/vfp.md (set_fpscr): Make pattern conditional on
	TARGET_HARD_FLOAT.
	(get_fpscr) : Likewise.

From-SVN: r211717
2014-06-17 00:00:59 +00:00
Vladimir Makarov ba38538fd6 re PR rtl-optimization/61325 (aarch64_be build fails)
2014-06-16  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/61325
	* lra-constraints.c (valid_address_p): Add forward declaration.
	(simplify_operand_subreg): Check address validity before and after
	alter_reg of memory subreg.

From-SVN: r211715
2014-06-16 21:39:42 +00:00
Uros Bizjak 7049aed6c8 i386.c (decide_alg): Correctly handle maximum size of stringop algorithm.
* config/i386/i386.c (decide_alg): Correctly handle
	maximum size of stringop algorithm.

From-SVN: r211714
2014-06-16 22:45:25 +02:00
Yury Gribov 241e298a55 asan.c (build_check_stmt): Fix maybe-uninitialized warning.
2014-06-16  Yury Gribov  <y.gribov@samsung.com>

	* asan.c (build_check_stmt): Fix maybe-uninitialized warning.

From-SVN: r211713
2014-06-16 18:31:22 +00:00
Vladimir Makarov 1df2287fb6 re PR rtl-optimization/61522 (ICE while building libgcc in LRA)
2014-06-16  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/61522
	* lra-assigns.c (assign_by_spills): Check null
	targetm.spill_class.

From-SVN: r211711
2014-06-16 15:55:03 +00:00
Jan Hubicka da66d59643 revert: symtab.c (symtab_node::reset_section): New method.
Revert:
	* symtab.c (symtab_node::reset_section): New method.
	* cgraph.c (cgraph_node_cannot_be_local_p_1): Accept non-local
	for localization.
	* cgraph.h (reset_section): Declare.
	* ipa-inline-analysis.c (do_estimate_growth): Check for comdat groups;
	do not consider comdat locals.
	* cgraphclones.c (set_new_clone_decl_and_node_flags): Get section
	for new symbol.
	* ipa-visiblity.c (cgraph_externally_visible_p): Cleanup.
	(update_visibility_by_resolution_info): Consider UNDEF; fix checking;
	reset sections of symbols dragged out of the comdats.
	(function_and_variable_visibility): Reset sections of localized symbols.

From-SVN: r211710
2014-06-16 15:02:34 +00:00
Richard Biener 9e9f6bf007 re PR tree-optimization/61482 (ICE in set_value_range, at tree-vrp.c:453 when compiling Firefox ESR 24)
2014-06-16  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/61482
	* tree-vrp.c (adjust_range_with_scev): Avoid setting of
	[-INF(OVF), +INF(OVF)] range.

	* g++.dg/torture/pr61482.C: New testcase.

From-SVN: r211709
2014-06-16 14:21:53 +00:00
Andreas Schwab 7964957f61 Remove conflict marker
From-SVN: r211708
2014-06-16 13:22:53 +00:00
Marek Polacek 5c3d09f72b re PR c/60439 (No warning for case overflow in switch statement.)
PR c/60439
	* c.opt (Wswitch-bool): Add Var.

From-SVN: r211707
2014-06-16 12:38:07 +00:00
Jason Merrill 9a9b31a238 tweak changelog date
From-SVN: r211706
2014-06-16 08:19:30 -04:00
Jason Merrill 3045b3c787 * g++.dg/abi/layout4.C: Remove.
From-SVN: r211705
2014-06-16 07:50:22 -04:00
Jason Merrill 6e0681b715 re PR c++/61488 (Regression in template argument substitution in 4.9+)
PR c++/61488
	* pt.c (check_valid_ptrmem_cst_expr): Fix for template context.

From-SVN: r211704
2014-06-16 07:50:14 -04:00
Jason Merrill 949bd6c8ce re PR c++/61500 ([C++11] Can't take pointer to member referenced via member pointer template parameter.)
PR c++/61500
	* tree.c (lvalue_kind): Handle MEMBER_REF and DOTSTAR_EXPR.

From-SVN: r211703
2014-06-16 07:45:37 -04:00
Ganesh Gopalasubramanian 2bd4bfee7e Remove vpmacsdql instruction from multiplication
From-SVN: r211702
2014-06-16 11:02:31 +00:00
Chung-Lin Tang debd8f30b9 re PR middle-end/61430 (ICE in lra_create_copy)
2014-06-16  Chung-Lin Tang  <cltang@codesourcery.com>

	PR middle-end/61430
	* lra-lives.c (process_bb_lives): Skip creating copy during
	insn scan when src/dest has constrained to same regno.

From-SVN: r211701
2014-06-16 09:58:34 +00:00
Jan Hubicka 6192fa791f tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Check again DECL_IN_CONSTANT_POOL and TREE_ASM_WRITTEN.
* tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Check again
	DECL_IN_CONSTANT_POOL and TREE_ASM_WRITTEN.

From-SVN: r211700
2014-06-16 09:25:26 +00:00
Yury Gribov 8946c29ea8 New asan-instrumentation-with-call-threshold parameter.
2014-06-16  Yury Gribov  <y.gribov@samsung.com>

	New asan-instrumentation-with-call-threshold parameter.

	gcc/
	* asan.c (check_func): New function.
	(maybe_create_ssa_name): Likewise.
	(build_check_stmt_with_calls): Likewise.
	(use_calls_p): Likewise.
	(report_error_func): Change interface.
	(build_check_stmt): Allow non-integer lengths; add support
	for new parameter.
	(asan_instrument): Likewise.
	(instrument_mem_region_access): Moved code to
	build_check_stmt.
	(instrument_derefs): Likewise.
	(instrument_strlen_call): Likewise.
	* cfgcleanup.c (old_insns_match_p): Add support for new
	functions.
	* doc/invoke.texi: Describe new parameter.
	* params.def: Define new parameter.
	* params.h: Likewise.
	* sanitizer.def: Describe new builtins.

	gcc/testsuite/
	* c-c++-common/asan/instrument-with-calls-1.c: New test.
	* c-c++-common/asan/instrument-with-calls-2.c: Likewise.
	* c-c++-common/asan/instrument-with-calls-3.c: Likewise.
	* c-c++-common/asan/no-redundant-instrumentation-1.c: Update
	test patterns.
	* c-c++-common/asan/no-redundant-instrumentation-2.c:
	Likewise.
	* c-c++-common/asan/no-redundant-instrumentation-4.c:
	Likewise.
	* c-c++-common/asan/no-redundant-instrumentation-5.c:
	Likewise.
	* c-c++-common/asan/no-redundant-instrumentation-6.c:
	Likewise.
	* c-c++-common/asan/no-redundant-instrumentation-7.c:
	Likewise.
	* c-c++-common/asan/no-redundant-instrumentation-8.c:
	Likewise.

From-SVN: r211699
2014-06-16 08:43:47 +00:00
Richard Biener 5d5cb4d4c1 tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Make all defs available at the end.
2014-06-16  Richard Biener  <rguenther@suse.de>

	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
	Make all defs available at the end.
	(eliminate): If we remove a PHI node schedule cfg-cleanup.

From-SVN: r211698
2014-06-16 08:16:01 +00:00
Jakub Jelinek 4e4fa3c522 re PR plugins/45078 (config/vxworks-dummy.h not installed as a plugin header on some archs)
PR plugins/45078
	* config.gcc (arm*-*-linux-*): Include vxworks-dummy.h in tm_file.

From-SVN: r211696
2014-06-16 10:12:40 +02:00
Eric Botcazou 9495e94718 Minor tweaks
From-SVN: r211695
2014-06-16 08:08:52 +00:00
Richard Sandiford 737c262e89 re PR regression/61516 (build fails on auto-inc-dec.c or libgcc2.c with obvious patch)
gcc/
	PR bootstrap/61516
	* auto-inc-dec.c (merge_in_block): Fix location of insn_info
	initialization.  Replace remaining use of uid.

From-SVN: r211694
2014-06-16 07:40:17 +00:00
Jan Hubicka 590db899b1 * decl.c (grokvardecl): Fix pasto in previous patch.
From-SVN: r211693
2014-06-16 01:15:09 +00:00
GCC Administrator 2d3e37f8d7 Daily bump.
From-SVN: r211692
2014-06-16 00:16:46 +00:00
Jan Hubicka 56363ffd48 c-common.c (handle_tls_model_attribute): Use set_decl_tls_model.
* c-family/c-common.c (handle_tls_model_attribute): Use set_decl_tls_model.
	* cgraph.h (struct varpool_node): Add tls_model.
	* tree.c (decl_tls_model, set_decl_tls_model): New functions.
	* tree.h (DECL_TLS_MODEL): Update.
	(DECL_THREAD_LOCAL_P): Check that variable is static.
	(decl_tls_model): Declare.
	(set_decl_tls_model): Declare.
	* tree-emutls.c (get_emutls_init_templ_addr): First build decl and then
	set symbol prorperties.
	(get_emutls_init_templ_addr): Cleanup.
	(new_emutls_decl): Update.
	* lto-cgraph.c (lto_output_varpool_node): Stream TLS model
	(lto_input_varpool_node): Likewise.
	* lto-streamer-out.c (hash_tree): Likewise.
	* tree-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Do
	not stream DECL_TLS_MODEL.
	* tree-profile.c (init_ic_make_global_vars): Use
	set_decl_tls_model.
	* tree-core.h (tree_decl_with_vis): Remove tls_model;
	update comments.

	* c-parser.c (c_parser_omp_threadprivate): Likewise.
	* c-decl.c (merge_decls): Likewise.

	* decl.c (duplicate_decls): Use set_decl_tls_model.
	(grokdeclarator): Likewise.
	* semantics.c (finish_id_expression): Check TLS only for
	static variables.
	(finish_omp_threadprivate): Use decl_default_tls_model.
	* decl2.c (get_guard): Likewise.
	* call.c (make_temporary_var_for_ref_to_temp): Likewise.

	* gcc-interface/utils.c (process_attributes): Use
	set_decl_tls_model.

	* trans-common.c (build_common_decl): Use
	set_decl_tls_model.
	* trans-decl.c (gfc_finish_var_decl): Likewise.
	(get_proc_pointer_decl): Likewise.

	* lto.c (compare_tree_sccs_1): Do not compare DECL_TLS_MODEL.

From-SVN: r211689
2014-06-15 23:38:29 +00:00
Francois-Xavier Coudert a416c4c766 re PR fortran/28484 ([F03] system_clock with real-type count_rate does not compile)
PR fortran/28484
	PR fortran/61429

	* check.c (gfc_check_system_clock): Improve checking of arguments.
	* intrinsic.texi: Update doc of SYSTEM_CLOCK.
	* iresolve.c (gfc_resolve_system_clock): Choose library function
	used depending on argument kinds.
	* trans-decl.c (gfc_build_intrinsic_function_decls): Build
	decls for system_clock_4 and system_clock_8.
	* trans-intrinsic.c (conv_intrinsic_system_clock): New function.
	(gfc_conv_intrinsic_subroutine): Call conv_intrinsic_system_clock.
	* trans.h (gfor_fndecl_system_clock4, gfor_fndecl_system_clock8):
	New variables.

	* gfortran.dg/system_clock_1.f90: New file.
	* gfortran.dg/system_clock_2.f90: New file.

From-SVN: r211686
2014-06-15 16:58:53 +00:00
Francois-Xavier Coudert 6faf47517f re PR libfortran/60468 (./fpu-target.h:93:3: error: unknown type name 'choke')
PR libfortran/60468
	* configure.ac: Include <math.h> when checking for
	fp_except_t and fp_rnd_t types.
	* configure: Regenerate.

From-SVN: r211685
2014-06-15 09:44:04 +00:00
Richard Sandiford 3bb5c996ca df.h (DF_REF_REG_USE_P, [...]): Remove null checks.
gcc/
	* df.h (DF_REF_REG_USE_P, DF_MWS_REG_USE_P): Remove null checks.

From-SVN: r211684
2014-06-15 07:39:38 +00:00
Richard Sandiford b512946c89 df.h (df_mw_hardreg, [...]): Add a link pointer.
gcc/
	* df.h (df_mw_hardreg, df_base_ref): Add a link pointer.
	(df_insn_info): Turn defs, uses, eq_uses and mw_hardregs into linked
	lists.
	(df_scan_bb_info): Likewise artificial_defs and artificial_uses.
	(DF_REF_NEXT_LOC, DF_MWS_NEXT): New macros.
	(FOR_EACH_INSN_INFO_DEF, FOR_EACH_INSN_INFO_USE)
	(FOR_EACH_INSN_INFO_EQ_USE, FOR_EACH_INSN_INFO_MW)
	(FOR_EACH_ARTIFICIAL_USE, FOR_EACH_ARTIFICIAL_DEF)
	(df_get_artificial_defs, df_get_artificial_uses)
	(df_single_def, df_single_use): Update accordingly.
	(df_refs_chain_dump): Take the first element in a linked list as
	parameter, rather than a pointer to an array of pointers.
	* df-core.c (df_refs_chain_dump, df_mws_dump): Likewise.
	* df-problems.c (df_rd_bb_local_compute_process_def): Likewise.
	(df_chain_create_bb_process_use): Likewise.
	(df_md_bb_local_compute_process_def): Likewise.
	* fwprop.c (process_defs, process_uses): Likewise.
	(register_active_defs, update_uses): Likewise.
	(forward_propagate_asm): Update for new df_ref linking.
	* df-scan.c (df_scan_free_ref_vec, df_scan_free_mws_vec): Delete.
	(df_null_ref_rec, df_null_mw_rec): Likewise.
	(df_scan_free_internal): Don't free df_ref and df_mw_hardreg lists
	explicitly.
	(df_scan_free_bb_info): Remove check for null artificial_defs.
	(df_install_ref_incremental): Adjust for new df_ref linking.
	Use a single-element insertion rather than a full sort.
	(df_ref_chain_delete_du_chain): Take the first element
	in a linked list as parameter, rather than a pointer to an array of
	pointers.
	(df_ref_chain_delete, df_mw_hardreg_chain_delete): Likewise.
	(df_add_refs_to_table, df_refs_verify, df_mws_verify): Likewise.
	(df_insn_info_delete): Remove check for null defs and call to
	df_scan_free_mws_vec.
	(df_insn_rescan): Initialize df_ref and df_mw_hardreg lists to
	null rather than df_null_*_rec.
	(df_insn_rescan_debug_internal): Likewise, and update null
	checks in the same way.  Remove check for null defs.
	(df_ref_change_reg_with_loc_1): Fix choice of list for defs.
	Move a single element rather doing a full sort.
	(df_mw_hardreg_chain_delete_eq_uses): Adjust for new df_mw_hardreg
	linking.
	(df_notes_rescan): Likewise.  Use a merge rather than a full sort.
	Initialize df_ref and df_mw_hardreg lists to null rather than
	df_null_*_rec.
	(df_ref_compare): Take df_refs as parameter, transferring the
	old interface to...
	(df_ref_ptr_compare): ...this new function.
	(df_sort_and_compress_refs): Update accordingly.
	(df_mw_compare): Take df_mw_hardregs as parameter, transferring the
	old interface to...
	(df_mw_ptr_compare): ...this new function.
	(df_sort_and_compress_mws): Update accordingly.
	(df_install_refs, df_install_mws): Return a linked list rather than
	an array of pointers.
	(df_refs_add_to_chains): Assert that old lists are empty rather
	than freeing them.
	(df_insn_refs_verify): Don't handle null defs speciailly.
	* web.c (union_match_dups): Update for new df_ref linking.

From-SVN: r211683
2014-06-15 07:39:30 +00:00
Richard Sandiford 5a474220d9 df.h (df_ref_create, [...]): Delete.
gcc/
	* df.h (df_ref_create, df_ref_remove): Delete.
	* df-scan.c (df_ref_create, df_ref_compress_rec): Likewise.
	(df_ref_remove): Likewise.

From-SVN: r211682
2014-06-15 07:33:13 +00:00
Richard Sandiford 74e59b6c24 df.h (df_single_def, [...]): New functions.
gcc/
	* df.h (df_single_def, df_single_use): New functions.
	* ira.c (find_moveable_pseudos): Use them.

From-SVN: r211681
2014-06-15 07:33:04 +00:00
Richard Sandiford fc8e9f583c df.h (FOR_EACH_INSN_INFO_MW): New macro.
gcc/
	* df.h (FOR_EACH_INSN_INFO_MW): New macro.
	* df-problems.c (df_note_bb_compute): Use it.
	* regstat.c (regstat_bb_compute_ri): Likewise.

From-SVN: r211680
2014-06-15 07:32:54 +00:00
Richard Sandiford 292321a5cd df.h (FOR_EACH_ARTIFICIAL_USE, [...]): New macros.
gcc/
	* df.h (FOR_EACH_ARTIFICIAL_USE, FOR_EACH_ARTIFICIAL_DEF): New macros.
	* cse.c (cse_extended_basic_block): Use them.
	* dce.c (mark_artificial_use): Likewise.
	* df-problems.c (df_rd_simulate_artificial_defs_at_top): Likewise.
	(df_lr_bb_local_compute, df_live_bb_local_compute): Likewise.
	(df_chain_remove_problem, df_chain_bb_dump): Likewise.
	(df_word_lr_bb_local_compute, df_note_bb_compute): Likewise.
	(df_simulate_initialize_backwards): Likewise.
	(df_simulate_finalize_backwards): Likewise.
	(df_simulate_initialize_forwards): Likewise.
	(df_md_simulate_artificial_defs_at_top): Likewise.
	* df-scan.c (df_reorganize_refs_by_reg_by_insn): Likewise.
	* regrename.c (init_rename_info): Likewise.
	* regstat.c (regstat_bb_compute_ri): Likewise.
	(regstat_bb_compute_calls_crossed): Likewise.

From-SVN: r211679
2014-06-15 07:32:43 +00:00
Richard Sandiford bfac633a90 df.h (DF_INSN_INFO_MWS, [...]): New macros.
gcc/
	* df.h (DF_INSN_INFO_MWS, FOR_EACH_INSN_INFO_DEF): New macros.
	(FOR_EACH_INSN_INFO_USE, FOR_EACH_INSN_INFO_EQ_USE): Likewise.
	(FOR_EACH_INSN_DEF, FOR_EACH_INSN_USE, FOR_EACH_INSN_EQ_USE): Likewise.
	* auto-inc-dec.c (find_inc, merge_in_block): Use them.
	* combine.c (create_log_links): Likewise.
	* compare-elim.c (find_flags_uses_in_insn): Likewise.
	(try_eliminate_compare): Likewise.
	* cprop.c (make_set_regs_unavailable, mark_oprs_set): Likewise.
	* dce.c (deletable_insn_p, find_call_stack_args): Likewise.
	(remove_reg_equal_equiv_notes_for_defs): Likewise.
	(reset_unmarked_insns_debug_uses, mark_reg_dependencies): Likewise.
	(word_dce_process_block, dce_process_block): Likewise.
	* ddg.c (def_has_ccmode_p): Likewise.
	* df-core.c (df_bb_regno_first_def_find): Likewise.
	(df_bb_regno_last_def_find, df_find_def, df_find_use): Likewise.
	* df-problems.c (df_rd_simulate_one_insn): Likewise.
	(df_lr_bb_local_compute, df_live_bb_local_compute): Likewise.
	(df_chain_remove_problem, df_chain_insn_top_dump): Likewise.
	(df_chain_insn_bottom_dump, df_word_lr_bb_local_compute): Likewise.
	(df_word_lr_simulate_defs, df_word_lr_simulate_uses): Likewise.
	(df_remove_dead_eq_notes, df_note_bb_compute): Likewise.
	(df_simulate_find_defs, df_simulate_find_uses): Likewise.
	(df_simulate_find_noclobber_defs, df_simulate_defs): Likewise.
	(df_simulate_uses, df_md_simulate_one_insn): Likewise.
	* df-scan.c (df_reorganize_refs_by_reg_by_insn): Likewise.
	* fwprop.c (local_ref_killed_between_p): Likewise.
	(all_uses_available_at, free_load_extend): Likewise.
	* gcse.c (update_bb_reg_pressure, calculate_bb_reg_pressure): Likewise.
	* hw-doloop.c (scan_loop): Likewise.
	* ifcvt.c (dead_or_predicable): Likewise.
	* init-regs.c (initialize_uninitialized_regs): Likewise.
	* ira-lives.c (mark_hard_reg_early_clobbers): Likewise.
	(process_bb_node_lives): Likewise.
	* ira.c (compute_regs_asm_clobbered, build_insn_chain): Likewise.
	(find_moveable_pseudos): Likewise.
	* loop-invariant.c (check_dependencies, record_uses): Likewise.
	* recog.c (peep2_find_free_register): Likewise.
	* ree.c (get_defs): Likewise.
	* regstat.c (regstat_bb_compute_ri): Likewise.
	(regstat_bb_compute_calls_crossed): Likewise.
	* sched-deps.c (find_inc, find_mem): Likewise.
	* sel-sched-ir.c (maybe_downgrade_id_to_use): Likewise.
	(maybe_downgrade_id_to_use, setup_id_reg_sets): Likewise.
	* shrink-wrap.c (requires_stack_frame_p): Likewise.
	(prepare_shrink_wrap): Likewise.
	* store-motion.c (compute_store_table, build_store_vectors): Likewise.
	* web.c (union_defs, pass_web::execute): Likewise.
	* config/i386/i386.c (increase_distance, insn_defines_reg): Likewise.
	(insn_uses_reg_mem, ix86_ok_to_clobber_flags): Likewise.

From-SVN: r211678
2014-06-15 07:32:28 +00:00
GCC Administrator 2c73339ae9 Daily bump.
From-SVN: r211676
2014-06-15 00:16:32 +00:00
Paolo Carlini 045af2d75a re PR c++/33101 ([DR 577] allow typedefs for void in empty parameter list)
/cp
2014-06-14  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/33101
	* decl.c (grokparms): Improve error message about void parameters.
	* error.c (type_to_string): Fix aka cut off code.

/testsuite
2014-06-14  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/33101
	* g++.dg/other/void3.C: New.
	* g++.dg/conversion/err-recover1.C: Update.

From-SVN: r211673
2014-06-14 22:55:40 +00:00
Jonathan Wakely fb3bc97798 any (any_cast): Combine duplicate doxygen comments.
* include/experimental/any (any_cast): Combine duplicate doxygen
	comments.
	* include/experimental/string_view (basic_string_view): Update
	doxygen comment.
	* include/std/bitset (bitset): Move to Doxygen 'utilities' group.
	* include/tr2/dynamic_bitset (_Bool2UChar): Remove unused templates.
	(dynamic_bitset): Improve Doxygen comments.
	* include/tr2/dynamic_bitset.tcc (operator>>): Improve Doxygen
	comment.

From-SVN: r211672
2014-06-14 21:43:07 +01:00
Jonathan Wakely 10d43d2fb4 api.xml: Link to more recent API docs.
* doc/xml/api.xml: Link to more recent API docs.
	* include/bits/allocator.h: Fix link in doxygen comment.
	* include/bits/char_traits.h: Likewise.
	* include/bits/ios_base.h: Likewise.
	* include/bits/stl_map.h: Likewise.
	* include/bits/stl_multimap.h: Likewise.
	* include/bits/stl_multiset.h: Likewise.
	* include/bits/stl_set.h: Likewise.
	* include/bits/unordered_map.h: Likewise.
	* include/bits/unordered_set.h: Likewise.
	* include/ext/mt_allocator.h: Likewise.
	* include/std/fstream: Likewise.
	* include/std/iosfwd: Likewise.
	* include/std/ostream: Likewise.
	* include/std/sstream: Likewise.
	* include/std/streambuf: Likewise.
	* doc/html/*: Regenerate.

From-SVN: r211671
2014-06-14 21:22:10 +01:00