Commit Graph

154096 Commits

Author SHA1 Message Date
Bin Cheng
ba00284ced tree-affine.c (ssa.h): Include header file.
* tree-affine.c (ssa.h): Include header file.
	(tree_to_aff_combination): Handle (T1)(X - CST) when inner type
	has wrapping overflow behavior.

From-SVN: r248957
2017-06-07 10:49:09 +00:00
Bin Cheng
8813f50d2c * tree-affine.c (tree_to_aff_combination): Handle (T1)(X + X).
From-SVN: r248956
2017-06-07 10:47:26 +00:00
Bin Cheng
1b92ccde2c (aff_combination_expand): Move (T1)(X *+- CST) simplification to ...
(tree_to_aff_combination): ... here.

From-SVN: r248955
2017-06-07 10:46:21 +00:00
Bin Cheng
c18101f5d1 tree-ssa-loop-ivopts.c (ivopts_estimate_reg_pressure): New reg_pressure model function.
* tree-ssa-loop-ivopts.c (ivopts_estimate_reg_pressure): New
	reg_pressure model function.
	(ivopts_global_cost_for_size): Delete.
	(determine_set_costs, iv_ca_recount_cost): Call new model function
	ivopts_estimate_reg_pressure.

From-SVN: r248954
2017-06-07 10:45:03 +00:00
Tamar Christina
cb9ac430cb aarch64.c (aarch64_rtx_costs): Make sdiv more expensive than udiv.
2017-06-07  Tamar Christina  <tamar.christina@arm.com>

	* config/aarch64/aarch64.c (aarch64_rtx_costs): Make sdiv more expensive than udiv.
	Remove floating point cases from mod.

From-SVN: r248953
2017-06-07 10:06:29 +00:00
Sebastian Huber
e059725b24 RTEMS: Use TLS for Ada run-time
Do not use the RTEMS-specific task variables for the Ada run-time since
they are not available in RTEMS 4.12 or later.  Use thread-local storage
instead.

gcc/ada
	* Makefile.in (rtems): Use TLS implementation for s-tpopsp.adb.
	* s-tpopsp-rtems.adb: Delete.

From-SVN: r248952
2017-06-07 09:49:27 +00:00
Tamar Christina
54e07cb416 aarch-cost-tables.h (cortexa53_extra_cost): Increase idiv cost.
2017-06-07  Tamar Christina  <tamar.christina@arm.com>

	* config/arm/aarch-cost-tables.h (cortexa53_extra_cost): Increase idiv cost.

From-SVN: r248951
2017-06-07 09:45:53 +00:00
Richard Biener
46c821e745 re PR tree-optimization/80928 (SLP vectorization does not handle induction in outer loop vectorization)
2017-06-07  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/80928
	* gcc.dg/vect/slp-13.c: Adjust patterns with vect_pack_trunc.
	* gcc.dg/vect/slp-13-big-array.c: Likewise.

From-SVN: r248950
2017-06-07 09:39:53 +00:00
Tamar Christina
eb1d2d5d99 2017-06-07 Tamar Christina <tamar.christina@arm.com>
* config/aarch64/aarch64.md
        (copysignsf3): Fix mask generation.

From-SVN: r248949
2017-06-07 09:36:17 +00:00
Richard Biener
6eb2ac659c re PR tree-optimization/80928 (SLP vectorization does not handle induction in outer loop vectorization)
2017-06-07  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/80928
	* gcc.dg/vect/slp-perm-8.c: Avoid vectorizing loop computing
	check_results.

