Commit Graph

161962 Commits

Author SHA1 Message Date
Hristian Kirtchev 3c5d07ab05 [Ada] Spurious tampering check failure
This patch modifies the transient scope mechanism to create a scope when the
condition of an iteration scheme returns a controlled result or involves the
secondary stack. As a result, a while loop which iterates over a container
properly manages the tampering bit at each iteration of the loop.

2018-05-31  Hristian Kirtchev  <kirtchev@adacore.com>

gcc/ada/

	* exp_ch7.adb (Find_Transient_Context): An iteration scheme is a valid
	boudary for a transient scope.

gcc/testsuite/

	* gnat.dg/tampering_check1.adb, gnat.dg/tampering_check1_ivectors.ads,
	gnat.dg/tampering_check1_trim.adb, gnat.dg/tampering_check1_trim.ads:
	New testcase.

From-SVN: r261006
2018-05-31 10:46:48 +00:00
Valentine Reboul 9977c78567 [Ada] Rename "GPL" version to "Community"
2018-05-31  Valentine Reboul  <reboul@adacore.com>

gcc/ada/

	* gnatvsn.ads: Rename "GPL" version to "Community".

From-SVN: r261005
2018-05-31 10:46:43 +00:00
Ed Schonberg 446ac3e5da [Ada] Minor comment improvement
2018-05-31  Ed Schonberg  <schonberg@adacore.com>

gcc/ada/

	* einfo.ads: Improve documentation for the Is_Unsigned_Type entity
	flag.

From-SVN: r261004
2018-05-31 10:46:39 +00:00
Piotr Trojanek 7ae795f7b6 [Ada] Simplify call to Unique_Defining_Entity on protected entry declarations
Calling Unique_Defining_Entity on protectected entry declarations is
equivalent to calling a simpler Defining_Entity; use the simpler routine.

Simplification only; semantics unaffected, so no test provided.

2018-05-31  Piotr Trojanek  <trojanek@adacore.com>

gcc/ada/

	* sem_prag.adb (Analyze_Pragma): Replace call to Unique_Defining_Entity
	with a semantically equivalent call to Defining_Entity.

From-SVN: r261003
2018-05-31 10:46:34 +00:00
Piotr Trojanek 7366d29a54 [Ada] Set Etype on rewriteen Max_Queue_Length expressions
Rewriting of Max_Queue_Length expression into N_Integer_Literal should probably
be done in expansion and not in analysis, but anyway it should not strip the
expression from its Etype because backends (e.g. GNATprove) expect that Etype
to be present.

No frontend test is provided, because GNAT doesn't care about the missing
Etype decoration. This patch allows to simplify AST processing in GNATprove.

2018-05-31  Piotr Trojanek  <trojanek@adacore.com>

gcc/ada/

	* sem_prag.adb (Analyze_Pragma): Set Etype on the rewritten
	Max_Queue_Length expression.

From-SVN: r261002
2018-05-31 10:46:17 +00:00
Sergey Rybin 81a95941f9 [Ada] Update gnatelim documentation wrt. compilation of main unit
2018-05-31  Sergey Rybin  <rybin@adacore.com>

gcc/ada/

	* doc/gnat_ugn/gnat_and_program_execution.rst: gnatelim does not need
	that the main unit to be built before the call, now it computes the
	closure of the main unit itself.
	* gnat_ugn.texi: Regenerate.

From-SVN: r261001
2018-05-31 10:46:12 +00:00
Eric Botcazou 9104d201d5 [Ada] Fix tracking of the first item in Repinfo
2018-05-31  Eric Botcazou  <ebotcazou@adacore.com>

gcc/ada/

	* repinfo.adb (List_Structural_Record_Layout): Set First to false
	after having listed the fields of the parent type, if any.

From-SVN: r261000
2018-05-31 10:46:07 +00:00
Eric Botcazou 21afc4facd [Ada] Fix strange behavior of Object_Size for packed array subtype
2018-05-31  Eric Botcazou  <ebotcazou@adacore.com>

