Commit Graph

146688 Commits

Author SHA1 Message Date
Arnaud Charlet
519e9fdfba [multiple changes]
2016-06-14  Bob Duff  <duff@adacore.com>

	* sem_elab.adb (Check_A_Call): Do nothing if the callee is
	(or is in) an instance, and the caller is outside.  Misc cleanup.

2016-06-14  Javier Miranda  <miranda@adacore.com>

	* sem_ch4.adb (Analyze_Quantified_Expression):
	Generating C code avoid spurious warning on loop variable of
	inlinined postconditions.

From-SVN: r237438
2016-06-14 14:39:11 +02:00
Javier Miranda
64f5d139b9 sem_attr.adb (Analyze_Attribute_Old_Result): Adding assertion.
2016-06-14  Javier Miranda  <miranda@adacore.com>

	* sem_attr.adb (Analyze_Attribute_Old_Result): Adding assertion.
	(Analyze_Attribute [Attribute_Old]): Generating C handle
	analysis of 'old in inlined postconditions.
	(Analyze_Attribute [Attribute_Result]): Generating C handle analysis
	of 'result in inlined postconditions.
	* exp_attr.adb (Expand_N_Attribute_Reference [Attribute_Old]):
	Generating C handle expansion of 'old in inlined postconditions.
	* inline.adb (Declare_Postconditions_Result): New subprogram.
	* sem_ch12.adb (Copy_Generic_Node): Copy pragmas generated from
	aspects when generating C code since pre/post conditions are
	inlined and the frontend inlining relies on this routine to
	perform inlining.
	* exp_ch6.adb (Inlined_Subprogram): Replace Generate_C_Code
	by Modify_Tree_For_C.
	* exp_unst.adb (Visit_Node): Searching for up-level references
	skip entities defined in inlined subprograms.

From-SVN: r237437
2016-06-14 14:37:54 +02:00
Arnaud Charlet
5a52795215 [multiple changes]
2016-06-14  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch7.adb, sem_ch12.adb, freeze.adb, lib-xref.ads, exp_ch3.adb:
	Minor reformatting.

2016-06-14  Bob Duff  <duff@adacore.com>

	* sem_elab.adb: Do nothing if the callee is intrinsic.
	* sinfo.ads, einfo.ads: Minor comment fixes.

From-SVN: r237436
2016-06-14 14:36:01 +02:00
Arnaud Charlet
7782ff6771 [multiple changes]
2016-06-14  Ed Schonberg  <schonberg@adacore.com>

	* contracts.adb (Has_Null_Body): Move to sem_util, for general
	availability.
	* sem_util.ads, sem_util.adb (Has_Null_Body): Predicate to
	determine when an internal procedure created for some assertion
	checking (e.g. type invariant) is a null procedure. Used to
	eliminate redundant calls to such procedures when they apply to
	components of composite types.
	* exp_ch3.adb (Build_Component_Invariant_Call): Do not add call
	if invariant procedure has a null body.

2016-06-14  Thomas Quinot  <quinot@adacore.com>

	* g-socket.ads (Check_Selector): Clarify effect on IN OUT socket
	set parameters.

2016-06-14  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch4.adb (Process_Action): Pass the action
	list to Process_Transient_Object.
	(Process_If_Case_Statements): Pass the action list to
	Process_Transient_Object.
	(Process_Transient_Object): Add new parameter Stmts and update the
	comment on usage. When the context is a Boolean evaluation, insert
	any finalization calls after the last statement of the construct.

From-SVN: r237435
2016-06-14 14:33:56 +02:00
Arnaud Charlet
4969efdf7d [multiple changes]
2016-06-14  Tristan Gingold  <gingold@adacore.com>

	* einfo.adb, einfo.ads (Has_Timing_Event,
	Set_Has_Timing_Event): Add Has_Timing_Event flag.
	(Write_Entity_Flags): Display * sem_util.ads, sem_util.adb:
	(Propagate_Type_Has_Flags): New procedure to factorize code.
	* exp_ch3.adb (Expand_Freeze_Array_Type,
	Expand_Freeze_Record_Type): Call Propagate_Type_Has_Flags.
	* sem_ch3.adb (Access_Type_Decalaration): Initialize
	Has_Timing_Event flag.	(Analyze_Object_Declaration):
	Move code that check No_Local_Timing_Events near
	the code that check No_Local_Protected_Objects.
	(Analyze_Private_Extension_Declaration, Array_Type_Declaration)
	(Build_Derived_Type, Copy_Array_Base_Type_Attributes,
	Process_Full_View) (Record_Type_Definition): Call
	Propagate_Type_Has_Flags.
	* sem_ch4.adb (Analyze_Allocator): Check No_Local_Timing_Events.
	* sem_ch7.adb (New_Private_Type): Set Has_Timing_Event on the
	Timing_Event type.
	(Uninstall_Declaration): Call Propagate_Type_Has_Flags.
	* sem_ch9.adb (Analyze_Protected_Definition): Call
	Propagate_Type_Has_Flags.