From-SVN: r248948
2017-06-07 09:10:17 +00:00
Jakub Jelinek
363dc72c15 dumpfile.h (enum tree_dump_index): Rename TDI_generic to TDI_gimple.
* dumpfile.h (enum tree_dump_index): Rename TDI_generic to
	TDI_gimple.
	(class dump_manager): Add register_dumps method.
	* dumpfile.c: Include langhooks.h.
	(dump_files): Use 0 instead of 3/4/5 for TDI_{original,gimple,nested}.
	(FIRST_AUTO_NUMBERED_DUMP): Decrease to 1.
	(FIRST_ME_AUTO_NUMBERED_DUMP): Define.
	(dump_manager::dump_register): Start with 512 entries instead of 32.
	(dump_manager::register_dumps): New method.
	* toplev.c (general_init): Instead of invoking register_dumps
	langhook, invoke register_dumps method on the dump manager.
	* gimplify.c (gimplify_function_tree): Use TDI_gimple instead of
	TDI_generic.

	* gimple-parser.c (c_parser_parse_gimple_body): Use TDI_gimple instead
	of TDI_generic.

From-SVN: r248947
2017-06-07 10:57:11 +02:00
Richard Sandiford
49e478afe3 Clarify define_insn documentation
This patch tries to clarify some of the restrictions on define_insn
conditions, and also on the use of "#".

2017-06-06  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/
	* doc/md.texi: Clarify the restrictions on a define_insn condition.
	Say that # requires an associated define_split to exist, and that
	the define_split must be suitable for use after register allocation.

From-SVN: r248946
2017-06-07 06:45:36 +00:00
Jan Hubicka
6fcdf71413 cfgbuild.c (find_bb_boundaries): Initialize profile of split blocks.
* cfgbuild.c (find_bb_boundaries): Initialize profile of split blocks.
	(compute_outgoing_frequencies): Also initialize zero counts.
	(find_many_sub_basic_blocks): Do not produce uninitialized profile
	around loops; preserve more of profile when nothing changes.

From-SVN: r248945
2017-06-07 06:42:43 +00:00
Jim Wilson
96feaf79b2 Remove aarch32 support for falkor/qdf24xx, not in released hardware.
gcc/
	* config/aarch64/aarch64-cost-tables.h (qdf24xx_extra_costs): Move to
	here.
	* config/arm/aarch-cost-tables.h (qdf24xx_extra_costs): From here.
	* config/arm/arm-cpu-cdata.h: Regenerate.
	* config/arm/arm-cpu-data.h, config/arm/arm-cpu.h: Likewise.
	* config/arm/arm-tables.opt, config/arm/arm-tune.md: Likewise.
	* config/arm/arm-cpus.in: Delete falkor and qdf24xx entries.
	* config/arm/arm.c (arm_qdf24xx_tune): Delete.
	* config/arm/bpabi.h (BE8_LINK_SPEC): Delete falkor and qdf24xx
	support.
	* config/arm/t-aprofile (MULTILIB_MATCHES): Delete falkor and qdf24xx
	support.
	* config/arm/t-rmprofile: Likewise.
	* doc/invoke.texi (ARM Options): Drop falkor and qdf24xx support.

From-SVN: r248944
2017-06-06 18:55:12 -07:00
GCC Administrator
cebf55fb45 Daily bump.
From-SVN: r248942
2017-06-07 00:16:31 +00:00
Nathan Sidwell
25396db9ca name-lookup.c (suggest_alternatives_for): Use qualified lookup sans using directives.
* name-lookup.c (suggest_alternatives_for): Use qualified lookup
	sans using directives.  Don't walk into inline namespaces.

	* g++.dg/pr45330.C: Add inline namespace case.

From-SVN: r248938
2017-06-06 23:02:49 +00:00
Ian Lance Taylor
f788537d68 compiler: typing fixes for Interface_mtable_expression
Interface_mtable_expression::do_type computes a type that incorporates
    Go type descriptors for the interface methods, whereas in order to
    have strict type agreement with the mtable data, the interface method
    fields need to be C function ptrs. Change the type recipe accordingly,
    and then update Interface_mtable_expression::do_get_backend to compute
    a revised backend type that uses the correct fcn types.
    
    Reviewed-on: https://go-review.googlesource.com/44750