gcc/ada/

	* gcc-interface/decl.c (gnat_to_gnu_entity) <discrete_type>: Do not
	deal with the ___XP suffix for packed array types here...
	<E_Array_Subtype>: ...or here when processing the implementation type
	but when processing the original type instead.  Do not reuse the DECL
	of the implementation type for the original type.  Tidy up.

From-SVN: r260999
2018-05-31 10:46:02 +00:00
Eric Botcazou 42e4b796dc [Ada] Post warning on object size clause for subtype
This ensures that a warning for an object size clause present on a subtype
is posted on the clause and not on a size clause present on the type.

2018-05-31  Eric Botcazou  <ebotcazou@adacore.com>

gcc/ada/

	* einfo.ads (Object_Size_Clause): Declare.
	* einfo.adb (Object_Size_Clause): New function.
	* gcc-interface/utils.c (maybe_pad_type): Test Has_Size_Clause before
	retrieving Size_Clause and post the warning on the object size clause
	if Has_Object_Size_Clause is true.

gcc/testsuite/

	* gnat.dg/size_clause1.adb: New testcase.

From-SVN: r260998
2018-05-31 10:45:57 +00:00
Javier Miranda 59f7c7167a [Ada] Fix compiler crash for tagged private types
2018-05-31  Javier Miranda  <miranda@adacore.com>

gcc/ada/

	* sem_util.ads, sem_util.adb (Find_Primitive_Eq): New subprogram.
	* exp_ch4.adb (Expand_Composite_Equality): Use the new subprogram
	Find_Primitive_Eq to search for the primitive of types whose underlying
	type is a tagged type.

gcc/testsuite/

	* gnat.dg/tagged1.adb, gnat.dg/tagged1.ads: New testcase.

From-SVN: r260997
2018-05-31 10:45:51 +00:00
Yannick Moy 01f481c77e [Ada] Fix check on placement of multiple loop (in)variant pragmas
Loop (in)variants should appear next to each other, which is checked by GNAT
frontend. As statements inserted during expansion may break this contiguity,
GNAT recognizes specially such statements which originate in loop pragmas. In
some cases, this special treatment was not properly put in place, which lead to
spurious errors being issued.

2018-05-31  Yannick Moy  <moy@adacore.com>

gcc/ada/

	* sem_prag.adb (Analyze_Pragma.Check_Loop_Pragma_Placement): Inverse
	order of treatment between nodes recognized as loop pragmas (or
	generated from one) and block statements.

From-SVN: r260996
2018-05-31 10:45:05 +00:00
Doug Rupp 4cfb305e9c [Ada] Posix 2008: reimplement System.OS_Primitives.Clock using clock_gettime
gettimeofday is deprecated in Posix 2008, clock_gettime is the recommended
replacement.

2018-05-31  Doug Rupp  <rupp@adacore.com>

gcc/ada/

	* libgnat/s-osprim__posix2008.adb (Clock): Implement using
	clock_gettime.

From-SVN: r260995
2018-05-31 10:44:56 +00:00
Ed Schonberg ade649b2bf [Ada] Unnesting: add a predicate to help expansion of task and protected types
2018-05-31  Ed Schonberg  <schonberg@adacore.com>

gcc/ada/

	* exp_unst.ads, exp_unst.adb (In_Synchronized_Unit): New predicate to
	mark subprograms that cannot be eliminated because they must be treated
	as reachable from outside the current unit. This includes entry bodies
	and protected operations.

From-SVN: r260994
2018-05-31 10:44:51 +00:00
Ed Schonberg dfd2da005e [Ada] Convert operands of generated code to Standard.Unsigned for modular ops.
2018-05-31  Ed Schonberg  <schonberg@adacore.com>

gcc/ada/

	* exp_ch4.adb (Expand_Modular_Addition, Expand_Modular_Subtraction):
	Convert all operands of the generated code to Standard.Unsigned, to
	prevent spurious visibility errors. This is needed when the generated
	expansion involves a modular index type of an array type, and the index
	type is not immediately visible.