2016-06-14  Arnaud Charlet  <charlet@adacore.com>

	* sem.ads: Minor style fix.

From-SVN: r237434
2016-06-14 14:23:34 +02:00
Arnaud Charlet
44900051ac [multiple changes]
2016-06-14  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Analyze_Associations): An actual parameter
	with a box must be included in the count of actuals, to detect
	possible superfluous named actuals that do not match any of the
	formals of the generic unit in a formal package declaration.

2016-06-14  Justin Squirek  <squirek@adacore.com>

	* sem_ch3.adb (Analyze_Object_Declaration): Fix formatting
	of error output related to SPARK RM 6.1.7(3) and pragma
	Extensions_Visible.
	* sem_ch4.adb (Analyze_Type_Conversion): Fix formatting of error
	output related to SPARK RM 6.1.7(3) and pragma Extensions_Visible.
	* sem_prag.adb (Analyze_Pragma): Fix formatting of error output
	related to SPARK RM 7.1.2(15) and pragma Volatile_Function
	so that the values True and False are no longer surrounded by
	double quotes.
	* sem_res.adb (Resolve_Actuals): Fix formatting of error output
	related to SPARK RM 6.1.7(3) and pragma Extensions_Visible.

2016-06-14  Arnaud Charlet  <charlet@adacore.com>

	* gnat1drv.adb (Adjust_Global_Switches): Enable access checks
	in codepeer mode.
	* freeze.adb: Minor grammar fix in comment.

From-SVN: r237433
2016-06-14 14:20:01 +02:00
Arnaud Charlet
0da343bce0 [multiple changes]
2016-06-14  Hristian Kirtchev  <kirtchev@adacore.com>

	* lib.adb: Minor reformatting.
	* sem_util.adb (Is_OK_Volatile_Context): Do
	include Address in the supported attributes.

2016-06-14  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch4.adb (Expand_N_Case_Expression):
	Code cleanup. Finalize any transient controlled
	objects on exit from a case expression alternative.
	(Expand_N_If_Expression): Code cleanup.
	(Process_Actions): Removed.
	(Process_If_Case_Statements): New routine.
	(Process_Transient_Object): Change the name of formal Rel_Node to
	N and update all occurrences. Update the comment on usage. When
	the type of the context is Boolean, the proper insertion point
	for the finalization call is after the last declaration.

2016-06-14  Ed Schonberg  <schonberg@adacore.com>

	* lib-xref.ads, lib-xref.adb (Has_Deferred_Reference): new
	predicate to determine whether an entity appears in a context
	for which a Deferred_Reference was created, because it is not
	possible to determine when reference is analyzed whether it
	appears in a context in which the entity is modified.
	* sem_ch5.adb (Analyze_Statement): Do not emit a useless warning
	on assignment for an entity that has a deferred_reference.

2016-06-14  Javier Miranda  <miranda@adacore.com>

	* sem_res.adb (Resolve_Actuals): Generate a reference to actuals that
	come from source. Previously the reference was generated only if the
	call comes from source but the call may be rewritten by the expander
	thus causing the notification of spurious warnings.

2016-06-14  Arnaud Charlet  <charlet@adacore.com>

	* gnat1drv.adb: Remove further references to AAMP.
	* checks.adb (Apply_Scalar_Range_Check): Take
	Check_Float_Overflow info account.
	* live.ads, live.adb Added subprogram headers and
	start-of-processing-for comments.
	* sem_ch12.adb (Instantiate_Package_Body): Do not suppress
	checks when instantiating runtime units in CodePeer mode.