From-SVN: r248934
2017-06-06 20:57:03 +00:00
Thomas Koenig
bbf9741600 re PR fortran/80975 (matmul for zero-length arrays)
2017-06-06  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/80975
	* m4/matmul_internal.m4:  Move zeroing before early return.
	* generated/matmul_c10.c: Regenerated.
	* generated/matmul_c16.c: Regenerated.
	* generated/matmul_c4.c: Regenerated.
	* generated/matmul_c8.c: Regenerated.
	* generated/matmul_i1.c: Regenerated.
	* generated/matmul_i16.c: Regenerated.
	* generated/matmul_i2.c: Regenerated.
	* generated/matmul_i4.c: Regenerated.
	* generated/matmul_i8.c: Regenerated.
	* generated/matmul_r10.c: Regenerated.
	* generated/matmul_r16.c: Regenerated.
	* generated/matmul_r4.c: Regenerated.
	* generated/matmul_r8.c: Regenerated.
	* generated/matmulavx128_c10.c: Regenerated.
	* generated/matmulavx128_c16.c: Regenerated.
	* generated/matmulavx128_c4.c: Regenerated.
	* generated/matmulavx128_c8.c: Regenerated.
	* generated/matmulavx128_i1.c: Regenerated.
	* generated/matmulavx128_i16.c: Regenerated.
	* generated/matmulavx128_i2.c: Regenerated.
	* generated/matmulavx128_i4.c: Regenerated.
	* generated/matmulavx128_i8.c: Regenerated.
	* generated/matmulavx128_r10.c: Regenerated.
	* generated/matmulavx128_r16.c: Regenerated.
	* generated/matmulavx128_r4.c: Regenerated.
	* generated/matmulavx128_r8.c: Regenerated.

2017-06-06  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/80975
	* gfortran.dg/matmul_16.f90: New test.
	* gfortran.dg/inline_matmul_18.f90: New test.

From-SVN: r248932
2017-06-06 19:18:37 +00:00
Marek Polacek
dc94972832 re PR c/79983 (Improve enum and struct redefinition diagnostic)
PR c/79983
	* c-decl.c (start_struct): Use the location of TYPE_STUB_DECL of
	ref.
	(start_enum): Use the location of TYPE_STUB_DECL of enumtype.

	* gcc.dg/pr79983.c: New test.

From-SVN: r248927
2017-06-06 17:40:34 +00:00
David S. Miller
100d0700a8 sparc: Fix stack references in return delay slot.
gcc/

	PR target/80968
	* config/sparc/sparc.c (sparc_expand_prologue): Emit frame
	blockage if function uses alloca.

gcc/testsuite/

	* gcc.target/sparc/sparc-ret-3.c: New test.

From-SVN: r248926
2017-06-06 10:02:22 -07:00
Maxim Kuvyrkov
23b0f9f81d Improve debug output of loop data prefetching.
* tree-ssa-loop-prefetch.c (struct mem_ref_group, struct mem_ref):
	New "uid" fields to hold pretty-print IDs of group and ref.
	Memory references are now identified as <group_id>:<ref_id>
	instead of using [random] addresses.
	(dump_mem_details): Simplify, no functional change.
	(dump_mem_ref): Simplify and make output more concise.
	Replace couple of fprintf's throughout code with calls to dump_mem_ref.
	(find_or_create_group): Initialize group uid.
	(record_ref): Initialize ref uid.  Improve debug output.
	(prune_group_by_reuse, should_issue_prefetch_p,)
	(should_issue_prefetch_p, schedule_prefetches, issue_prefetch_ref,)
	(mark_nontemporal_store, determine_loop_nest_reuse):
	Improve debug output.

Change-Id: Ia594d5854de96183f3c5a669c161e5a9a73a29d7