From-SVN: r260993
2018-05-31 10:44:45 +00:00
Matthias Klose 5b87c1fe09 re PR sanitizer/86012 (libsanitizer build failure on sparc64-linux-gnu)
2018-05-31  Matthias Klose  <doko@ubuntu.com>

        PR sanitizer/86012
        * sanitizer_common/sanitizer_platform_limits_posix.cc: Define
        SIZEOF_STRUCT_USTAT for 32bit sparc.

From-SVN: r260990
2018-05-31 09:57:33 +00:00
Sameera Deshpande 568421baa5 Patch implementing vld1_*_x3, vst1_*_x2 and vst1_*_x3 intrinsics for AARCH64 for all types.
From-SVN: r260989
2018-05-31 14:16:20 +05:30
GCC Administrator 5328e74a17 Daily bump.
From-SVN: r260988
2018-05-31 00:16:46 +00:00
Jozef Lawrynowicz 786b5b8722 msp430.c (msp430_output_labelref): Prepend user_label_prefix to name.
* config/msp430/msp430.c (msp430_output_labelref): Prepend
	user_label_prefix to name.

From-SVN: r260983
2018-05-30 17:33:49 -06:00
Jozef Lawrynowicz 98c112851b tree-core.h: Update comment about the format of NAME string passed to handler in attribute_spec.
* tree-core.h: Update comment about the format of NAME string
	passed to handler in attribute_spec.

From-SVN: r260982
2018-05-30 17:32:31 -06:00
Jozef Lawrynowicz 525213a53d msp430.md: Remove erroneous subreg expression from zero_extendqisi2 insn pattern.
* gcc/config/msp430/msp430.md: Remove erroneous subreg expression from
	zero_extendqisi2 insn pattern. Remove msp430x ISA restriction on
	zero_extend{q,h}isi2.

From-SVN: r260981
2018-05-30 17:26:03 -06:00
Rasmus Villemoes bbdf026f43 * crtstuff.c: Remove declaration of _Jv_RegisterClasses.
From-SVN: r260980
2018-05-30 17:21:48 -06:00
Jonathan Wakely d72a3672c5 PR c++/77777 improve location for diagnostic
Pass in the location of the invalid expression, not the next input
location (which might be a comma or closing parenthesis on a different
line).

gcc/cp:

	PR c++/77777
	* call.c (resolve_args): Use location of expression, not current input
	location.

gcc/testsuite:

	PR c++/77777
	* g++.dg/diagnostic/pr77777.C: New test.

From-SVN: r260979
2018-05-31 00:13:48 +01:00
David Pagan b67b9225f7 re PR c/55976 (-Werror=return-type should error on returning a value from a void function)
2018-05-30  David Pagan  <dave.pagan@oracle.com>

	PR c/55976
	* c-decl.c (grokdeclarator): Update check for return type warnings.
	(start_function): Likewise.
	(finish_function): Likewise.
	* c-typeck.c (c_finish_return): Update check for return type warnings.
	Pass OPT_Wreturn_type to pedwarn when appropriate.

	PR c/55976
	* c-opts.c (c_common_post_options): Set default for warn_return_type
	for C++/C++ with ObjC extensions only. For C, makes it possible to
	differentiate between default (no option), -Wreturn-type, and
	-Wno-return-type.

	PR c/55976
	* gcc.dg/noncompile/pr55976-1.c: New test.
	* gcc.dg/noncompile/pr55976-2.c: New test.

From-SVN: r260978
2018-05-30 16:55:38 -06:00
Borislav Petkov e91c9fe500 extend.texi: Document some architecture specific constraints and sort entries.
* doc/extend.texi: Document some architecture specific
	constraints and sort entries.

From-SVN: r260977
2018-05-30 16:49:25 -06:00
Martin Sebor 3ce4cdb2f7 PR middle-end/85369 - no -Wstringop-overflow for a strcpy / stpcpy call with a nonstring pointer when providing movstr pattern
gcc/ChangeLog:

	PR middle-end/85369
	* builtins.c (expand_builtin_stpcpy_1): New function.
	(expand_builtin_stpcpy): Call it, and call maybe_warn_nonstring_arg
	only if the former succeeds.