From-SVN: r237432
2016-06-14 14:17:48 +02:00
Arnaud Charlet
a5150cb18f [multiple changes]
2016-06-14  Arnaud Charlet  <charlet@adacore.com>

	* exp_ch3.adb (Expand_N_Object_Declaration): Only consider
	nodes from sources.

2016-06-14  Arnaud Charlet  <charlet@adacore.com>

	* switch-c.adb, gnat1drv.adb (Adjust_Global_Switches): Only disable
	simple value propagation in CodePeer mode when warnings are disabled.
	(Scan_Front_End_Switches): Enable relevant front-end switches
	when using -gnateC.

2016-06-14  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_util.adb (Is_OK_Volatile_Context): A
	reference to a volatile object is considered OK if appears as
	the prefix of attributes Address, Alignment, Component_Size,
	First_Bit, Last_Bit, Position, Size, Storage_Size.

2016-06-14  Yannick Moy  <moy@adacore.com>

	* lib-xref-spark_specific.adb (Add_SPARK_File): Do not traverse
	subunits directly, as they are already traversed as part of the
	top-level unit to which they belong.
	(Add_SPARK_Xrefs): Add assertions to ensure correct sorting.
	(Generate_Dereference): Use unique definition place for special
	variable __HEAP, to ensure correct sorting of references.
	* lib-xref.adb (Generate_Reference): Use top-level unit in case
	of subunits.
	* lib.adb, lib.ads (Get_Top_Level_Code_Unit): New functions that
	compute the top-level code unit for a source location of AST node,
	that go past subunits.

From-SVN: r237431
2016-06-14 14:12:42 +02:00
Andre Vieira
3970e5458e zero_bits_compound-1.c: Support aarch64.
2016-06-14  Andre Vieira  <andre.simoesdiasvieira@arm.com>

gcc/testsuite/ChangeLog:
	* gcc.dg/zero_bits_compound-1.c: Support aarch64.
	* gcc.dg/zero_bits_compound-1.c: Likewise.

From-SVN: r237430
2016-06-14 11:24:51 +00:00
Richard Biener
04976c6e07 re PR tree-optimization/71522 (Wrong optimization of memcpy through a var of type long double)
2016-06-14  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/71522
	* tree-ssa.c (non_rewritable_lvalue_p): Do not rewrite non-float
	copying into float copying.

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