From-SVN: r248925
2017-06-06 17:01:00 +00:00
Maxim Kuvyrkov
1a70c8d542 Add debug counter for loop array prefetching.
* dbgcnt.def (prefetch): New debug counter.
	* tree-ssa-loop-prefetch.c (dbgcnt.h): New include.
	(schedule_prefetches): Stop issueing prefetches if debug counter
	tripped.

Change-Id: Ia6160364735a889fb6d2370be21d98f87c0fe962

From-SVN: r248924
2017-06-06 17:00:46 +00:00
Tom de Vries
6c6b519a32 Remove NO_LABEL_VALUES
2017-06-06  Tom de Vries  <tom@codesourcery.com>

	* doc/sourcebuild.texi (Testsuites, C Language Testsuites,
	gcc.c-torture/compile): Remove mention of NO_LABEL_VALUES in fixme.

	* gcc.c-torture/compile/20000326-2.c: Use dg-require-effective-target
	label_values instead of NO_LABEL_VALUES.
	* gcc.c-torture/compile/920301-1.c: Same.
	* gcc.c-torture/compile/920501-1.c: Same.
	* gcc.c-torture/compile/941014-4.c: Same.
	* gcc.c-torture/compile/labels-1.c: Same.
	* gcc.c-torture/compile/pr18903.c: Same.
	* gcc.c-torture/execute/920302-1.c: Same.
	* gcc.c-torture/execute/920415-1.c: Same.
	* gcc.c-torture/execute/920428-2.c: Same.
	* gcc.c-torture/execute/920501-3.c: Same.
	* gcc.c-torture/execute/920501-4.c: Same.
	* gcc.c-torture/execute/920501-5.c: Same.
	* gcc.c-torture/execute/920501-7.c: Same.
	* gcc.c-torture/execute/920721-4.c: Same.
	* gcc.c-torture/execute/980526-1.c: Same.
	* gcc.c-torture/execute/990208-1.c: Same.
	* gcc.c-torture/execute/comp-goto-1.c: Same.
	* gcc.c-torture/execute/comp-goto-2.c: Same.
	* gcc.dg/torture/stackalign/comp-goto-1.c: Same.
	* gcc.dg/torture/stackalign/non-local-goto-4.c: Same.
	* gcc.dg/torture/stackalign/non-local-goto-5.c: Same.
	* gcc.dg/tree-prof/comp-goto-1.c: Same.
	* gcc.dg/tree-prof/pr44777.c: Same.
	* gcc.misc-tests/bprob-2.c: Same.
	* gcc.misc-tests/gcov-3.c: Same.
	* lib/gcc.exp (gcc_target_compile): Remove appending of
	-DNO_LABEL_VALUES to additional_flags.
	* lib/objc.exp (objc_target_compile): Same.
	* lib/target-supports.exp (check_effective_target_label_values): Test on
	'target_info exists gcc,no_label_values' instead of NO_LABEL_VALUES.

From-SVN: r248923
2017-06-06 15:35:35 +00:00
Nathan Sidwell
25d446fd38 re PR c++/80979 (ice in lookup_mark, at cp/tree.c:2298)
PR c++/80979
	* name-lookup.c (adl_class_only): Don't add visible friends.

From-SVN: r248922
2017-06-06 15:06:56 +00:00
Kyrylo Tkachov
4ebcc903bf [AArch64] Allow const0_rtx operand for atomic compare-exchange patterns
* config/aarch64/atomics.md (atomic_compare_and_swap<mode> expander):
	Use aarch64_reg_or_zero predicate for operand 4.
	(aarch64_compare_and_swap<mode> define_insn_and_split):
	Use aarch64_reg_or_zero predicate for operand 3.  Add 'Z' constraint.
	(aarch64_store_exclusive<mode>): Likewise for operand 2.

	* gcc.target/aarch64/atomic_cmp_exchange_zero_reg_1.c: New test.