From-SVN: r260976
2018-05-30 16:24:43 -06:00
Jason Merrill 1ba9c854bb ChangeLog fix
From-SVN: r260974
2018-05-30 15:42:52 -04:00
Ville Voutilainen 752e7593b0 Do not warn about zero-as-null when NULL is used.
gcc/cp/

Do not warn about zero-as-null when NULL is used.
* call.c (conversion_null_warnings): Check for pointer
types converted from zero constants.
(convert_like_real): Add a warning sentinel at the end.
* tree.c (maybe_warn_zero_as_null_pointer_constant): Also
check null_node_p.

testsuite/

Do not warn about zero-as-null when NULL is used.
* g++.dg/warn/Wzero-as-null-pointer-constant-7.C: New.

From-SVN: r260973
2018-05-30 22:33:38 +03:00
Jason Merrill 298434c916 PR c++/85807 - ICE with call in template NSDMI.
* init.c (get_nsdmi): Use push_to/pop_from_top_level.
	* tree.c (bot_manip): Don't set_flags_from_callee in a template.

From-SVN: r260972
2018-05-30 15:31:11 -04:00
Sameera Deshpande fbf5c1c64c patch to add support of ARMv8.4 in saphira
From-SVN: r260971
2018-05-31 00:10:03 +05:30
Jan Hubicka e062dc8089 simple-object.h (simple_object_copy_lto_debug_sections): Add rename parameter.
* simple-object.h (simple_object_copy_lto_debug_sections): Add rename
	parameter.

From-SVN: r260970
2018-05-30 19:57:50 +02:00
Jason Merrill 5603790dbf PR c++/85873 - constant initializer_list array not in .rodata.
* tree.c (build_target_expr): Set TREE_READONLY.
	* call.c (set_up_extended_ref_temp): Set TREE_READONLY.

From-SVN: r260969
2018-05-30 13:33:06 -04:00
Jason Merrill cd7fa7a74b Improve error recovery for structured binding in condition.
* parser.c (cp_parser_check_condition_declarator): Handle
	cp_error_declarator.

From-SVN: r260968
2018-05-30 13:32:54 -04:00
Jan Hubicka d555daaf92 Remove accidental commit.
From-SVN: r260967
2018-05-30 17:10:03 +00:00
Jan Hubicka da65152899 20111213-1_0.c: Fix template.
* gcc.dg/lto/20111213-1_0.c: Fix template.
	* gcc.dg/lto/20100603-1_0.c: Fix template.
	* gcc.dg/lto/20100603-2_0.c: Fix template.
	* gcc.dg/lto/20100603-3_0.c: Fix template.

From-SVN: r260966
2018-05-30 17:07:36 +00:00
Jan Hubicka 6dc1ee58c6 * doc/invoke.texi (-flinker-output): Document
From-SVN: r260965
2018-05-30 16:43:59 +00:00
Jan Hubicka 2a58bcf2da passes.c (ipa_write_summaries): Only modify statements if body is in memory.
* passes.c (ipa_write_summaries): Only modify statements if body
	is in memory.
	* cgraphunit.c (ipa_passes): Also produce intermeidate code when
	incrementally linking.
	(ipa_passes): Likewise.
	* lto-cgraph.c (lto_output_node): When incrementally linking do not
	pass down resolution info.
	* common.opt (flag_incremental_link): Update info.
	* gcc.c (plugin specs): Turn flinker-output=* to
	-plugin-opt=-linker-output-known
	* toplev.c (compile_file): Also cut compilation when doing incremental
	link.
	* flag-types. (enum lto_partition_model): Add
	LTO_LINKER_OUTPUT_NOLTOREL.
	(invoke.texi): Add -flinker-output docs.
	* ipa.c (symbol_table::remove_unreachable_nodes): Handle LTO incremental
	link same way as WPA; do not stream in dead initializers.