From-SVN: r237429
2016-06-14 10:42:00 +00:00
Richard Biener
86c24ba677 re PR tree-optimization/71521 (Regression in GCC-7.0.0's optimizer)
2016-06-14  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/71521
	* tree-vrp.c (extract_range_from_binary_expr_1): Guard
	division int_const_binop against zero divisor.

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

From-SVN: r237428
2016-06-14 10:28:23 +00:00
Jakub Jelinek
23e025db70 re PR tree-optimization/71520 (Missing cross-jumping of switch cases)
PR tree-optimization/71520
	* tree-ssa-tail-merge.c (find_duplicate): Handle labels.
	(replace_block_by): Move user labels from bb1 to bb2.

	* gcc.dg/tree-ssa/pr71520.c: New test.

From-SVN: r237427
2016-06-14 12:20:04 +02:00
Richard Biener
585334d41d re PR middle-end/71310 (Bitfields cause load hit store with smaller store and larger load)
2016-06-14  Richard Biener  <rguenther@suse.de>

	PR middle-end/71310
	PR bootstrap/71510
	* expr.h (get_bit_range): Declare.
	* expr.c (get_bit_range): Export.
	* fold-const.c (optimize_bit_field_compare): Use get_bit_range and
	word_mode again to constrain the bitfield access.

From-SVN: r237426
2016-06-14 07:26:52 +00:00
Richard Biener
90b72e84c4 re PR tree-optimization/71521 (Regression in GCC-7.0.0's optimizer)
2016-06-14  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/71521
	* tree-vrp.c (extract_range_from_binary_expr_1): Guard
	division int_const_binop against zero divisor.

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

From-SVN: r237425
2016-06-14 07:22:04 +00:00
Ian Lance Taylor
3db5773f70 escape: Implement assign phase.
Implementation of the assign/connect phase.
    Statements containing expressions which alias local, parameter,
    and global objects are analyzed and the alias relationship between
    objects containing pointers are captured in a connection graph to
    summarize the assignments within a function.
    
    Reviewed-on: https://go-review.googlesource.com/18302

From-SVN: r237424
2016-06-14 04:29:43 +00:00
GCC Administrator
c8aa46d6b2 Daily bump.
From-SVN: r237423
2016-06-14 00:16:23 +00:00
Uros Bizjak
7d6aa9a605 * Partially revert my previous commit.
From-SVN: r237418
2016-06-14 01:11:27 +02:00
Uros Bizjak
385c7747b7 i386-builtin-types.def (INT_FTYPE_FLOAT128): New function type.
* config/i386/i386-builtin-types.def (INT_FTYPE_FLOAT128):
	New function type.
	* config/i386/i386.c (enum ix86_builtins) [IX86_BUILTIN_SIGNBITQ]: New.
	(ix86_init_builtins): Add __builtin_signbitq function.
	(ix86_expand_args_builtin): Handle INT_FTYPE_FLOAT128.
	(ix86_expand_builtin): Handle IX86_BUILTIN_SIGNBITQ.
	* config/i386/i386.md (signbittf2): New expander.
	* config/i386/sse.md (ptesttf2): New insn pattern.
	* doc/extend.texi (x86 Built-in Functions): Document
	__builtin_signbitq.

libgcc/ChangeLog:

	* config.host (i[34567]86-*-* | x86_64-*-*): Always include
	i386/${host_address}/t-softfp in tmake_file.
	* config/i386/32/t-softfp: Update comment for __builtin_copysignq.
	* config/i386/32/tf-signs.c: Add __signbittf2 fallback function.
	* config/i386/64/t-softfp: New file.
	* config/i386/64/tf-signs.c: Ditto.
	* config/i386/libgcc-bsd.ver: Add __signbittf2.
	* config/i386/libgcc-glibc.ver: Ditto.
	* config/i386/libgcc-sol2.ver: Ditto.

testsuite/ChangeLog:

	* gcc.target/i386/float128-3.c: New test.
	* gcc.target/i386/quad-sse4.c: Ditto.
	* gcc.target/i386/quad-sse.c: Use -msse instead of -msse2.
	Update scan strings.

From-SVN: r237415
2016-06-13 23:34:07 +02:00
David Malcolm
85ecd05c26 PR bootstrap/71481: fix input.c selftest
gcc/ChangeLog:
	PR bootstrap/71481
	* input.c (selftest::test_reading_source_line): Avoid reading from
	__FILE__ by creating a tempfile with known content and reading
	from that instead.

From-SVN: r237414
2016-06-13 21:20:10 +00:00
David Malcolm
2fe00b1fba pretty-print.c: skip color selftests if GCC_COLORS is set
gcc/ChangeLog:
	* pretty-print.c (assert_pp_format_colored): Skip the test if
	GCC_COLORS is set.
	(test_pp_format): Remove comment about GCC_COLORS.

From-SVN: r237411
2016-06-13 21:07:18 +00:00
David Malcolm
09765e3a0a selftests: improve reported failure locations
This patch introduce a selftest::location struct to wrap up __FILE__
and __LINE__ information (and __FUNCTION__) throughout the selftests,
allowing location information to be passed around.

It updates the helper functions in pretty-print.c to pass through
the precise location of each test, so that if a failure occurs, the
correct line number is printed, rather than a line within a helper
function.

gcc/ChangeLog:
	* input.c (test_reading_source_line): Use SELFTEST_LOCATION.
	* pretty-print.c (assert_pp_format_va): Add location param and use
	it with ASSERT_STREQ_AT.
	(assert_pp_format): Add location param and pass it to
	assert_pp_format_va.
	(assert_pp_format_colored): Likewise.
	(ASSERT_PP_FORMAT_1): New.
	(ASSERT_PP_FORMAT_2): New.
	(ASSERT_PP_FORMAT_3): New.
	(test_pp_format): Provide SELFTEST_LOCATION throughout, either
	explicitly, or implicitly via the above macros.
	* selftest.c (selftest::pass): Use a selftest::location rather
	than file and line.
	(selftest::fail): Likewise.  Print the function name.
	(selftest::fail_formatted): Likewise.
	(selftest::assert_streq): Use a selftest::location rather than
	file and line.
	* selftest.h (selftest::location): New struct.
	(SELFTEST_LOCATION): New macro.
	(selftest::pass): Accept a const location & rather than file
	and line.
	(selftest::fail): Likewise.
	(selftest::fail_formatted): Likewise.
	(selftest::assert_streq): Likewise.
	(ASSERT_TRUE): Update for above changes, using SELFTEST_LOCATION.
	(ASSERT_FALSE): Likewise.
	(ASSERT_EQ): Likewise.
	(ASSERT_NE): Likewise.
	(ASSERT_STREQ): Likewise.
	(ASSERT_PRED1): Likewise.
	(ASSERT_STREQ_AT): New macro.

From-SVN: r237410
2016-06-13 21:04:07 +00:00
Jakub Jelinek
0dda258b6f re PR sanitizer/71498 (ubsan bounds checking influenced by surrounding code)
PR sanitizer/71498
	* c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
	all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.

	* c-c++-common/ubsan/bounds-13.c: New test.

From-SVN: r237409
2016-06-13 23:01:44 +02:00
Jakub Jelinek
ef7cf206b6 re PR preprocessor/71183 (gcc -E always gives __DATE__ and __TIME__ as Jan 1 1970 00:00:00)
PR preprocessor/71183
	* c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
	to cb_get_source_date_epoch.

	* gcc.dg/cpp/source_date_epoch-3.c: New test.

From-SVN: r237408
2016-06-13 23:00:07 +02:00
David Malcolm
755fa6662d selftest: show values when ASSERT_STREQ fails
Rework ASSERT_STREQ so that it prints the actual and expected values
to stderr when it fails (by moving it to a helper function).

gcc/ChangeLog:
	* selftest.c (selftest::fail_formatted): New function.
	(selftest::assert_streq): New function.
	* selftest.h (selftests::fail_formatted): New decl.
	(selftest::assert_streq): New decl.
	(ASSERT_STREQ): Reimplement in terms of selftest::assert_streq.

From-SVN: r237404
2016-06-13 20:58:08 +00:00
Jeff Law
a73786e39f re PR tree-optimization/71403 (wrong code (segfault) at -O3 on x86_64-linux-gnu)
PR tree-optimization/71403
	* tree-ssa-threadbackward.c
	(convert_and_register_jump_thread_path): No longer accept reference
	to path.  Do not pop items off the path anymore.
	(fsm_find_control_statement_thread_paths): Do not allow threading
	to a deeper loop nest.  Pop the last item off the path here rather
	than in convert_and_register_jump_thread_path.

	PR tree-optimization/71403
	* c-c++-common/ubsan/pr71403-1.c: New test.
	* c-c++-common/ubsan/pr71403-2.c: New test.
	* c-c++-common/ubsan/pr71403-3.c: New test.

From-SVN: r237403
2016-06-13 14:55:59 -06:00
Evandro Menezes
79a2bc2dc9 [AArch64] Emit division using the Newton series
2016-06-13  Evandro Menezes  <e.menezes@samsung.com>
            Wilco Dijkstra  <Wilco.Dijkstra@arm.com>

gcc/
	* config/aarch64/aarch64-protos.h
	(cpu_approx_modes): Add new member "division".
	(aarch64_emit_approx_div): Declare new function.
	* config/aarch64/aarch64.c
	(generic_approx_modes): New member "division".
	(exynosm1_approx_modes): Likewise.
	(xgene1_approx_modes): Likewise.
	(aarch64_emit_approx_div): Define new function.
	* config/aarch64/aarch64.md ("div<mode>3"): New expansion.
	* config/aarch64/aarch64-simd.md ("div<mode>3"): Likewise.
	* config/aarch64/aarch64.opt (-mlow-precision-div): Add new option.
	* doc/invoke.texi (-mlow-precision-div): Describe new option.

From-SVN: r237397
2016-06-13 19:03:00 +00:00
Evandro Menezes
98daafa0b3 [AArch64] Emit square root using the Newton series
2016-06-13  Evandro Menezes  <e.menezes@samsung.com>
            Wilco Dijkstra  <wilco.dijkstra@arm.com>

gcc/
	* config/aarch64/aarch64-protos.h
	(aarch64_emit_approx_rsqrt): Replace with new function
	"aarch64_emit_approx_sqrt".
	(cpu_approx_modes): New member "sqrt".
	* config/aarch64/aarch64.c
	(generic_approx_modes): New member "sqrt".
	(exynosm1_approx_modes): Likewise.
	(xgene1_approx_modes): Likewise.
	(aarch64_emit_approx_rsqrt): Replace with new function
	"aarch64_emit_approx_sqrt".
	(aarch64_override_options_after_change_1): Handle new option.
	* config/aarch64/aarch64-simd.md
	(rsqrt<mode>2): Use new function instead.
	(sqrt<mode>2): New expansion and insn definitions.
	* config/aarch64/aarch64.md: Likewise.
	* config/aarch64/aarch64.opt
	(mlow-precision-sqrt): Add new option description.
	* doc/invoke.texi (mlow-precision-sqrt): Likewise.

From-SVN: r237396
2016-06-13 19:02:56 +00:00
Evandro Menezes
9acc9cbeb8 [AArch64] Add more choices for the reciprocal square root approximation
Allow a target to prefer such operation depending on the operation mode.

gcc/
	* config/aarch64/aarch64-protos.h
	(AARCH64_APPROX_MODE): New macro.
	(AARCH64_APPROX_{NONE,ALL}): Likewise.
	(cpu_approx_modes): New structure.
	(tune_params): New member "approx_modes".
	* config/aarch64/aarch64-tuning-flags.def
	(AARCH64_EXTRA_TUNE_APPROX_RSQRT): Remove macro.
	* config/aarch64/aarch64.c
	({generic,exynosm1,xgene1}_approx_modes): New core
	"cpu_approx_modes" structures.
	(generic_tunings): New member "approx_modes".
	(cortexa35_tunings): Likewise.
	(cortexa53_tunings): Likewise.
	(cortexa57_tunings): Likewise.
	(cortexa72_tunings): Likewise.
	(exynosm1_tunings): Likewise.
	(thunderx_tunings): Likewise.
	(xgene1_tunings): Likewise.
	(use_rsqrt_p): New argument for the mode and use new member from
	"tune_params".
	(aarch64_builtin_reciprocal): Devise mode from builtin.
	(aarch64_optab_supported_p): New argument for the mode.
	* doc/invoke.texi (-mlow-precision-recip-sqrt): Reword description.

From-SVN: r237395
2016-06-13 19:02:52 +00:00
David Edelsohn
d4f076c9b8 inclhack.def (aix_stdlib_malloc): New fix.
* inclhack.def (aix_stdlib_malloc): New fix.
(aix_stdlib_realloc): New fix.
(aix_stdlib_calloc): New fix.
(aix_stdlib_valloc): New fix.
* fixincl.x: Regenerate.
* test/base/stdlib.h [AIX_STDLIB_MALLOC]: New test.
[AIX_STDLIB_REALLOC]: New test.
[AIX_STDLIB_CALLOC]: New test.
[AIX_STDLIB_VALLOC]: New test.

From-SVN: r237394
2016-06-13 14:59:43 -04:00
Jakub Jelinek
0ac249bf93 re PR tree-optimization/71478 (ICE in tree-ssa-reassoc.c after r236564)
PR middle-end/71478
	* gcc.dg/pr71478.c: Remove dg-require-effective-target vect_int.
	Add -Wno-psabi -w to dg-options.

From-SVN: r237392
2016-06-13 20:54:25 +02:00
Kelvin Nilsen
402e60c546 rs6000.h (RS6000_BTM_COMMON): Add the RS6000_BTM_MODULO flag into the set of flags that are considered to be...
gcc/ChangeLog:

2016-06-13  Kelvin Nilsen  <kelvin@gcc.gnu.org>

	* config/rs6000/rs6000.h (RS6000_BTM_COMMON): Add the
	RS6000_BTM_MODULO flag into the set of flags that are considered
	to be part of the common configuration.

From-SVN: r237391
2016-06-13 18:30:40 +00:00
Kelvin Nilsen
5408a64ac4 altivec.h (vec_absd): New macro for vector absolute difference unsigned.
gcc/ChangeLog:

2016-06-13  Kelvin Nilsen  <kelvin@gcc.gnu.org>

	* config/rs6000/altivec.h (vec_absd): New macro for vector absolute
	difference unsigned.
	(vec_absdb): New macro for vector absolute difference unsigned
	byte.
	(vec_absdh): New macro for vector absolute difference unsigned
	half-word.
	(vec_absdw): New macro for vector absolute difference unsigned word.
	* config/rs6000/altivec.md (UNSPEC_VADU): New value.
	(vadu<mode>3): New insn.
	(*p9_vadu<mode>3): New insn.
	* config/rs6000/rs6000-builtin.def (vadub): New built-in
	definition.
	(vaduh): New built-in definition.
	(vaduw): New built-in definition.
	(vadu): New overloaded built-in definition.
	(vadub): New overloaded built-in definition.
	(vaduh): New overloaded built-in definition.
	(vaduw): New overloaded built-in definition.
	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
	overloaded vector absolute difference unsigned functions.
	* doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
	the ISA 3.0 vector absolute difference unsigned built-in functions.

gcc/testsuite/ChangeLog:

2016-06-13  Kelvin Nilsen  <kelvin@gcc.gnu.org>

	* gcc.target/powerpc/vadsdu-0.c: New test.
	* gcc.target/powerpc/vadsdu-1.c: New test.
	* gcc.target/powerpc/vadsdu-2.c: New test.
	* gcc.target/powerpc/vadsdu-3.c: New test.
	* gcc.target/powerpc/vadsdu-4.c: New test.
	* gcc.target/powerpc/vadsdu-5.c: New test.
	* gcc.target/powerpc/vadsdub-1.c: New test.
	* gcc.target/powerpc/vadsdub-2.c: New test.
	* gcc.target/powerpc/vadsduh-1.c: New test.
	* gcc.target/powerpc/vadsduh-2.c: New test.
	* gcc.target/powerpc/vadsduw-1.c: New test.
	* gcc.target/powerpc/vadsduw-2.c: New test.

From-SVN: r237390
2016-06-13 17:59:12 +00:00
Eric Botcazou
ec67c62e3c tree-ssa-sccvn.c (vn_reference_lookup_3): Use a uniform test and update shared_lookup_references only once after changing...
* tree-ssa-sccvn.c (vn_reference_lookup_3): Use a uniform test and
	update shared_lookup_references only once after changing operands.

From-SVN: r237388
2016-06-13 17:44:12 +00:00
David Malcolm
f7e4f2e3f3 C: fixits for named initializers
gcc/c/ChangeLog:
	* c-parser.c (c_parser_initelt): Provide location of name for new
	location_t param of set_init_label.
	* c-tree.h (set_init_label): Add location_t param.
	* c-typeck.c (set_init_index): Add "fieldname_loc" location_t
	param and use it when issuing error messages about unrecognized
	field names.  Attempt to provide a fixit hint if appropriate,
	otherwise update the error message to provide the type name.

gcc/testsuite/ChangeLog:
	* gcc.dg/c99-init-2.c (c): Update expected error message.
	* gcc.dg/init-bad-8.c (foo): Likewise.
	* gcc.dg/spellcheck-fields-3.c: New test case.

From-SVN: r237387
2016-06-13 17:14:42 +00:00
Thomas Schwinge
5a0fa90713 [PR middle-end/71373] Document missing OMP_CLAUSE_* in gcc/tree-nested.c
gcc/
	PR middle-end/71373
	* tree-nested.c (convert_nonlocal_omp_clauses)
	(convert_local_omp_clauses): Document missing OMP_CLAUSE_*.

From-SVN: r237386
2016-06-13 18:37:29 +02:00
Bernd Edlinger
7f6f6f3970 added "PR bootstrap/71481" to r237383's ChangeLog
From-SVN: r237385
2016-06-13 16:22:05 +00:00
Thomas Schwinge
1a0c3c3466 Fix CASE_CHAIN typos
gcc/
	* tree-cfg.c (edge_to_cases_cleanup): Fix CASE_CHAIN typo.
	* tree.def (CASE_LABEL_EXPR): Likewise.

From-SVN: r237384
2016-06-13 18:10:35 +02:00
Bernd Edlinger
10d2fc2324 input.c (test_builtins): Fix an assertion.
2016-06-13  Bernd Edlinger  <bernd.edlinger@hotmail.de>

	* input.c (test_builtins): Fix an assertion.

From-SVN: r237383
2016-06-13 15:45:54 +00:00
Uros Bizjak
ac43f1a8c4 i386.md (paritydi2): Use ix86_expand_setcc.
* config/i386/i386.md (paritydi2): Use ix86_expand_setcc.
	(paritysi2): Ditto.
	(isinfxf2): Ditto.
	(isinf<mode>2): Ditto.

From-SVN: r237382
2016-06-13 16:38:51 +02:00
Uros Bizjak
30717592e2 ggc-tests.c (test_finalization): Only test need_finalization_p for GCC_VERSION >= 4003.
* ggc-tests.c (test_finalization): Only test need_finalization_p
	for GCC_VERSION >= 4003.

From-SVN: r237381
2016-06-13 16:27:01 +02:00
Martin Liska
ad23a23ed2 Make 'loop iv compare' heuristics scanning more precise
* gcc.dg/predict-1.c: Distinguish between "loop iv compare"
	and "guess loop iv compared" heuristics.
	* gcc.dg/predict-2.c: Likewise.
	* gcc.dg/predict-3.c: Likewise.
	* gcc.dg/predict-4.c: Likewise.
	* gcc.dg/predict-5.c: Likewise.
	* gcc.dg/predict-6.c: Likewise.

From-SVN: r237380
2016-06-13 14:03:51 +00:00
Andreas Krebbel
548e7de920 S/390: vecintrin.h fix file description in comment
gcc/ChangeLog:

2016-06-13  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	* config/s390/vecintrin.h: Fix file description in comment.

From-SVN: r237378
2016-06-13 12:05:43 +00:00
Andreas Krebbel
25fb89dfb1 S/390: Change builtin type naming scheme to match builtin-types.def.
gcc/ChangeLog:

2016-06-13  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	* config/s390/s390-builtin-types.def: Change builtin type naming
	scheme to match builtin-types.def.

From-SVN: r237377
2016-06-13 12:04:57 +00:00
Marc Glisse
b4817bd635 Move optimize_minmax_comparison to match.pd
2016-06-13  Marc Glisse  <marc.glisse@inria.fr>

	* fold-const.c (optimize_minmax_comparison): Remove.
	(fold_comparison): Remove call to the above.
	* match.pd (MIN (X, Y) == X, MIN (X, 5) == 0, MIN (X, C1) < C2):
	New transformations.

From-SVN: r237376
2016-06-13 11:21:45 +00:00
Alan Hayward
915794eb26 re PR tree-optimization/71416 (ICE at -O3 in 32-bit and 64-bit modes on x86_64-linux-gnu (vectorizable_live_operation))
2016-06-13  Alan Hayward  <alan.hayward@arm.com>

gcc/
	PR tree-optimization/71416
	* tree-vect-loop.c (vectorizable_live_operation): Let worklist have
	multiple entries

From-SVN: r237375
2016-06-13 11:07:35 +00:00
Martin Liska
46c1cff63f Change enum value to not to clash with a MSP430 private enum
* predict.c (enum predictor_reason): Prefix enum with REASON_.
	(combine_predictions_for_insn): Likewise.
	(prune_predictions_for_bb): Likewise.
	(combine_predictions_for_bb): Likewise.

From-SVN: r237370
2016-06-13 10:00:17 +00:00
Richard Biener
7a5824c6d7 re PR tree-optimization/71505 (-O3 internal compiler error in vect_analyze_data_ref_accesses, at tree-vect-data-refs.c:2596)
2016-06-13  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/71505
	* tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Make
	assert match comment.

From-SVN: r237368
2016-06-13 09:44:51 +00:00
Marek Polacek
146c55da60 re PR middle-end/71476 (ICE in gimplify_switch_expr with -Wswitch-unreachable)
PR middle-end/71476
	* gimplify.c (maybe_warn_switch_unreachable): Factored out of
	gimplify_switch_expr.
	(warn_switch_unreachable_r): New function.

	* c-c++-common/Wswitch-unreachable-4.c: New test.
	* gcc.dg/Wswitch-unreachable-2.c: New test.
	* g++.dg/tm/jump1.C: Move dg-warning.

From-SVN: r237367
2016-06-13 08:57:02 +00:00
Andreas Krebbel
f90eba2a3c S/390: Fix MAX_ARGS value.
gcc/ChangeLog:

2016-06-13  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	PR target/71379
	* config/s390/s390.c (s390_expand_builtin): Increase MAX_ARGS by
	one.

From-SVN: r237364
2016-06-13 08:34:45 +00:00
Richard Biener
50a593c7e2 download_prerequisites (ISL): Bump version to 0.16.1
2016-06-13  Richard Biener  <rguenther@suse.de>

	* download_prerequisites (ISL): Bump version to 0.16.1

From-SVN: r237363
2016-06-13 08:18:51 +00:00