From-SVN: r248921
2017-06-06 13:26:46 +00:00
Thomas Preud'homme
9bd01837e4 [ARM] Rename *_compute_save_reg_mask ()
2017-06-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * config/arm/arm.c (arm_compute_save_reg_mask): Rename into ...
    (arm_compute_save_core_reg_mask): This.
    (thumb1_compute_save_reg_mask): Rename into ...
    (thumb1_compute_save_core_reg_mask): This.
    (arm_compute_save_reg0_reg12_mask): Adapt comment.
    (arm_compute_frame_layout): Likewise.

From-SVN: r248920
2017-06-06 12:58:02 +00:00
Richard Biener
331dc84013 re PR tree-optimization/80974 (wrong code (generated code hangs) at -O2 on x86_64-linux-gnu)
2017-06-06  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/80974
	* tree-ssa-sccvn.c (set_ssa_val_to): Do not change but only
	keep or clear leaders SSA info.

	* gcc.dg/torture/pr80974.c: New testcase.

From-SVN: r248919
2017-06-06 12:46:41 +00:00
Tom de Vries
38827811dd Add and use split_mode_p
2017-06-06  Tom de Vries  <tom@codesourcery.com>

	* config/nvptx/nvptx.c (split_mode_p): New function.
	(nvptx_declare_function_name, nvptx_print_operand): Use split_mode_p.

From-SVN: r248918
2017-06-06 12:25:04 +00:00
Tom de Vries
02e4a6ff04 Use maybe_split_mode in nvptx_print_operand
2017-06-06  Tom de Vries  <tom@codesourcery.com>

	* config/nvptx/nvptx.c (nvptx_print_operand): Use maybe_split_mode.

From-SVN: r248917
2017-06-06 12:24:41 +00:00
Jan Hubicka
86fdda0591 re PR bootstrap/80978 (LTO/PGO bootstrap broken by r248863)
PR bootstrap/80978
	* tree-cfg.c (execute_fixup_cfg): Fix condition on when to rescale
	profile.

From-SVN: r248915
2017-06-06 11:30:54 +00:00
Thomas Preud'homme
d2537732ca Fix gcc.dg/utf16-4.c
2017-06-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/testsuite/
    * gcc.dg/utf16-4.c: Accept "long unsigned int" as well as
    "unsigned int" in conversation warning on line 15.

From-SVN: r248914
2017-06-06 09:55:17 +00:00
Jan Hubicka
9c47c8ae36 shrink-wrap.c (handle_simple_exit): Update profile.
* shrink-wrap.c (handle_simple_exit): Update profile.
	(try_shrink_wrapping): Upate profile.

From-SVN: r248913
2017-06-06 08:08:58 +00:00
Jan Hubicka
52261a21e8 predict.c (tree_estimate_probability_bb): Add LOCAL_ONLY.
* predict.c (tree_estimate_probability_bb): Add LOCAL_ONLY.
	(tree_guess_outgoing_edge_probabilities): New.
	* predict.h (tree_guess_outgoing_edge_probabilities): Declare.
	* tree-cfg.c (gimple_find_sub_bbs): Propagate profile.

From-SVN: r248912
2017-06-06 08:07:31 +00:00
Jan Hubicka
ce6ec23497 * ipa-split.c (split_function): Initialize return bb profile.
From-SVN: r248911
2017-06-06 08:05:29 +00:00
Jan Hubicka
873fa2048c profile.c (compute_branch_probabilities): Also initialize EXIT_BLOCK profile.
* profile.c (compute_branch_probabilities): Also initialize
	EXIT_BLOCK profile.