From-SVN: r260964
2018-05-30 16:43:11 +00:00
Jan Hubicka 5b42d19624 passes.c (ipa_write_summaries): Only modify statements if body is in memory.
* passes.c (ipa_write_summaries): Only modify statements if body
	is in memory.
	* cgraphunit.c (ipa_passes): Also produce intermeidate code when
	incrementally linking.
	(ipa_passes): Likewise.
	* lto-cgraph.c (lto_output_node): When incrementally linking do not
	pass down resolution info.
	* common.opt (flag_incremental_link): Update info.
	* gcc.c (plugin specs): Turn flinker-output=* to
	-plugin-opt=-linker-output-known
	* toplev.c (compile_file): Also cut compilation when doing incremental
	link.
	* flag-types. (enum lto_partition_model): Add
	LTO_LINKER_OUTPUT_NOLTOREL.
	(invoke.texi): Add -flinker-output docs.
	* ipa.c (symbol_table::remove_unreachable_nodes): Handle LTO incremental
	link same way as WPA; do not stream in dead initializers.

	* dwarf2out.c (dwarf2out_die_ref_for_decl,
	darf2out_register_external_decl): Support incremental link.

	* lang.opt (lto_linker_output): Add nolto-rel.
	* lto-lang.c (lto_post_options): Handle LTO_LINKER_OUTPUT_REL
	and LTO_LINKER_OUTPUT_NOLTOREL.
	(lto_init): Generate lto when doing incremental link.
	* lto.c (lto_precess_name): Add lto1-inclink.

	* testsuite/g++.dg/lto/20081109-1_0.C: Add -flinker-output=nolto-rel.
	* testsuite/g++.dg/lto/20081118_0.C: Add -flinker-output=nolto-rel.
	* testsuite/g++.dg/lto/20081119-1_0.C: Add -flinker-output=nolto-rel.
	* testsuite/g++.dg/lto/20081120-1_0.C: Add -flinker-output=nolto-rel.
	* testsuite/g++.dg/lto/20081120-2_0.C: Add -flinker-output=nolto-rel.
	* testsuite/g++.dg/lto/20081123_0.C: Add -flinker-output=nolto-rel.
	* testsuite/g++.dg/lto/20081204-1_0.C: Add -flinker-output=nolto-rel.
	* testsuite/g++.dg/lto/20081219_0.C: Add -flinker-output=nolto-rel.
	* testsuite/g++.dg/lto/20090302_0.C: Add -flinker-output=nolto-rel.
	* testsuite/g++.dg/lto/20090313_0.C: Add -flinker-output=nolto-rel.
	* testsuite/g++.dg/lto/20091002-2_0.C: Add -flinker-output=nolto-rel.
	* testsuite/g++.dg/lto/20091002-3_0.C: Add -flinker-output=nolto-rel.
	* testsuite/g++.dg/lto/20091026-1_0.C: Add -flinker-output=nolto-rel.
	* testsuite/g++.dg/lto/20100724-1_0.C: Add -flinker-output=nolto-rel.
	* testsuite/g++.dg/lto/20101010-4_0.C: Add -flinker-output=nolto-rel.
	* testsuite/g++.dg/lto/20101015-2_0.C: Add -flinker-output=nolto-rel.
	* testsuite/g++.dg/lto/20110311-1_0.C: Add -flinker-output=nolto-rel.
	* testsuite/g++.dg/lto/pr45621_0.C: Add -flinker-output=nolto-rel.
	* testsuite/g++.dg/lto/pr48042_0.C: Add -flinker-output=nolto-rel.
	* testsuite/g++.dg/lto/pr48354-1_0.C: Add -flinker-output=nolto-rel.
	* testsuite/g++.dg/lto/pr54625-1_0.c: Add -flinker-output=nolto-rel.
	* testsuite/g++.dg/lto/pr54625-2_0.c: Add -flinker-output=nolto-rel.
	* testsuite/g++.dg/lto/pr68811_0.C: Add -flinker-output=nolto-rel.
	* testsuite/g++.dg/torture/pr43760.C: New test. Add -flinker-output=nolto-rel.
	* testsuite/gcc.dg/lto/20081120-1_0.c: Add -flinker-output=nolto-rel.
	* testsuite/gcc.dg/lto/20081120-2_0.c: Add -flinker-output=nolto-rel.
	* testsuite/gcc.dg/lto/20081126_0.c: Add -flinker-output=nolto-rel.
	* testsuite/gcc.dg/lto/20081204-1_0.c: Add -flinker-output=nolto-rel.
	* testsuite/gcc.dg/lto/20081204-2_0.c: Add -flinker-output=nolto-rel.
	* testsuite/gcc.dg/lto/20081212-1_0.c: Add -flinker-output=nolto-rel.
	* testsuite/gcc.dg/lto/20081224_0.c: Add -flinker-output=nolto-rel.
	* testsuite/gcc.dg/lto/20090116_0.c: Add -flinker-output=nolto-rel.
	* testsuite/gcc.dg/lto/20090126-1_0.c: Add -flinker-output=nolto-rel.
	* testsuite/gcc.dg/lto/20090126-2_0.c: Add -flinker-output=nolto-rel.
	* testsuite/gcc.dg/lto/20090206-1_0.c: Add -flinker-output=nolto-rel.
	* testsuite/gcc.dg/lto/20090219_0.c: Add -flinker-output=nolto-rel.
	* testsuite/gcc.dg/lto/20091013-1_0.c: Add -flinker-output=nolto-rel.
	* testsuite/gcc.dg/lto/20091014-1_0.c: Add -flinker-output=nolto-rel.
	* testsuite/gcc.dg/lto/20091015-1_0.c: Add -flinker-output=nolto-rel.
	* testsuite/gcc.dg/lto/20091016-1_0.c: Add -flinker-output=nolto-rel.
	* testsuite/gcc.dg/lto/20091020-1_0.c: Add -flinker-output-nolto-rel.
	* testsuite/gcc.dg/lto/20091020-2_0.c: Add -flinker-output-nolto-rel.
	* testsuite/gcc.dg/lto/20091027-1_0.c: Add -flinker-output-nolto-rel.
	* testsuite/gcc.dg/lto/20100426_0.c: Add -flinker-output-nolto-rel.
	* testsuite/gcc.dg/lto/20100430-1_0.c: Add -flinker-output-nolto-rel.
	* testsuite/gcc.dg/lto/20100603-1_0.c: Add -flinker-output-nolto-rel.
	* testsuite/gcc.dg/lto/20100603-2_0.c: Add -flinker-output-nolto-rel.
	* testsuite/gcc.dg/lto/20100603-3_0.c: Add -flinker-output-nolto-rel.
	* testsuite/gcc.dg/lto/20111213-1_0.c: Add -flinker-output-nolto-rel.
	* testsuite/gcc.dg/lto/pr45736_0.c: Add -flinker-output-nolto-rel.
	* testsuite/gcc.dg/lto/pr52634_0.c: Add -flinker-output-nolto-rel.
	* testsuite/gcc.dg/lto/pr54702_0.c: Add -flinker-output-nolto-rel.
	* testsuite/gcc.dg/lto/pr59323-2_0.c: Add -flinker-output-nolto-rel.
	* testsuite/gcc.dg/lto/pr59323_0.c: Add -flinker-output-nolto-rel.
	* testsuite/gcc.dg/lto/pr60820_0.c: Add -flinker-output-nolto-rel.
	* testsuite/gcc.dg/lto/pr81406_0.c: Add -flinker-output-nolto-rel.
	* testsuite/gcc.dg/lto/pr83388_0.c: Add -flinker-output-nolto-rel.
	* testsuite/gfortran.dg/lto/20091016-1_0.f90: Add -flinker-output-nolto-rel.
	* testsuite/gfortran.dg/lto/20091028-1_0.f90: Add -flinker-output-nolto-rel.
	* testsuite/gfortran.dg/lto/20091028-2_0.f90: Add -flinker-output-nolto-rel.
	* testsuite/gfortran.dg/lto/pr46911_0.f: Add -flinker-output-nolto-rel.
	* testsuite/gfortran.dg/lto/pr47839_0.f90: Add -flinker-output-nolto-rel.

