]> gcc.gnu.org Git - gcc.git/log
gcc.git
8 years ago[PATCH][AARCH64]Fix typo in aarch64_legitimize_address.
Renlin Li [Thu, 16 Jun 2016 09:37:31 +0000 (09:37 +0000)]
[PATCH][AARCH64]Fix typo in aarch64_legitimize_address.

gcc/
2016-06-16  renlin li  <renlin.li@arm.com>

* config/aarch64/aarch64.c (aarch64_legitimize_address): Fix a typo.

From-SVN: r237506

8 years agoi386.md (setcc + movzbl peephole2): Use reg_set_p.
Jakub Jelinek [Thu, 16 Jun 2016 09:27:41 +0000 (11:27 +0200)]
i386.md (setcc + movzbl peephole2): Use reg_set_p.

* config/i386/i386.md (setcc + movzbl peephole2): Use reg_set_p.
(setcc + and peephole2): Likewise.

From-SVN: r237504

8 years agore PR rtl-optimization/71532 (FAIL: gfortran.dg/select_char_1.f90 -O2 execution...
Jakub Jelinek [Thu, 16 Jun 2016 07:11:37 +0000 (09:11 +0200)]
re PR rtl-optimization/71532 (FAIL: gfortran.dg/select_char_1.f90   -O2  execution test)

PR rtl-optimization/71532
* cse.c (cse_insn): For const/pure calls, invalidate argument passing
memory slots.

* gcc.dg/torture/pr71532.c: New test.

From-SVN: r237503

8 years agoDaily bump.
GCC Administrator [Thu, 16 Jun 2016 00:16:19 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r237502

8 years ago* MAINTAINERS: Add myself as cygwin/mingw-w64 maintainer.
Jonathan Yong [Wed, 15 Jun 2016 22:54:38 +0000 (22:54 +0000)]
* MAINTAINERS:  Add myself as cygwin/mingw-w64 maintainer.

From-SVN: r237498

8 years agodecl.c (wrapup_globals_for_namespace): Use DECL_SOURCE_LOCATION and "%qF" in warning_...
Paolo Carlini [Wed, 15 Jun 2016 20:13:39 +0000 (20:13 +0000)]
decl.c (wrapup_globals_for_namespace): Use DECL_SOURCE_LOCATION and "%qF" in warning_at instead of "%q+F" in warning.

2016-06-15  Paolo Carlini  <paolo.carlini@oracle.com>

* decl.c (wrapup_globals_for_namespace): Use DECL_SOURCE_LOCATION and
"%qF" in warning_at instead of "%q+F" in warning.
(check_redeclaration_exception_specification): Likewise in pedwarn
(and error, inform, for consistency).
* call.c (joust): Likewise.

From-SVN: r237496

8 years ago2016-06-15 François Dumont <fdumont@gcc.gnu.org>
François Dumont [Wed, 15 Jun 2016 20:09:56 +0000 (20:09 +0000)]
2016-06-15  François Dumont  <fdumont@gcc.gnu.org>

* include/bits/stl_deque.h
(std::deque<>::operator=): Call _M_assign_aux.
(std::deque<>::assign(initializer_list<>)): Likewise.
(std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
(std::deque<>::insert(const_iterator, initializer_list<>)):
Call _M_range_insert_aux.
(std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
Likewise.
(std::deque<>::_M_fill_assign): Call _M_fill_insert.
(std::deque<>::_M_move_assign2): Call _M_assign_aux.
* include/bits/deque.tcc
(std::deque<>::operator=): Call _M_range_insert_aux.
(std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)):
Likewise.
* include/bits/stl_vector.h
(std::vector<>::operator=): Call _M_assign_aux.
(std::vector<>::assign(initializer_list<>)): Likewise.
(std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert.
(std::vector<>::insert(const_iterator, initializer_list<>)):
Call _M_range_insert.
* include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise.

From-SVN: r237495

8 years agovsx.md (VSINT_84): Add DImode to enable loading DImode constants with XXSPLTIB in...
Michael Meissner [Wed, 15 Jun 2016 18:17:58 +0000 (18:17 +0000)]
vsx.md (VSINT_84): Add DImode to enable loading DImode constants with XXSPLTIB in vector registers.

[gcc]
2016-06-15  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/vsx.md (VSINT_84): Add DImode to enable loading
DImode constants with XXSPLTIB in vector registers.
(vsx_extract_<mode>, V2DImode/V2DFmode): Combine both
vsx_extract_<mode>_internal{1,2} into a single insn that handles
direct move (both ISA 2.07 and ISA 3.0 versions), and optimizes
extraction of the element at the top of the register as a scalar
value.
(vsx_extract_<mode>_internal1): Likewise.
(vsx_extract_<mode>_internal2): Likewise.
* config/rs6000/constraints.md (wi constraint): Remove a comment
about DImode not being allowed in Altivec registers.
(wB constraint): New constraint for constants that can be
generated in Altivec registers with VSPLTISW/VUPKHSW.
* config/rs6000/predicates.md (xxspltib_constant_split): Update
comments.
(xxspltib_constant_nosplit): Likewise.
* config/rs6000/rs6000-cpus.def (ISA_2_6_MASKS_SERVER): Add
support for -mupper-regs-di to enable DImode to go into Altivec
registers.
(POWERPC_MASKS): Likewise.
(power7 cpu): Likewise.
* config/rs6000/rs6000.opt (-mupper-regs-di): Likewise.
* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Add support
for DImode being allowed in Altivec registers.  Update wi/wj
constraints.  Set scalar_in_vmx_p flag.
(rs6000_option_override_internal): Add checks for -mupper-regs-di.
(xxspltib_constant_p): Allow CONST_INT's with VOIDmode.  Don't
return true if we could use VSPLTISW/VUPKHSW instead of XXSPLTIB.
(rs6000_opt_masks): Add -mupper-regs-di.
* config/rs6000/rs6000.md (lfiwax): Update clobbers that don't use
direct move to use wi and not wj.
(lfiwzx): Likewise.
(floatsi<mode>2_lfiwax_mem): Combine alternatives into a single
alternative.
(floatunssi<mode>2_lfiwzx_mem): Likewise.
(fix_trunc<mode>di2_fctidz): Change second alternative to allow
any VSX register, instead of just Altivec registers, to allow
either operand to be an Altivec register or both.
(fixuns_trunc<mode>di2_fctiduz): Likewise.
(movdi_internal32): Add support for -mupper-regs-di.  Add support
to load constants via XXSPLTIB or VSPLTISW.  Add spacing to allow
the alternatives and attributes to be lined up to be easier to
read.
(movdi_internal64): Likewise.
(64-bit DImode splitters): Change predicates to only split loading
up GPR registers.  Add splits for using XXSPLTIB or VSPLTISW to
load constants in ISA 3.0 or ISA 2.07 respectively.
* doc/invoke.texi (RS/6000 and PowerPC Options): Document
-mupper-regs-di.  Update -mupper-regs-df and -mupper-regs-sf to
mention -mcpu=power9 sets these options.
* doc/md.texi (PowerPC and IBM RS6000 constraints): Document the
wB constraint.

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

* gcc.target/powerpc/p9-dimode1.c: New test.
* gcc.target/powerpc/p9-dimode2.c: Likewise.

From-SVN: r237490

8 years ago* gcc.c-torture/compile/20160615-1.c: New test.
Jakub Jelinek [Wed, 15 Jun 2016 17:10:44 +0000 (19:10 +0200)]
* gcc.c-torture/compile/20160615-1.c: New test.

From-SVN: r237489

8 years ago* g++.dg/cpp0x/ref-qual17.C: New test.
Jakub Jelinek [Wed, 15 Jun 2016 17:10:02 +0000 (19:10 +0200)]
* g++.dg/cpp0x/ref-qual17.C: New test.

From-SVN: r237488

8 years agoCorrect Changelog entry:
Denis Chertykov [Wed, 15 Jun 2016 16:43:35 +0000 (19:43 +0300)]
Correct Changelog entry:

PR target/67353
* config/avr/avr.c (avr_set_current_function): Warn misspelled
interrupt/ signal handler if -Wmisspelled-isr flag is enabled.
* config/avr/avr.opt (Wmisspelled-isr): New warning flag. Enabled
by default to warn misspelled interrupt/ signal handler.
* doc/invoke.texi (AVR Options): Document it. Update description
for -nodevicelib option.

From-SVN: r237487

8 years agore PR target/67353 ([avr] Option-ize Warning "appears to be a misspelled signal ...
Pitchumani Sivanupandi [Wed, 15 Jun 2016 16:40:07 +0000 (16:40 +0000)]
re PR target/67353 ([avr] Option-ize Warning "appears to be a misspelled signal / interrupt handler")

    PR target/67353
    * config/avr/avr.c (avr_set_current_function): Warn misspelled
    interrupt/ signal handler if -Wmisspelled-isr flag is enabled.

From-SVN: r237486

8 years ago[AArch64][obvious] Clean up parentheses and use GET_MODE_UNIT_BITSIZE in a couple...
Kyrylo Tkachov [Wed, 15 Jun 2016 16:07:34 +0000 (16:07 +0000)]
[AArch64][obvious] Clean up parentheses and use GET_MODE_UNIT_BITSIZE in a couple of patterns

* config/aarch64/aarch64-simd.md (aarch64_<sur>shll_n<mode>): Clean
up parentheses.  Use GET_MODE_UNIT_BITSIZE.
(aarch64_<sur>shll2_n<mode>): Likewise.

From-SVN: r237485

8 years agore PR middle-end/71529 ([CHKP] ICE in expand_expr_real_1)
Ilya Enkovich [Wed, 15 Jun 2016 15:49:40 +0000 (15:49 +0000)]
re PR middle-end/71529 ([CHKP] ICE in expand_expr_real_1)

gcc/

PR middle-end/71529
* ipa-chkp.c (chkp_build_instrumented_fndecl): Fix
DECL_CONTEXT for copied arguments.

gcc/testsuite/

PR middle-end/71529
* gcc.target/i386/pr71529.C: New test.

From-SVN: r237484

8 years agore PR tree-optimization/71483 (g++ ICE at -O3 on valid code on x86_64-linux-gnu with...
Alan Hayward [Wed, 15 Jun 2016 15:45:47 +0000 (15:45 +0000)]
re PR tree-optimization/71483 (g++ ICE at -O3 on valid code on x86_64-linux-gnu with “Floating point exception”)

2016-06-15  Alan Hayward  <alan.hayward@arm.com>

gcc/
PR tree-optimization/71483
* tree-vect-loop.c (vectorizable_live_operation): Pick correct index
for slp

testsuite/
PR tree-optimization/71483
* g++.dg/vect/pr71483.c: New

From-SVN: r237483

8 years agore PR c++/70202 (ICE on invalid code on x86_64-linux-gnu in build_simple_base_path...
Paolo Carlini [Wed, 15 Jun 2016 15:23:40 +0000 (15:23 +0000)]
re PR c++/70202 (ICE on invalid code on x86_64-linux-gnu in build_simple_base_path, at cp/class.c:579)

/cp
2016-06-15  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/70202
* decl.c (xref_basetypes): Revert r117839 changes; add fix-up
code at the end of the for loop; also revert r159637 changes,
add back the gcc_assert.
* cp-tree.h (xref_basetypes): Adjust declaration.
* parser.c (cp_parser_class_head): Adjust xref_basetypes call.

/testsuite
2016-06-15  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/70202
* g++.dg/inherit/crash6.C: New.
* g++.dg/inherit/union2.C: Likewise.
* g++.dg/inherit/virtual12.C: Likewise.
* g++.dg/inherit/virtual13.C: Likewise.
* g++.dg/inherit/virtual1.C: Tweak dg-* tests.

From-SVN: r237482

8 years agoFix obvious typo in predict.c
Martin Liska [Wed, 15 Jun 2016 15:05:34 +0000 (17:05 +0200)]
Fix obvious typo in predict.c

* predict.c (tree_predict_by_opcode): Call predict_edge_def
instead of predict_edge w/o a probability.

From-SVN: r237481

8 years agofloat128-nan.c: Include stdint.h to define uint64_t.
Uros Bizjak [Wed, 15 Jun 2016 15:01:01 +0000 (17:01 +0200)]
float128-nan.c: Include stdint.h to define uint64_t.

        * gcc.dg/torture/float128-nan.c: Include stdint.h to define uint64_t.

From-SVN: r237480

8 years agore PR tree-optimization/71439 (wrong code at -O3 in 32-bit and 64-bit mode on x86_64...
Alan Hayward [Wed, 15 Jun 2016 10:53:01 +0000 (10:53 +0000)]
re PR tree-optimization/71439 (wrong code at -O3 in 32-bit and 64-bit mode on x86_64-linux-gnu)

2016-06-15  Alan Hayward  <alan.hayward@arm.com>

gcc/
PR tree-optimization/71439
* tree-vect-loop.c (vect_analyze_loop_operations): Additional check for
live PHIs.

testsuite/
PR tree-optimization/71439
* gcc.dg/vect/pr71439.c: New

From-SVN: r237476

8 years ago[RTL ifcvt] Allow simple register subregs in noce_convert_multiple_sets
Kyrylo Tkachov [Wed, 15 Jun 2016 10:08:24 +0000 (10:08 +0000)]
[RTL ifcvt] Allow simple register subregs in noce_convert_multiple_sets

* ifcvt.c (bb_ok_for_noce_multiple_sets): Allow simple lowpart
register subregs in SET_SRC.

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

From-SVN: r237475

8 years agotree-vect-stmts.c (vectorizable_store): Remove strided grouped store restrictions.
Richard Biener [Wed, 15 Jun 2016 09:54:17 +0000 (09:54 +0000)]
tree-vect-stmts.c (vectorizable_store): Remove strided grouped store restrictions.

2016-06-15  Richard Biener  <rguenther@suse.de>

* tree-vect-stmts.c (vectorizable_store): Remove strided grouped
store restrictions.

* gcc.dg/vect/slp-45.c: New testcase.

From-SVN: r237474

8 years agotree-vect-data-refs.c (vect_analyze_data_ref_dependence): Do not consider dependences...
Richard Biener [Wed, 15 Jun 2016 09:53:07 +0000 (09:53 +0000)]
tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Do not consider dependences between accesses that belong to the same group.

2016-06-15  Richard Biener  <rguenther@suse.de>

* tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Do
not consider dependences between accesses that belong to the
same group.
(vect_analyze_data_ref_dependences): Do not analyze read-read
or self-dependences.

* gcc.dg/vect/bb-slp-pattern-2.c: Disable loop vectorization.

From-SVN: r237473

8 years agospellcheck.h: add best_match template; implement early-reject
David Malcolm [Wed, 15 Jun 2016 03:29:39 +0000 (03:29 +0000)]
spellcheck.h: add best_match template; implement early-reject

gcc/c/ChangeLog:
* c-typeck.c: Include spellcheck-tree.h rather than spellcheck.h.

gcc/cp/ChangeLog:
* search.c: Include spellcheck-tree.h rather than spellcheck.h.

gcc/ChangeLog:
* spellcheck-tree.c: Include spellcheck-tree.h rather than
spellcheck.h.
(find_closest_identifier): Reimplement in terms of
best_match<tree,tree>.
* spellcheck-tree.h: New file.
* spellcheck.c (struct edit_distance_traits<const char *>): New
struct.
(find_closest_string): Reimplement in terms of
best_match<const char *, const char *>.
* spellcheck.h (levenshtein_distance): Move prototype of tree-based
overload to spellcheck-tree.h.
(find_closest_identifier): Likewise.
(struct edit_distance_traits<T>): New template.
(class best_match): New class.

From-SVN: r237471

8 years agoDaily bump.
GCC Administrator [Wed, 15 Jun 2016 00:16:21 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r237470

8 years agoAdd more spellcheck selftests
David Malcolm [Wed, 15 Jun 2016 00:12:16 +0000 (00:12 +0000)]
Add more spellcheck selftests

gcc/ChangeLog:
* selftest-run-tests.c (selftest::run_tests): Call
selftest::spellcheck_tree_c_tests.
* selftest.h (selftest::spellcheck_tree_c_tests): New decl.
* spellcheck-tree.c: Include selftest.h and stringpool.h.
(selftest::test_find_closest_identifier): New function.
(selftest::spellcheck_tree_c_tests): New function.
* spellcheck.c (selftest::test_find_closest_string): Verify that
the order of the vec does not affect the results for this case.
(selftest::test_data): New array.
(selftest::test_metric_conditions): New function.
(selftest::spellcheck_c_tests): Add a test of case-comparison.
Call selftest::test_metric_conditions.

From-SVN: r237466

8 years agors6000-builtin.def (commentary): Typo.
Bill Schmidt [Tue, 14 Jun 2016 23:18:11 +0000 (23:18 +0000)]
rs6000-builtin.def (commentary): Typo.

2016-06-14  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/rs6000-builtin.def (commentary): Typo.
(BU_P9_MISC_1): Likewise.
(BU_P9_64BIT_MISC_0): Likewise.
(BU_P9_MISC_0): Likewise.

From-SVN: r237465

8 years agovsx-elemrev-2.c: Change effective target requirements, and disable for AIX for now.
Bill Schmidt [Tue, 14 Jun 2016 23:13:27 +0000 (23:13 +0000)]
vsx-elemrev-2.c: Change effective target requirements, and disable for AIX for now.

2016-06-14  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.target/powerpc/vsx-elemrev-2.c: Change effective target
requirements, and disable for AIX for now.
* gcc.target/powerpc/vsx-elemrev-4.c: Likewise.

From-SVN: r237464

8 years agoIntroduce gcc_rich_location::add_fixit_misspelled_id
David Malcolm [Tue, 14 Jun 2016 23:08:34 +0000 (23:08 +0000)]
Introduce gcc_rich_location::add_fixit_misspelled_id

gcc/c/ChangeLog:
* c-typeck.c (build_component_ref): Simplify fixit code by
using gcc_rich_location::add_fixit_misspelled_id.
(set_init_label): Likewise.

gcc/cp/ChangeLog:
* typeck.c: Include "gcc-rich-location.h".
(finish_class_member_access_expr): Simplify fixit code by
using gcc_rich_location::add_fixit_misspelled_id.

gcc/ChangeLog:
* gcc-rich-location.c
(gcc_rich_location::add_fixit_misspelled_id): New method.
* gcc-rich-location.h
(gcc_rich_location::add_fixit_misspelled_id): Add decl.

From-SVN: r237463

8 years agoP0145R2: Refining Expression Order for C++.
Jason Merrill [Tue, 14 Jun 2016 20:18:34 +0000 (16:18 -0400)]
P0145R2: Refining Expression Order for C++.

gcc/c-family/
* c.opt (fargs-in-order): New.
* c-opts.c (c_common_post_options): Adjust flag_args_in_order.
gcc/cp/
* cp-tree.h (CALL_EXPR_OPERATOR_SYNTAX, CALL_EXPR_ORDERED_ARGS)
(CALL_EXPR_REVERSE_ARGS): New.
* call.c (build_new_op_1): Set them.
(extract_call_expr, op_is_ordered): New.
(build_over_call): Set CALL_EXPR_ORDERED_ARGS.
* cp-gimplify.c (cp_gimplify_expr) [CALL_EXPR]: Handle new flags.
* pt.c (tsubst_copy_and_build): Copy new flags.
* semantics.c (simplify_aggr_init_expr): Likewise.
* tree.c (build_aggr_init_expr): Likewise.
(build_min_non_dep_op_overload): Likewise.

From-SVN: r237459

8 years agore PR c++/71528 (multiple extern reference declarations produce uninitialized access)
Jakub Jelinek [Tue, 14 Jun 2016 19:55:08 +0000 (21:55 +0200)]
re PR c++/71528 (multiple extern reference declarations produce uninitialized access)

PR c++/71528
* decl.c (duplicate_decls): For DECL_INITIALIZED_P non-external
olddecl vars, preserve their TREE_READONLY bit.

* g++.dg/opt/pr71528.C: New test.

From-SVN: r237458

8 years agofreebsd.h: Only enable unaligned access for armv6 on FreeBSD 11 and above.
Andreas Tobler [Tue, 14 Jun 2016 19:53:01 +0000 (21:53 +0200)]
freebsd.h: Only enable unaligned access for armv6 on FreeBSD 11 and above.

2016-06-14  Andreas Tobler  <andreast@gcc.gnu.org>

    * config/arm/freebsd.h: Only enable unaligned access for armv6 on
    FreeBSD 11 and above.

From-SVN: r237457

8 years ago* MAINTAINERS (Write After Approval): Update e-mail address.
Mikael Morin [Tue, 14 Jun 2016 17:43:39 +0000 (17:43 +0000)]
* MAINTAINERS (Write After Approval): Update e-mail address.

From-SVN: r237454

8 years agoescape: Implement flood phase.
Ian Lance Taylor [Tue, 14 Jun 2016 17:20:33 +0000 (17:20 +0000)]
escape: Implement flood phase.

    Walks the connection graphs built in the assign phase from the
    function context's sink, propagating the escape level to each
    visited node and uncovering nodes that leak out of their scope
    which implies they must be heap allocated.

    Reviewed-on: https://go-review.googlesource.com/18413

From-SVN: r237453

8 years ago[AArch64] Add commit message
Evandro Menezes [Tue, 14 Jun 2016 16:26:02 +0000 (16:26 +0000)]
[AArch64] Add commit message

* gcc/ChangeLog: Add commit messages for patch series that added
support for optionally using the Newton series for division and
square root.

From-SVN: r237452

8 years agoi386.md (signbittf2): Emit sse_movmskps for TARGET_SSE.
Uros Bizjak [Tue, 14 Jun 2016 16:10:11 +0000 (18:10 +0200)]
i386.md (signbittf2): Emit sse_movmskps for TARGET_SSE.

* config/i386/i386.md (signbittf2): Emit sse_movmskps for TARGET_SSE.

From-SVN: r237451

8 years agore PR c++/71516 (ICE on invalid C++ code (invalid use of forward declared type) on...
Jakub Jelinek [Tue, 14 Jun 2016 14:33:11 +0000 (16:33 +0200)]
re PR c++/71516 (ICE on invalid C++ code (invalid use of forward declared type) on x86_64-linux-gnu: Segmentation fault (program cc1plus))

PR c++/71516
* decl.c (complete_vars): Handle gracefully type == error_mark_node.

* g++.dg/init/pr71516.C: New test.

From-SVN: r237445

8 years agotypeck2.c (digest_init_r): Use EXPR_LOC_OR_LOC on init.
Paolo Carlini [Tue, 14 Jun 2016 14:15:53 +0000 (14:15 +0000)]
typeck2.c (digest_init_r): Use EXPR_LOC_OR_LOC on init.

/cp
2016-06-14  Paolo Carlini  <paolo.carlini@oracle.com>

* typeck2.c (digest_init_r): Use EXPR_LOC_OR_LOC on init.

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

* g++.dg/init/array46.C: New.

From-SVN: r237444

8 years agofloat128-3.c: New test.
Uros Bizjak [Tue, 14 Jun 2016 14:00:45 +0000 (16:00 +0200)]
float128-3.c: New test.

        * 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: r237443

8 years agoFix typo in copyright boilerplate
Kyrylo Tkachov [Tue, 14 Jun 2016 13:53:50 +0000 (13:53 +0000)]
Fix typo in copyright boilerplate

* expmed.h: Close parenthesis in "at your option" in copyright
boilerplate.
* lower-subreg.h: Likewise.

From-SVN: r237442

8 years agore PR middle-end/71526 (ICE: verify_gimple failed)
Richard Biener [Tue, 14 Jun 2016 13:47:01 +0000 (13:47 +0000)]
re PR middle-end/71526 (ICE: verify_gimple failed)

2016-06-14  Richard Biener  <rguenther@suse.de>

PR middle-end/71526
* genmatch.c (expr::gen_transform): Use in_type for comparisons
if available.

* gfortran.dg/pr71526.f90: New testcase.

From-SVN: r237441

8 years ago[AArch64] Handle AND+ASHIFT form of UBFIZ correctly in costs
Kyrylo Tkachov [Tue, 14 Jun 2016 13:39:03 +0000 (13:39 +0000)]
[AArch64] Handle AND+ASHIFT form of UBFIZ correctly in costs

* config/aarch64/aarch64.c (aarch64_mask_and_shift_for_ubfiz_p):
New function.
(aarch64_rtx_costs): Use it.  Rewrite CONST_INT_P (op1) case to handle
mask+shift version.
* config/aarch64/aarch64-protos.h (aarch64_mask_and_shift_for_ubfiz_p):
New prototype.
* config/aarch64/aarch64.md (*andim_ashift<mode>_bfiz): Replace
matching condition with aarch64_mask_and_shift_for_ubfiz_p.

From-SVN: r237440

8 years ago[multiple changes]
Arnaud Charlet [Tue, 14 Jun 2016 12:41:03 +0000 (14:41 +0200)]
[multiple changes]

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

* sem_ch6.adb (Set_Actual_Subtypes): Do not generate actual
subtypes for unconstrained formals when analyzing the generated
body of an expression function, because it may lead to premature
and misplaced freezing of the types of formals.

2016-06-14  Gary Dismukes  <dismukes@adacore.com>

* sem_elab.adb, sem_ch4.adb: Minor reformatting and typo fix.

2016-06-14  Tristan Gingold  <gingold@adacore.com>

* einfo.adb (Set_Has_Timing_Event): Add assertion.
* sem_util.ads, sem_util.adb (Propagate_Concurrent_Flags): New
name for Propagate_Type_Has_Flags.
* exp_ch3.adb, sem_ch3.adb, sem_ch7.adb, sem_ch9.adb: Adjust after
renaming.

From-SVN: r237439

8 years ago[multiple changes]
Arnaud Charlet [Tue, 14 Jun 2016 12:39:11 +0000 (14:39 +0200)]
[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

8 years agosem_attr.adb (Analyze_Attribute_Old_Result): Adding assertion.
Javier Miranda [Tue, 14 Jun 2016 12:37:54 +0000 (12:37 +0000)]
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

8 years ago[multiple changes]
Arnaud Charlet [Tue, 14 Jun 2016 12:36:01 +0000 (14:36 +0200)]
[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

8 years ago[multiple changes]
Arnaud Charlet [Tue, 14 Jun 2016 12:33:56 +0000 (14:33 +0200)]
[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

8 years ago[multiple changes]
Arnaud Charlet [Tue, 14 Jun 2016 12:23:34 +0000 (14:23 +0200)]
[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

8 years ago[multiple changes]
Arnaud Charlet [Tue, 14 Jun 2016 12:20:01 +0000 (14:20 +0200)]
[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

8 years ago[multiple changes]
Arnaud Charlet [Tue, 14 Jun 2016 12:17:48 +0000 (14:17 +0200)]
[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

8 years ago[multiple changes]
Arnaud Charlet [Tue, 14 Jun 2016 12:12:42 +0000 (14:12 +0200)]
[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

8 years agozero_bits_compound-1.c: Support aarch64.
Andre Vieira [Tue, 14 Jun 2016 11:24:51 +0000 (11:24 +0000)]
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

8 years agore PR tree-optimization/71522 (Wrong optimization of memcpy through a var of type...
Richard Biener [Tue, 14 Jun 2016 10:42:00 +0000 (10:42 +0000)]
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

8 years agore PR tree-optimization/71521 (Regression in GCC-7.0.0's optimizer)
Richard Biener [Tue, 14 Jun 2016 10:28:23 +0000 (10:28 +0000)]
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

8 years agore PR tree-optimization/71520 (Missing cross-jumping of switch cases)
Jakub Jelinek [Tue, 14 Jun 2016 10:20:04 +0000 (12:20 +0200)]
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

8 years agore PR middle-end/71310 (Bitfields cause load hit store with smaller store and larger...
Richard Biener [Tue, 14 Jun 2016 07:26:52 +0000 (07:26 +0000)]
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

8 years agore PR tree-optimization/71521 (Regression in GCC-7.0.0's optimizer)
Richard Biener [Tue, 14 Jun 2016 07:22:04 +0000 (07:22 +0000)]
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

8 years agoescape: Implement assign phase.
Ian Lance Taylor [Tue, 14 Jun 2016 04:29:43 +0000 (04:29 +0000)]
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

8 years agoDaily bump.
GCC Administrator [Tue, 14 Jun 2016 00:16:23 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r237423

8 years ago* Partially revert my previous commit.
Uros Bizjak [Mon, 13 Jun 2016 23:11:27 +0000 (01:11 +0200)]
* Partially revert my previous commit.

From-SVN: r237418

8 years agoi386-builtin-types.def (INT_FTYPE_FLOAT128): New function type.
Uros Bizjak [Mon, 13 Jun 2016 21:34:07 +0000 (23:34 +0200)]
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

8 years agoPR bootstrap/71481: fix input.c selftest
David Malcolm [Mon, 13 Jun 2016 21:20:10 +0000 (21:20 +0000)]
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

8 years agopretty-print.c: skip color selftests if GCC_COLORS is set
David Malcolm [Mon, 13 Jun 2016 21:07:18 +0000 (21:07 +0000)]
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

8 years agoselftests: improve reported failure locations
David Malcolm [Mon, 13 Jun 2016 21:04:07 +0000 (21:04 +0000)]
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

8 years agore PR sanitizer/71498 (ubsan bounds checking influenced by surrounding code)
Jakub Jelinek [Mon, 13 Jun 2016 21:01:44 +0000 (23:01 +0200)]
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

8 years agore PR preprocessor/71183 (gcc -E always gives __DATE__ and __TIME__ as Jan 1 1970...
Jakub Jelinek [Mon, 13 Jun 2016 21:00:07 +0000 (23:00 +0200)]
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

8 years agoselftest: show values when ASSERT_STREQ fails
David Malcolm [Mon, 13 Jun 2016 20:58:08 +0000 (20:58 +0000)]
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

8 years agore PR tree-optimization/71403 (wrong code (segfault) at -O3 on x86_64-linux-gnu)
Jeff Law [Mon, 13 Jun 2016 20:55:59 +0000 (14:55 -0600)]
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

8 years ago[AArch64] Emit division using the Newton series
Evandro Menezes [Mon, 13 Jun 2016 19:03:00 +0000 (19:03 +0000)]
[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

8 years ago[AArch64] Emit square root using the Newton series
Evandro Menezes [Mon, 13 Jun 2016 19:02:56 +0000 (19:02 +0000)]
[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

8 years ago[AArch64] Add more choices for the reciprocal square root approximation
Evandro Menezes [Mon, 13 Jun 2016 19:02:52 +0000 (19:02 +0000)]
[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

8 years agoinclhack.def (aix_stdlib_malloc): New fix.
David Edelsohn [Mon, 13 Jun 2016 18:59:43 +0000 (18:59 +0000)]
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

8 years agore PR tree-optimization/71478 (ICE in tree-ssa-reassoc.c after r236564)
Jakub Jelinek [Mon, 13 Jun 2016 18:54:25 +0000 (20:54 +0200)]
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

8 years agors6000.h (RS6000_BTM_COMMON): Add the RS6000_BTM_MODULO flag into the set of flags...
Kelvin Nilsen [Mon, 13 Jun 2016 18:30:40 +0000 (18:30 +0000)]
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

8 years agoaltivec.h (vec_absd): New macro for vector absolute difference unsigned.
Kelvin Nilsen [Mon, 13 Jun 2016 17:59:12 +0000 (17:59 +0000)]
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

8 years agotree-ssa-sccvn.c (vn_reference_lookup_3): Use a uniform test and update shared_lookup...
Eric Botcazou [Mon, 13 Jun 2016 17:44:12 +0000 (17:44 +0000)]
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

8 years agoC: fixits for named initializers
David Malcolm [Mon, 13 Jun 2016 17:14:42 +0000 (17:14 +0000)]
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

8 years ago[PR middle-end/71373] Document missing OMP_CLAUSE_* in gcc/tree-nested.c
Thomas Schwinge [Mon, 13 Jun 2016 16:37:29 +0000 (18:37 +0200)]
[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

8 years agoadded "PR bootstrap/71481" to r237383's ChangeLog
Bernd Edlinger [Mon, 13 Jun 2016 16:22:05 +0000 (16:22 +0000)]
added  "PR bootstrap/71481" to r237383's ChangeLog

From-SVN: r237385

8 years agoFix CASE_CHAIN typos
Thomas Schwinge [Mon, 13 Jun 2016 16:10:35 +0000 (18:10 +0200)]
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

8 years agoinput.c (test_builtins): Fix an assertion.
Bernd Edlinger [Mon, 13 Jun 2016 15:45:54 +0000 (15:45 +0000)]
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

8 years agoi386.md (paritydi2): Use ix86_expand_setcc.
Uros Bizjak [Mon, 13 Jun 2016 14:38:51 +0000 (16:38 +0200)]
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

8 years agoggc-tests.c (test_finalization): Only test need_finalization_p for GCC_VERSION >...
Uros Bizjak [Mon, 13 Jun 2016 14:27:01 +0000 (16:27 +0200)]
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

8 years agoMake 'loop iv compare' heuristics scanning more precise
Martin Liska [Mon, 13 Jun 2016 14:03:51 +0000 (16:03 +0200)]
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

8 years agoS/390: vecintrin.h fix file description in comment
Andreas Krebbel [Mon, 13 Jun 2016 12:05:43 +0000 (12:05 +0000)]
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

8 years agoS/390: Change builtin type naming scheme to match builtin-types.def.
Andreas Krebbel [Mon, 13 Jun 2016 12:04:57 +0000 (12:04 +0000)]
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

8 years agoMove optimize_minmax_comparison to match.pd
Marc Glisse [Mon, 13 Jun 2016 11:21:45 +0000 (13:21 +0200)]
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

8 years agore PR tree-optimization/71416 (ICE at -O3 in 32-bit and 64-bit modes on x86_64-linux...
Alan Hayward [Mon, 13 Jun 2016 11:07:35 +0000 (11:07 +0000)]
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

8 years agoChange enum value to not to clash with a MSP430 private enum
Martin Liska [Mon, 13 Jun 2016 10:00:17 +0000 (12:00 +0200)]
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

8 years agore PR tree-optimization/71505 (-O3 internal compiler error in vect_analyze_data_ref_a...
Richard Biener [Mon, 13 Jun 2016 09:44:51 +0000 (09:44 +0000)]
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

8 years agore PR middle-end/71476 (ICE in gimplify_switch_expr with -Wswitch-unreachable)
Marek Polacek [Mon, 13 Jun 2016 08:57:02 +0000 (08:57 +0000)]
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

8 years agoS/390: Fix MAX_ARGS value.
Andreas Krebbel [Mon, 13 Jun 2016 08:34:45 +0000 (08:34 +0000)]
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

8 years agodownload_prerequisites (ISL): Bump version to 0.16.1
Richard Biener [Mon, 13 Jun 2016 08:18:51 +0000 (08:18 +0000)]
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

8 years agodecl.c (gnat_to_gnu_subprog_type): Build only a minimal PARM_DECL when the parameter...
Eric Botcazou [Mon, 13 Jun 2016 08:17:07 +0000 (08:17 +0000)]
decl.c (gnat_to_gnu_subprog_type): Build only a minimal PARM_DECL when the parameter type is dummy.

* gcc-interface/decl.c (gnat_to_gnu_subprog_type): Build only a minimal
PARM_DECL when the parameter type is dummy.
* gcc-interface/trans.c (Call_to_gnu): Translate formal types before
formal objects.

From-SVN: r237362

8 years agodecl.c (gnat_to_gnu_entity): Deal with PLUS_EXPR in the expression of a renaming.
Eric Botcazou [Mon, 13 Jun 2016 08:00:17 +0000 (08:00 +0000)]
decl.c (gnat_to_gnu_entity): Deal with PLUS_EXPR in the expression of a renaming.

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Deal with
PLUS_EXPR in the expression of a renaming.

From-SVN: r237360

8 years agore PR fortran/70673 (ICE with module containing functions with allocatable character...
Paul Thomas [Mon, 13 Jun 2016 07:48:25 +0000 (07:48 +0000)]
re PR fortran/70673 (ICE with module containing functions with allocatable character scalars)

2016-06-13  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/70673
* frontend-passes.c (realloc_string_callback): Add a call to
gfc_dep_compare_expr.

2016-06-13  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/70673
* gfortran.dg/pr70673.f90: New test.

From-SVN: r237358

8 years agogenerate_libstdcxx_web_docs: Use realpath to get absolute path.
Jonathan Wakely [Mon, 13 Jun 2016 07:47:13 +0000 (08:47 +0100)]
generate_libstdcxx_web_docs: Use realpath to get absolute path.

* generate_libstdcxx_web_docs: Use realpath to get absolute path.

Add comment about LaTeX errors.

From-SVN: r237357

8 years agoutils2.c (known_alignment): Deal specially with calls to malloc.
Eric Botcazou [Mon, 13 Jun 2016 07:40:47 +0000 (07:40 +0000)]
utils2.c (known_alignment): Deal specially with calls to malloc.

* gcc-interface/utils2.c (known_alignment) <CALL_EXPR>: Deal specially
with calls to malloc.

From-SVN: r237356

8 years agore PR middle-end/64516 (arm: wrong unaligned load generated)
Richard Biener [Mon, 13 Jun 2016 07:34:45 +0000 (07:34 +0000)]
re PR middle-end/64516 (arm: wrong unaligned load generated)

2016-06-13  Richard Biener  <rguenther@suse.de>

PR middle-end/64516
* fold-const.c (fold_unary_loc): Preserve alignment when
folding a VIEW_CONVERT_EXPR into a MEM_REF.

* gcc.dg/align-3.c: New testcase.

From-SVN: r237355

8 years agodecl.c (grokdeclarator): Fix typo in pedwarn text.
Paolo Carlini [Mon, 13 Jun 2016 07:28:33 +0000 (07:28 +0000)]
decl.c (grokdeclarator): Fix typo in pedwarn text.

2016-06-13  Paolo Carlini  <paolo.carlini@oracle.com>

* decl.c (grokdeclarator): Fix typo in pedwarn text.

From-SVN: r237354

8 years agoDo not enable -fcheck-pointer-bounds w/ -fsanitize=bounds
Martin Liska [Mon, 13 Jun 2016 07:17:16 +0000 (09:17 +0200)]
Do not enable -fcheck-pointer-bounds w/ -fsanitize=bounds

PR sanitizer/71458
* toplev.c (process_options): Do not enable -fcheck-pointer-bounds
w/ -fsanitize=bounds.
* gcc.target/i386/pr71458.c: New test.

From-SVN: r237353

This page took 0.108164 seconds and 5 git commands to generate.