From-SVN: r248910
2017-06-06 08:03:55 +00:00
Richard Biener
e7baeb396d re PR tree-optimization/80928 (SLP vectorization does not handle induction in outer loop vectorization)
2017-06-06  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/80928
	* tree-vect-loop.c (vect_update_vf_for_slp): Amend dumps.
	(vect_analyze_loop_operations): Properly guard analysis for
	pure SLP case.
	(vect_transform_loop): Likewise.
	(vect_analyze_loop_2): Also reset SLP type on PHIs.
	(vect_model_induction_cost): Do not cost for pure SLP.
	(vectorizable_induction): Pass in SLP node, implement SLP vectorization
	of induction in inner loop vectorization.
	* tree-vect-slp.c (vect_create_new_slp_node): Handle PHIs.
	(vect_get_and_check_slp_defs): Handle vect_induction_def.
	(vect_build_slp_tree): Likewise.  Handle PHIs as terminating the
	recursion.
	(vect_analyze_slp_cost_1): Cost induction.
	(vect_detect_hybrid_slp_stmts): Handle PHIs.
	(vect_get_slp_vect_defs): Likewise.
	* tree-vect-stmts.c (vect_analyze_stmt): Handle induction.
	(vect_transform_stmt): Handle SLP reductions.
	* tree-vectorizer.h (vectorizable_induction): Adjust.

	* gcc.dg/vect/pr80928.c: New testcase.
	* gcc.dg/vect/slp-13-big-array.c: Remove XFAILs.
	* gcc.dg/vect/slp-13.c: Likewise.
	* gcc.dg/vect/slp-perm-9.c: Prevent vectorization of check loop.

From-SVN: r248909
2017-06-06 07:37:14 +00:00
GCC Administrator
09a04a5e5e Daily bump.
From-SVN: r248908
2017-06-06 00:16:19 +00:00
Michael Meissner
cfd29772da rs6000.c (make_resolver_func): Update init_lowered_empty_function call.
2017-06-05  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/rs6000.c (make_resolver_func): Update
	init_lowered_empty_function call.

From-SVN: r248902
2017-06-05 21:14:21 +00:00
David Malcolm
05945a1b83 libcpp: add callback for comment-handling
gcc/testsuite/ChangeLog:
	* g++.dg/plugin/comment_plugin.c: New test plugin.
	* g++.dg/plugin/comments-1.C: New test file.
	* g++.dg/plugin/plugin.exp (plugin_test_list): Add the above.

libcpp/ChangeLog:
	* include/cpplib.h (struct cpp_callbacks): Add "comment"
	callback.
	* lex.c (_cpp_lex_direct): Call the comment callback if non-NULL.

From-SVN: r248901
2017-06-05 20:53:06 +00:00
Bernd Edlinger
9b972837bd changelog for r248894
From-SVN: r248895
2017-06-05 19:44:29 +00:00
Bernd Edlinger
676519f713 invoke.texi: Document the -fprofile-abs-path option.
2017-06-05  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * doc/invoke.texi: Document the -fprofile-abs-path option.
        * common.opt (fprofile-abs-path): New option.
        * gcov-io.h (gcov_write_filename): Declare.
        * gcov-io.c (gcov_write_filename): New function.
        * coverage.c (coverage_begin_function): Use gcov_write_filename.
        * profile.c (output_location): Likewise.

gcc/testsuite:
2017-06-05  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * gcc.misc-tests/gcov-1a.c: New test.

From-SVN: r248894
2017-06-05 19:27:30 +00:00
Jan Hubicka
7b95ed64c9 * shring-wrap.c: Revert accidental commit.
From-SVN: r248893
2017-06-05 19:14:49 +00:00
Volker Reichelt
2506e3b02a * doc/invoke.texi (-Wduplicated-branches): Add to warning list.
From-SVN: r248887
2017-06-05 18:05:37 +00:00
Jan Hubicka
aea5e79a63 cfgexpand.c (expand_gimple_tailcall): Initialize profile of new edge.
* cfgexpand.c (expand_gimple_tailcall): Initialize profile of
	new edge.
	* ipa-inline.c (want_inline_self_recursive_call_p): Watch for missing
	profile in callgraph edge.
	* profile-count.h (apply_probability): If THIS is 0, then result is 0
	(apply_scale): Likewise.
	* tree-inline.c (copy_bb, copy_edges_for_bb, copy_cfg_body):
	Also scale profile when inlining function with zero profile.
	(initialize_cfun): Update exit block profile even when it is zero.
	* tree-ssa-threadupdate.c (clear_counts_path): Handle correctly case
	when profile is read.