From-SVN: r260963
2018-05-30 16:42:41 +00:00
Jan Hubicka 6c363ddd67 * lto-opts.c (lto_write_options): Skip OPT_dumpdir, OPT_fresolution_.
From-SVN: r260962
2018-05-30 16:37:53 +00:00
Jan Hubicka 0df8dc6e18 lto-wrapper.c (debug_objcopy): Add rename parameter; pass it down to simple_object_copy_lto_debug_sections.
* lto-wrapper.c (debug_objcopy): Add rename parameter; pass
	it down to simple_object_copy_lto_debug_sections.
	(run_gcc): Determine incremental LTO link time and configure
	lto1 into non-wpa mode, disable renaming of debug sections.

From-SVN: r260961
2018-05-30 16:36:55 +00:00
Jan Hubicka de54061dcc lto-plugin.c: (non_claimed_files): New static var.
* lto-plugin.c: (non_claimed_files): New static var.
	(linker_ouput_known): New static var.
	(all_symbols_read_handler): When user specifies linker output do not
	imply it; output warning when nonlto-rel mode is forced.
	(claim_file_header): Record number of nonclaimed files.
	(process_option): Remember if linker output is known

From-SVN: r260960
2018-05-30 16:34:54 +00:00
Kelvin Nilsen 3d63e711a8 extend.texi (PowerPC AltiVec Built-in Functions): Remove descriptions of various incorrectly documented functions.
gcc/ChangeLog:

2018-05-30  Kelvin Nilsen  <kelvin@gcc.gnu.org>

	* doc/extend.texi (PowerPC AltiVec Built-in Functions): Remove
	descriptions of various incorrectly documented functions.

From-SVN: r260959
2018-05-30 16:20:16 +00:00
Andre Vieira 04b21a0a1b Fixing ChangeLog entry for earlier commit.
From-SVN: r260958
2018-05-30 16:04:03 +00:00
Andre Vieira 0c8e76210a Reverting r260635
gcc
    2018-05-30  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	2018-05-24  Andre Vieira  <andre.simoesdiasvieira@arm.com>

        PR target/83009
	Revert:
        * config/aarch64/predicates.md (aarch64_mem_pair_lanes_operand): Make
        address check not strict.

    gcc/testsuite
    2018-05-30  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	2018-05-24  Andre Vieira  <andre.simoesdiasvieira@arm.com>
	Revert
        PR target/83009
        * gcc/target/aarch64/store_v2vec_lanes.c: Add extra tests.
    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@260635 138bc75d-0d04-0410-961f-82ee72b054a4

From-SVN: r260957
2018-05-30 15:59:14 +00:00
Jan Hubicka 7ce4ce10cd simple-object.h (simple_object_copy_lto_debug_sections): Add rename parameter.
* simple-object.h (simple_object_copy_lto_debug_sections): Add rename
	parameter.
	* simple-object.c (handle_lto_debug_sections): Add rename parameter.
	(handle_lto_debug_sections_rename): New function.
	(handle_lto_debug_sections_norename): New function.
	(simple_object_copy_lto_debug_sections): Add rename parameter.

From-SVN: r260956
2018-05-30 15:26:26 +00:00
Richard Biener 74e0960e3e re PR tree-optimization/85964 (compile time hog w/ -O3 -ftracer -fno-guess-branch-probability)
2018-05-30  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/85964
	* tracer.c (better_p): Drop initialized count check, we only
	call the function with initialized counts now.
	(find_best_successor): Do find a best edge if one
	has uninitialized count.
	(find_best_predecessor): Likewise.  Do BB frequency check only
	if count is initialized.