From-SVN: r248885
2017-06-05 17:41:32 +00:00
Volker Reichelt
2f20e7db2c parser.c (cp_parser_base_specifier): Fix typos in error messages.
* parser.c (cp_parser_base_specifier): Fix typos in error messages.

From-SVN: r248884
2017-06-05 17:40:32 +00:00
Michael Meissner
1d135d9873 rs6000.c (toplevel): Include attribs.h.
[gcc]
2017-06-05  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/rs6000.c (toplevel): Include attribs.h.
	(CLONE_*): New constants to define the processors we can generate
	code for with the target_clone attribute.
	(rs6000_clone_map): New array to identify which clone processors
	the current program is running on.
	(TARGET_COMPARE_VERSION_PRIORITY): Define to enable the
	target_clone attribute.
	(TARGET_GENERATE_VERSION_DISPATCHER_BODY): Likewise.
	(TARGET_GET_FUNCTION_VERSIONS_DISPATCHER): Likewise.
	(TARGET_OPTION_FUNCTION_VERSIONS): Likewise.
	(cpu_expand_builtin): Add support for target_clone attribute.
	(rs6000_valid_attribute_p): Allow "default" attribute.
	(get_decl_name): New debug function to simplify printing the
	current function name in debugging statements.
	(rs6000_clone_priority): New functions to support the target_clone
	attribute, and be able to generate code to switch between ISA 2.05
	through ISA 3.0 (power6 through power9).
	(rs6000_compare_version_priority): Likewise.
	(rs6000_get_function_versions_dispatcher): Likewise.
	(make_resolver_func): Likewise.
	(add_condition_to_bb): Likewise.
	(dispatch_function_versions): Likewise.
	(rs6000_generate_version_dispatcher_body): Likewise.
	(rs6000_can_inline_p): Call get_decl_name for debugging usage.
	(fusion_gpr_load_p): Fix a spacing issue.
	* doc/extend.texi (Common Function Attributes): Document that the
	PowerPC supports the target_clone attribute.

[gcc/testsuite]
2017-06-05  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* gcc.target/powerpc/clone1.c: New test.

From-SVN: r248883
2017-06-05 17:37:58 +00:00
Jonathan Wakely
94895bd98d PR libstdc++/80939 Remove unmeetable constexpr specifiers
PR libstdc++/80939
	* include/std/variant (__erased_ctor, __erased_assign, __erased_swap)
	(__erased_hash): Remove constexpr specifier and qualify calls to
	__ref_cast.
	(__erased_dtor): Remove constexpr specifier and use _Destroy.

From-SVN: r248881
2017-06-05 17:49:04 +01:00
Thomas Preud'homme
3c5a5b930d [ARM] Complete legend for ARM register allocation in arm.h
2017-06-05  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * config/arm/arm.h: explain F symbol found in description of ARM
    register allocation in its legend.

From-SVN: r248880
2017-06-05 16:40:02 +00:00
Jan Hubicka
e09f2fb0ef frame-header-opt.c: Include profile-count.h.
* config/mips/frame-header-opt.c: Include profile-count.h.
	* config/riscv/riscv.c: Include profile-count.h

From-SVN: r248879
2017-06-05 15:35:20 +00:00
Janus Weil
92bba237da re PR fortran/70601 ([OOP] ICE on procedure pointer component call)
2017-06-05  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/70601
	* trans-expr.c (gfc_conv_procedure_call): Fix detection of allocatable
	function results.


2017-06-05  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/70601
	* gfortran.dg/proc_ptr_comp_50.f90: New test.

From-SVN: r248878
2017-06-05 16:43:01 +02:00