From-SVN: r260954
2018-05-30 14:55:04 +00:00
Jackson Woodruff d0b51297b0 [AArch64] Improve LDP/STP generation that requires a base register
This patch generalizes the formation of LDP/STP that require a base register.

In AArch64, LDP/STP instructions have different sized immediate offsets than
normal LDR/STR instructions. This part of the backend attempts to spot groups
of four LDR/STR instructions that can be turned into LDP/STP instructions by
using a base register.

Previously, we would only accept address pairs that were ordered in ascending
or descending order, and only strictly sequential loads/stores. In fact, the
instructions that we generate from this should be able to consider any order
of loads or stores (provided that they can be re-ordered). They should also be
able to accept non-sequential loads and stores provided that the two pairs of
addresses are amenable to pairing. The current code is also overly restrictive
on the range of addresses that are accepted, as LDP/STP instructions may take
negative offsets as well as positive ones.

This patch improves that by allowing us to accept all orders of loads/stores
that are valid, and extending the range that the LDP/STP addresses can reach. 

2017-05-30  Jackson Woodruff  <jackson.woodruff@arm.com>

	* config/aarch64/aarch64.c (aarch64_host_wide_int_compare): New.
	(aarch64_ldrstr_offset_compare): New.
	(aarch64_operands_adjust_ok_for_ldpstp): Update to consider all
	load/store orderings.
	(aarch64_gen_adjusted_ldpstp): Likewise.

	* gcc.target/aarch64/simd/ldp_stp_9: New.
	* gcc.target/aarch64/simd/ldp_stp_10: New.
	* gcc.target/aarch64/simd/ldp_stp_11: New.
	* gcc.target/aarch64/simd/ldp_stp_12: New.

From-SVN: r260952
2018-05-30 10:59:25 +00:00
Wilco Dijkstra 2eb2847ec5 [AArch64] Fix aarch64_ira_change_pseudo_allocno_class
A recent commit removing '*' from the md files caused a large regression in
h264ref.  It turns out aarch64_ira_change_pseudo_allocno_class is no longer
effective after the SVE changes, and the combination results in the regression.
This patch fixes it by explicitly checking for a subset of GENERAL_REGS and
FP_REGS.  Add a missing ? to aarch64_get_lane to fix a failure in the testsuite.

    gcc/
	* config/aarch64/aarch64.c (aarch64_ira_change_pseudo_allocno_class):
	Check for subset of GENERAL_REGS and FP_REGS.
	* config/aarch64/aarch64-simd.md (aarch64_get_lane): Increase cost of
	r=w alternative.

From-SVN: r260951
2018-05-30 10:31:21 +00:00
Piotr Trojanek 30522cdb14 [Ada] Update documentation of Sinfo.Package_Instantiation field
This was forgotten when renaming Get_Package_Instantiation_Node to
Get_Unit_Instantiation_Node.

2018-05-30  Piotr Trojanek  <trojanek@adacore.com>

gcc/ada/

	* einfo.ads (Package_Instantiation): Update comment after a routine
	that uses this field has been renamed.

From-SVN: r260950
2018-05-30 08:59:03 +00:00
Ed Schonberg b23fa3d45f [Ada] Unnesting: always transform local Raise statements
2018-05-30  Ed Schonberg  <schonberg@adacore.com>

gcc/ada/

	* exp_ch11.adb (Replace_Raise_By_Goto): The transfomation is legal even
	if the local raise statement includes a string expression. This
	expression might be picked up by an outer handler or discarded, but
	plays no role in this transformation.

From-SVN: r260949
2018-05-30 08:58:57 +00:00
Hristian Kirtchev 07fb1ef483 [Ada] Minor reformatting
2018-05-30  Hristian Kirtchev  <kirtchev@adacore.com>

gcc/ada/

	* exp_aggr.adb, exp_unst.adb, freeze.adb, libgnat/a-direct.adb: Minor
	reformatting.

From-SVN: r260948
2018-05-30 08:58:51 +00:00