platform/upstream/gcc.git
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

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

From-SVN: r237349

8 years agoi386.c (ix86_init_builtins): Calculate FLOAT128_FTYPE_CONST_STRING function type...
Uros Bizjak [Sun, 12 Jun 2016 19:38:42 +0000 (21:38 +0200)]
i386.c (ix86_init_builtins): Calculate FLOAT128_FTYPE_CONST_STRING function type only once.

* config/i386/i386.c (ix86_init_builtins): Calculate
FLOAT128_FTYPE_CONST_STRING function type only once.
* doc/extend.texi (x86 Built-in Functions): Update text, __float128
built-in functions are available for x86-32 and x86-64 targets.

From-SVN: r237342

8 years agoAdd missing commit:
Uros Bizjak [Sun, 12 Jun 2016 18:05:36 +0000 (20:05 +0200)]
Add missing commit:

* doc/extend.texi (x86 Built-in Functions): Document
__builtin_nanq and __builtin_nansq.

From-SVN: r237339

8 years agore PR target/71241 ([x86] Missing built-in functions for float128 NaNs)
Uros Bizjak [Sun, 12 Jun 2016 17:22:16 +0000 (19:22 +0200)]
re PR target/71241 ([x86] Missing built-in functions for float128 NaNs)

PR target/71241
* config/i386/i386.i386-builtin-types.def (CONST_STRING):
New primitive type.
(FLOAT128_FTYPE_CONST_STRING): New function type.
* config/i386/i386.c (enum ix86_builtins) [IX86_BUILTIN_NANQ]: New.
[IX86_BUILTIN_NANSQ]: Ditto.
(ix86_fold_builtin): Handle IX86_BUILTIN_NANQ and IX86_BUILTIN_NANSQ.
(ix86_init_builtin_types) Declare const_string_type_node.
Add __builtin_nanq and __builtin_nansq builtin functions.
(ix86_expand_builtin): Handle IX86_BUILTIN_NANQ and IX86_BUILTIN_NANSQ.
* doc/extend.texi (x86 Built-in Functions): Document
__builtin_nanq and __builtin_nansq.

testsuite/ChangeLog:

PR target/71241
* testsuite/gcc.dg/torture/float128-nan.c: New test.

From-SVN: r237338

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

From-SVN: r237336

8 years agore PR fortran/60751 (Extra comma in WRITE statement not diagnosed)
Dominique d'Humieres [Sat, 11 Jun 2016 22:36:50 +0000 (00:36 +0200)]
re PR fortran/60751 (Extra comma in WRITE statement not diagnosed)

2016-06-12  Dominique d'Humieres  <dominiq@lps.ens.fr>

PR target/60751
* gfortran.dg/guality/pr41558.f90: Remove extra comma in WRITE
statement.

From-SVN: r237332

8 years ago[ARM] length pop* pattern in epilogue correctly
Jiong Wang [Sat, 11 Jun 2016 20:42:26 +0000 (20:42 +0000)]
[ARM] length pop* pattern in epilogue correctly

PR target/71061
* config/arm/arm-protos.h (arm_attr_length_pop_multi): New declaration.
* config/arm/arm.c (arm_attr_length_pop_multi): New function to return
length for pop patterns.
(arm_attr_length_push_multi): Update comments.
* config/arm/arm.md (*load_multiple_with_writeback): Set "length"
attribute.
(*pop_multiple_with_writeback_and_return): Likewise.
(*pop_multiple_with_return): Likewise.

From-SVN: r237331

8 years agore PR fortran/60751 (Extra comma in WRITE statement not diagnosed)
Dominique d'Humieres [Sat, 11 Jun 2016 19:21:22 +0000 (21:21 +0200)]
re PR fortran/60751 (Extra comma in WRITE statement not diagnosed)

2016-06-11  Dominique d'Humieres  <dominiq@lps.ens.fr>

PR target/60751
* gfortran.dg/comma_IO_extension_1.f90: New test.
* gfortran.dg/comma_IO_extension_2.f90: Likewise.

From-SVN: r237330

8 years agore PR fortran/60751 (Extra comma in WRITE statement not diagnosed)
Dominique d'Humieres [Sat, 11 Jun 2016 19:19:43 +0000 (21:19 +0200)]
re PR fortran/60751 (Extra comma in WRITE statement not diagnosed)

2016-06-11  Dominique d'Humieres  <dominiq@lps.ens.fr>

PR fortran/60751
* io.c (gfc_resolve_dt): Replace GFC_STD_GNU with GFC_STD_LEGACY.

* gfortran.dg/comma_IO_extension_1.f90: New test.
* gfortran.dg/comma_IO_extension_2.f90: Likewise.
* gfortran.dg/array_constructor_49.f90: Remove extra comma in WRITE
statement.
* gfortran.dg/graphite/pr38083.f90: Likewise.
* gfortran.dg/integer_exponentiation_6.F90: Likewise and add
missing format.

--This line

M    fortran/ChangeLog
M    fortran/io.c
M    testsuite/ChangeLog
M    testsuite/gfortran.dg/array_constructor_49.f90
M    testsuite/gfortran.dg/graphite/pr38083.f90
M    testsuite/gfortran.dg/integer_exponentiation_6.F90

From-SVN: r237329

8 years agotrans.c (build_binary_op_trapv): If no operand is a constant, use the generic impleme...
Eric Botcazou [Sat, 11 Jun 2016 12:07:54 +0000 (12:07 +0000)]
trans.c (build_binary_op_trapv): If no operand is a constant, use the generic implementation of the middle-end...

* gcc-interface/trans.c (build_binary_op_trapv): If no operand is a
constant, use the generic implementation of the middle-end; otherwise
turn the dynamic conditions into static conditions and simplify.

From-SVN: r237328

8 years ago* gcc-interface/trans.c (Case_Statement_to_gnu): Deal with characters.
Eric Botcazou [Sat, 11 Jun 2016 11:53:11 +0000 (11:53 +0000)]
* gcc-interface/trans.c (Case_Statement_to_gnu): Deal with characters.

From-SVN: r237326

8 years agodecl.c (gnat_to_gnu_entity): Do not clobber gnat_entity_name with temporary names...
Pierre-Marie de Rodat [Sat, 11 Jun 2016 11:23:54 +0000 (11:23 +0000)]
decl.c (gnat_to_gnu_entity): Do not clobber gnat_entity_name with temporary names for XUP and XUT types.

* gcc-interface/decl.c (gnat_to_gnu_entity): Do not clobber
gnat_entity_name with temporary names for XUP and XUT types.

From-SVN: r237324

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

From-SVN: r237323

8 years agofold-const: Don't access bit fields with too big mode (PR71310)
Segher Boessenkool [Fri, 10 Jun 2016 23:58:09 +0000 (01:58 +0200)]
fold-const: Don't access bit fields with too big mode (PR71310)

Currently, optimize_bit_field_compare reads the bitfield in word_mode
if it can.  If the bit field is normally accessed in a smaller mode,
this might be a violation of the memory model, although the "extra"
part of the read is not used.  But also, previous stores to the bit
field will have been done in the smaller mode, and then bigger loads
from it cause a LHS problem.

PR middle-end/71310
* fold-const.c (optimize_bit_field_compare): Don't try to use
word_mode unconditionally for reading the bit field, look at
DECL_BIT_FIELD_REPRESENTATIVE instead.

gcc/testsuite/
PR middle-end/71310
* gcc.target/powerpc/pr71310.c: New testcase.

From-SVN: r237319

8 years agore PR tree-optimization/71478 (ICE in tree-ssa-reassoc.c after r236564)
Kugan Vivekanandarajah [Fri, 10 Jun 2016 21:57:01 +0000 (21:57 +0000)]
re PR tree-optimization/71478 (ICE in tree-ssa-reassoc.c after r236564)

gcc/testsuite/ChangeLog:

2016-06-11  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR middle-end/71478
* gcc.dg/pr71478.c: New test.

gcc/ChangeLog:

2016-06-11  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR middle-end/71478
* tree-ssa-reassoc.c (reassociate_bb): Remove (-1) from ops list for
vector integer type.

From-SVN: r237318

8 years agore PR middle-end/71494 (label as value in nested function)
Jakub Jelinek [Fri, 10 Jun 2016 19:49:05 +0000 (21:49 +0200)]
re PR middle-end/71494 (label as value in nested function)

PR middle-end/71494
* tree-nested.c (convert_nonlocal_reference_stmt): For GIMPLE_GOTO
without LABEL_DECL, set *handled_ops_p to false instead of true.

* gcc.c-torture/execute/pr71494.c: New test.

From-SVN: r237317

8 years agore PR c/68657 ("gcc -Werror=sign-conversion test.i" shows invalid: -Wsign-conversion...
Jakub Jelinek [Fri, 10 Jun 2016 19:46:13 +0000 (21:46 +0200)]
re PR c/68657 ("gcc -Werror=sign-conversion test.i" shows invalid: -Wsign-conversion is not an option that controls warnings)

PR c/68657
* c.opt (Wpsabi): Add Warning flag.

* gcc.target/i386/pr68657.c: New test.

From-SVN: r237316

8 years agore PR inline-asm/68843 (ICE with "u" input constraint)
Jakub Jelinek [Fri, 10 Jun 2016 18:40:37 +0000 (20:40 +0200)]
re PR inline-asm/68843 (ICE with "u" input constraint)

PR inline-asm/68843
* gcc.target/i386/pr68843-2.c: Add dg-do run and empty dg-options.
(test): Add -masm=intel alternatives.

From-SVN: r237315

8 years agoPR c/71392 - SEGV calling integer overflow built-ins with a null pointer
Martin Sebor [Fri, 10 Jun 2016 17:38:19 +0000 (17:38 +0000)]
PR c/71392 - SEGV calling integer overflow built-ins with a null pointer

gcc/ChangeLog:
2016-06-10  Martin Sebor  <msebor@redhat.com>

PR c/71392
* builtin-attrs.def (ATTR_NOTHROW_NONNULL_LEAF_LIST): New macro.
(ATTR_NOTHROW_NONNULL_TYPEGENERIC_LEAF): Same.
* builtins.def (BUILT_IN_SADD_OVERFLOW, BUILT_IN_SADDL_OVERFLOW): Use
them.
(BUILT_IN_SADDLL_OVERFLOW, BUILT_IN_SSUB_OVERFLOW): Same.
(BUILT_IN_SSUBL_OVERFLOW, BUILT_IN_SSUBLL_OVERFLOW): Same.
(BUILT_IN_SMUL_OVERFLOW, BUILT_IN_SMULL_OVERFLOW): Same.
(BUILT_IN_SMULLL_OVERFLOW, BUILT_IN_UADD_OVERFLOW): Same.
(BUILT_IN_UADDL_OVERFLOW, BUILT_IN_UADDLL_OVERFLOW): Same.
(BUILT_IN_USUB_OVERFLOW, BUILT_IN_USUBL_OVERFLOW): Same.
(BUILT_IN_USUBLL_OVERFLOW, BUILT_IN_UMUL_OVERFLOW): Same.
(BUILT_IN_UMULL_OVERFLOW, BUILT_IN_UMULLL_OVERFLOW):

gcc/ada/ChangeLog:
2016-06-10  Martin Sebor  <msebor@redhat.com>

PR c/71392
* gcc/ada/gcc-interface/utils.c (handle_nonnull_attribute): Accept
the nonnull attribute in type-generic builtins.

gcc/c-family/ChangeLog:
2016-06-10  Martin Sebor  <msebor@redhat.com>

PR c/71392
* gcc/c-family/c-common.c (handle_nonnull_attribute): Accept
the nonnull attribute in type-generic builtins.

gcc/lto/ChangeLog:
2016-06-10  Martin Sebor  <msebor@redhat.com>

PR c/71392
* gcc/lto/lto-lang.c (handle_nonnull_attribute): Accept the nonnull
attribute in type-generic builtins.

gcc/testsuite/ChangeLog:
2016-06-10  Martin Sebor  <msebor@redhat.com>

PR c/71392
* c-c++-common/builtin-arith-overflow-1.c: Add test cases.

From-SVN: r237314

8 years agoarm.h (pool_vector_label, [...]): Remove.
Bernd Edlinger [Fri, 10 Jun 2016 16:27:27 +0000 (16:27 +0000)]
arm.h (pool_vector_label, [...]): Remove.

2016-06-10  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * config/arm/arm.h (pool_vector_label,
        return_used_this_function): Remove.

From-SVN: r237313

8 years agore PR tree-optimization/71335 (wrong code at -O2 and -O3 in 32-bit and 64-bit modes...
Jeff Law [Fri, 10 Jun 2016 16:23:06 +0000 (10:23 -0600)]
re PR tree-optimization/71335 (wrong code at -O2 and -O3 in 32-bit and 64-bit modes on x86_64-linux-gnu)

PR tree-optimization/71335
* tree-ssa-threadbackward.c (profitable_jump_thread_path): Filter out
zero length paths here.
(convert_and_register_jump_thread_path): Remove hacks related to
duplicated blocks in the jump thread path.
(fsm_find_control_statement_thread_paths): Avoid putting the same
block on the thread path twice, but ensure the thread path is
unchanged from the caller's point of view.

PR tree-optimization/71335
* gcc.c-torture/execute/pr71335.c: New test.

From-SVN: r237312

8 years agopredict.c (predict_loops): Remove PRED_LOOP_BRANCH.
Jan Hubicka [Fri, 10 Jun 2016 16:00:24 +0000 (18:00 +0200)]
predict.c (predict_loops): Remove PRED_LOOP_BRANCH.

* predict.c (predict_loops): Remove PRED_LOOP_BRANCH.
* predict.def (PRED_LOOP_BRANCH): Remove.

From-SVN: r237311

8 years agoRemove platform-specific details from must-tail-call-2.c messages
David Malcolm [Fri, 10 Jun 2016 14:14:04 +0000 (14:14 +0000)]
Remove platform-specific details from must-tail-call-2.c messages

gcc/testsuite/ChangeLog:
* gcc.dg/plugin/must-tail-call-2.c: Remove all details from
the various "cannot tail-call: " messages.

From-SVN: r237310

8 years agoAdd ggc-tests.c
David Malcolm [Fri, 10 Jun 2016 13:41:03 +0000 (13:41 +0000)]
Add ggc-tests.c

gcc/ChangeLog:
* Makefile.in (OBJS): Add ggc-tests.o.
(GTFILES): Add ggc-tests.c.
* ggc-tests.c: New file.
* selftest-run-tests.c (selftest::run_tests): Call
selftest::ggc_tests_c_tests.
* selftest.h (selftest::ggc_tests_c_tests): New prototype.

From-SVN: r237309

8 years agopr37780_1.c: Use arm_arch_v6t2 effective target and options.
Christophe Lyon [Fri, 10 Jun 2016 13:37:35 +0000 (13:37 +0000)]
pr37780_1.c: Use arm_arch_v6t2 effective target and options.

* gcc.target/arm/pr37780_1.c: Use arm_arch_v6t2 effective target and options.

From-SVN: r237308

8 years ago* match.pd (-1 / B < A): Use :c to avoid pattern duplication.
Alexander Monakov [Fri, 10 Jun 2016 12:58:53 +0000 (15:58 +0300)]
* match.pd (-1 / B < A): Use :c to avoid pattern duplication.

From-SVN: r237307

8 years agore PR sanitizer/71480 (ASan should align string constants to shadow granularity.)
Maxim Ostapenko [Fri, 10 Jun 2016 12:57:14 +0000 (12:57 +0000)]
re PR sanitizer/71480 (ASan should align string constants to shadow granularity.)

2016-06-10  Maxim Ostapenko  <m.ostapenko@samsung.com>

PR sanitizer/71480
* varasm.c (place_block_symbol): Adjust alignment for asan protected
STRING_CSTs even if TREE_CONSTANT_POOL_ADDRESS_P.

* c-c++-common/asan/pr71480.c: New test.

From-SVN: r237306

8 years agoprofile.c: Include cfgloop.h.
Jan Hubicka [Fri, 10 Jun 2016 12:46:30 +0000 (14:46 +0200)]
profile.c: Include cfgloop.h.

* profile.c: Include cfgloop.h.
(branch_prob): Compute estimated number of iterations.
* tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Do not
recompute estimate number of iterations from profile.

From-SVN: r237305

8 years agoUse __USER_LABEL_PREFIX__ in asm statement
H.J. Lu [Fri, 10 Jun 2016 12:38:16 +0000 (12:38 +0000)]
Use __USER_LABEL_PREFIX__ in asm statement

A target may have a prefix in function symbol.  Update interrrupt tests
to use __USER_LABEL_PREFIX__ for function symbol in asm statement.

* gcc.dg/guality/pr68037-1.c (ASMNAME): New.
(ASMNAME2): Likewise.
(main): Replace fn in asm statement with ASMNAME ("fn").
* gcc.dg/guality/pr68037-2.c: Likewise.
* gcc.dg/guality/pr68037-3.c: Likewise.
* gcc.dg/torture/pr68037-1.c: Likewise.
* gcc.dg/torture/pr68037-2.c: Likewise.
* gcc.dg/torture/pr68037-3.c: Likewise.

From-SVN: r237304

8 years agore PR inline-asm/68843 (ICE with "u" input constraint)
Bernd Edlinger [Fri, 10 Jun 2016 12:22:21 +0000 (12:22 +0000)]
re PR inline-asm/68843 (ICE with "u" input constraint)

gcc:
2016-06-10  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR inline-asm/68843
        * reg-stack.c (check_asm_stack_operands): Explicit input arguments
        must be grouped on top of stack.  Don't force early clobber
        on ordinary reg outputs.

testsuite:
2016-06-10  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR inline-asm/68843
        * gcc.target/i386/pr68843-1.c: New test.
        * gcc.target/i386/pr68843-2.c: New test.

From-SVN: r237303

8 years agotarghooks.c (default_builtin_vectorization_cost): Adjust vec_construct cost.
Richard Biener [Fri, 10 Jun 2016 11:45:39 +0000 (11:45 +0000)]
targhooks.c (default_builtin_vectorization_cost): Adjust vec_construct cost.

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

* targhooks.c (default_builtin_vectorization_cost): Adjust
vec_construct cost.

From-SVN: r237302

8 years agogimple-fold.c (gimple_fold_builtin_memory_op): Make sure to fold the RHS to a constan...
Richard Biener [Fri, 10 Jun 2016 11:44:47 +0000 (11:44 +0000)]
gimple-fold.c (gimple_fold_builtin_memory_op): Make sure to fold the RHS to a constant if possible.

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

* gimple-fold.c (gimple_fold_builtin_memory_op): Make sure
to fold the RHS to a constant if possible.

From-SVN: r237301

8 years agompx_wrappers.c (move_bounds): Fix overflow bug.
Ilya Enkovich [Fri, 10 Jun 2016 09:23:53 +0000 (09:23 +0000)]
mpx_wrappers.c (move_bounds): Fix overflow bug.

libmpx/

2016-06-10  Ilya Enkovich  <ilya.enkovich@intel.com>

* mpxwrap/mpx_wrappers.c (move_bounds): Fix overflow bug.

From-SVN: r237292

8 years ago[PR middle-end/71373] Handle more OMP_CLAUSE_* in nested function decomposition
Thomas Schwinge [Fri, 10 Jun 2016 09:22:51 +0000 (11:22 +0200)]
[PR middle-end/71373] Handle more OMP_CLAUSE_* in nested function decomposition

gcc/
* gimplify.c (gimplify_adjust_omp_clauses): Discard
OMP_CLAUSE_TILE.
* omp-low.c (scan_sharing_clauses): Don't expect OMP_CLAUSE_TILE.
gcc/testsuite/
* c-c++-common/goacc/combined-directives.c: XFAIL tree scanning
for OpenACC tile clauses.
* gfortran.dg/goacc/combined-directives.f90: Likewise.

gcc/
PR middle-end/71373
* tree-nested.c (convert_nonlocal_omp_clauses)
(convert_local_omp_clauses): Handle OMP_CLAUSE_ASYNC,
OMP_CLAUSE_WAIT, OMP_CLAUSE_INDEPENDENT, OMP_CLAUSE_AUTO,
OMP_CLAUSE__CACHE_, OMP_CLAUSE_TILE.
gcc/testsuite/
PR middle-end/71373
* gcc.dg/goacc/nested-function-1.c: New file.
* gcc.dg/goacc/nested-function-2.c: Likewise.
* gcc.dg/goacc/pr71373.c: Likewise.
* gfortran.dg/goacc/cray-2.f95: Likewise.
* gfortran.dg/goacc/loop-1-2.f95: Likewise.
* gfortran.dg/goacc/loop-3-2.f95: Likewise.
* gfortran.dg/goacc/cray.f95: Update.
* gfortran.dg/goacc/loop-1.f95: Likewise.
* gfortran.dg/goacc/loop-3.f95: Likewise.
* gfortran.dg/goacc/subroutines.f90: Update, and rename to...
* gfortran.dg/goacc/nested-function-1.f90: ... this new file.
libgomp/testsuite/
PR middle-end/71373
* libgomp.oacc-c/nested-function-1.c: New file.
* libgomp.oacc-c/nested-function-2.c: Likewise.
* libgomp.oacc-fortran/nested-function-1.f90: Likewise.
* libgomp.oacc-fortran/nested-function-2.f90: Likewise.
* libgomp.oacc-fortran/nested-function-3.f90: Likewise.

Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
From-SVN: r237291

8 years ago[PR c/71381] C/C++ OpenACC cache directive rejects valid syntax
Thomas Schwinge [Fri, 10 Jun 2016 09:22:38 +0000 (11:22 +0200)]
[PR c/71381] C/C++ OpenACC cache directive rejects valid syntax

gcc/c/
PR c/71381
* c-parser.c (c_parser_omp_variable_list) <OMP_CLAUSE__CACHE_>:
Loosen checking.
gcc/cp/
PR c/71381
* parser.c (cp_parser_omp_var_list_no_open) <OMP_CLAUSE__CACHE_>:
Loosen checking.
gcc/fortran/
PR c/71381
* openmp.c (gfc_match_oacc_cache): Add comment.
gcc/testsuite/
PR c/71381
* c-c++-common/goacc/cache-1.c: Update.  Move invalid usage tests
to...
* c-c++-common/goacc/cache-2.c: ... this new file.
* gfortran.dg/goacc/cache-1.f95: Move invalid usage tests to...
* gfortran.dg/goacc/cache-2.f95: ... this new file.
* gfortran.dg/goacc/coarray.f95: Update OpenACC cache directive
usage.
* gfortran.dg/goacc/cray.f95: Likewise.
* gfortran.dg/goacc/loop-1.f95: Likewise.
libgomp/
PR c/71381
* testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
"../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
* testsuite/libgomp.oacc-fortran/cache-1.f95: New file.

gcc/
* omp-low.c (scan_sharing_clauses): Don't expect
OMP_CLAUSE__CACHE_.

From-SVN: r237290

8 years agocheck_GNU_style.sh: Fix paste args for BSD
Alan Hayward [Fri, 10 Jun 2016 08:53:20 +0000 (08:53 +0000)]
check_GNU_style.sh: Fix paste args for BSD

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

* check_GNU_style.sh: Fix paste args for BSD

From-SVN: r237289

8 years agore PR tree-optimization/71407 (ICE at -O3 in 32-bit and 64-bit modes on x86_64-linux...
Alan Hayward [Fri, 10 Jun 2016 08:46:55 +0000 (08:46 +0000)]
re PR tree-optimization/71407 (ICE at -O3 in 32-bit and 64-bit modes on x86_64-linux-gnu (verify_gimple: integral result type precision does not match field size of BIT_FIELD_REF))

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

gcc/
PR tree-optimization/71407
PR tree-optimization/71416
* tree-vect-loop.c (vectorizable_live_operation): Use vectype for
BIT_FIELD_REF type.

testsuite/
PR tree-optimization/71407
PR tree-optimization/71416
* gcc.dg/vect/pr71407.c: New
* gcc.dg/vect/pr71416-1.c: New
* gcc.dg/vect/pr71416-2.c: New

From-SVN: r237288

8 years agore PR tree-optimization/71477 (gcc ICE at -O3 on valid code on x86_64-linux-gnu with...
Richard Biener [Fri, 10 Jun 2016 07:30:45 +0000 (07:30 +0000)]
re PR tree-optimization/71477 (gcc ICE at -O3 on valid code on x86_64-linux-gnu with “seg fault”)

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

PR middle-end/71477
* cfgloop.c (alloc_loop): Initialize nb_iterations_likely_upper_bound.

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

From-SVN: r237287

8 years agocompiler: fix quoting in error message
Ian Lance Taylor [Fri, 10 Jun 2016 01:21:48 +0000 (01:21 +0000)]
compiler: fix quoting in error message

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

From-SVN: r237286

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

From-SVN: r237285

8 years ago* df-problems.c (df_note_bb_compute): Guard use of DF_INSN_INFO_GET.
Eric Botcazou [Thu, 9 Jun 2016 21:50:55 +0000 (21:50 +0000)]
* df-problems.c (df_note_bb_compute): Guard use of DF_INSN_INFO_GET.

From-SVN: r237279

8 years ago[Patch] PR70751, correct the cost for spilling non-pseudo into memory
Vladimir Makarov [Thu, 9 Jun 2016 21:28:31 +0000 (21:28 +0000)]
[Patch] PR70751, correct the cost for spilling non-pseudo into memory

PR rtl-optimization/70751
* lra-constraints.c (process_alt_operands): Recognize Non-pseudo spilled
into memory.

Co-Authored-By: Jiong Wang <jiong.wang@arm.com>
From-SVN: r237277

8 years agorevert: cygwin.h (STARTFILE_SPEC): Explicitly search sysroot/usr/lib/32api for additi...
Jonathan Yong [Thu, 9 Jun 2016 20:47:48 +0000 (20:47 +0000)]
revert: cygwin.h (STARTFILE_SPEC): Explicitly search sysroot/usr/lib/32api for additional win32 libraries...

2016-06-09 Jonathan Yong  <10walls@gmail.com>

Revert:
2015-09-21  Jonathan Yong  <10walls@gmail.com>
        * config/i386/cygwin.h (STARTFILE_SPEC): Explicitly search
        sysroot/usr/lib/32api for additional win32 libraries,
        fixes failing Cygwin bootstrapping.

From-SVN: r237276

8 years agodiagnostic.h (diagnostic_line_cutoff, [...]): delete.
Marcin Baczyński [Thu, 9 Jun 2016 20:43:26 +0000 (20:43 +0000)]
diagnostic.h (diagnostic_line_cutoff, [...]): delete.

2016-06-09  Marcin Baczyński <marbacz@gmail.com>

* diagnostic.h (diagnostic_line_cutoff, diagnostic_flush_buffer):
delete.

From-SVN: r237275

8 years agoFix x86 interrupt tests for -fpic and -march=corei7
Julia Koval [Thu, 9 Jun 2016 18:31:35 +0000 (20:31 +0200)]
Fix x86 interrupt tests for -fpic and -march=corei7

2016-06-09  Julia Koval  <julia.koval@intel.com>

* gcc.target/i386/interrupt-12.c: Fix test for -fpic and corei7.
* gcc.target/i386/interrupt-13.c: Likewise.
* gcc.target/i386/interrupt-15.c: Likewise.
* gcc.target/i386/interrupt-14.c: Fix test for -fpic.
* gcc.target/i386/interrupt-24.c: Likewise.
* gcc.target/i386/interrupt-3.c: Fix test for corei7.
* gcc.target/i386/interrupt-9.c: Likewise.
* gcc.target/i386/interrupt-redzone-2.c: Likewise.

From-SVN: r237272

8 years agoPR bootstrap/71471: remove selftest for pp_format (%p)
David Malcolm [Thu, 9 Jun 2016 17:27:12 +0000 (17:27 +0000)]
PR bootstrap/71471: remove selftest for pp_format (%p)

gcc/ChangeLog:
PR bootstrap/71471
* pretty-print.c (pp_indent): Specify that %p is printed in a
host-dependent manner.
(test_pp_format): Remove the test for %p.

From-SVN: r237271

8 years agoconfig-list.mk: add OPT-enable-obsolete to 4 targets
David Malcolm [Thu, 9 Jun 2016 17:06:47 +0000 (17:06 +0000)]
config-list.mk: add OPT-enable-obsolete to 4 targets

r233165 marked three deprecated rtems targets as obsolete.
r233887 marked mep-elf as obsolete.

Update config-list.mk to add OPT-enable-obsolete to these 4
targets.

contrib/ChangeLog:
* config-list.mk (LIST): Add OPT-enable-obsolete to avr-rtems,
h8300-rtems, m32r-rtems, mep-elf.

From-SVN: r237270

8 years agoconfig-list.mk: add GCC_SRC_DIR
David Malcolm [Thu, 9 Jun 2016 17:04:13 +0000 (17:04 +0000)]
config-list.mk: add GCC_SRC_DIR

contrib/ChangeLog:
* config-list.mk (GCC_SRC_DIR): New variable.
(make-log-dir): Use GCC_SRC_DIR.
($(LIST)): Likewise.

From-SVN: r237269

8 years agoPR c/70883 - inconsistent error message for calls to __builtin_add_overflow
Martin Sebor [Thu, 9 Jun 2016 16:32:25 +0000 (16:32 +0000)]
PR c/70883 - inconsistent error message for calls to __builtin_add_overflow

PR c/70883 - inconsistent error message for calls to __builtin_add_overflow
  with too few arguments

gcc/c-family/ChangeLog:
2016-06-09  Martin Sebor  <msebor@redhat.com>

PR c/70883
* c-common.c (builtin_function_validate_nargs): Make text of error
message consistent with others like it.

gcc/testsuite/ChangeLog:
2016-06-09  Martin Sebor  <msebor@redhat.com>

PR c/70883
* c-c++-common/builtin-arith-overflow-1.c: Adjust diagnostic text.
* gcc.dg/builtin-constant_p-1.c: Same.
* gcc.dg/builtins-error.c: Same.
* gcc.dg/pr70859.c: Same.

From-SVN: r237268

8 years agoMIPS: Stay within 79 columns in `mips_output_jump'
Maciej W. Rozycki [Thu, 9 Jun 2016 14:46:25 +0000 (14:46 +0000)]
MIPS: Stay within 79 columns in `mips_output_jump'

gcc/
* config/mips/mips.c (mips_output_jump): Fix formatting.

From-SVN: r237267

8 years agobswap-2.c: Require int32plus.
Senthil Kumar Selvaraj [Thu, 9 Jun 2016 14:32:08 +0000 (14:32 +0000)]
bswap-2.c: Require int32plus.

2016-06-09  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

* gcc.c-torture/execute/bswap-2.c: Require int32plus.
* gcc.dg/torture/pr68067-1.c: Likewise.
* gcc.dg/torture/pr68067-2.c: Likewise.

2016-06-09  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

* gcc.dg/stack-usage-1.c (SIZE): Consider return address
  when setting SIZE.

From-SVN: r237266

8 years agore PR c++/71465 (ICE on invalid C++ code (with duplicate base) on x86_64-linux-gnu...
Paolo Carlini [Thu, 9 Jun 2016 12:02:17 +0000 (12:02 +0000)]
re PR c++/71465 (ICE on invalid C++ code (with duplicate base) on x86_64-linux-gnu: in dfs_build_secondary_vptr_vtt_inits, at cp/class.c:9075)

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

PR c++/71465
Revert:
2016-06-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/70202
* parser.c (cp_parser_class_head): When xref_basetypes fails and
emits an error do not zero the type.

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

PR c++/71465
* g++.dg/inherit/crash5.C: New.
Revert:
2016-06-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/70202
* g++.dg/inherit/crash5.C: New.
* g++.dg/inherit/virtual1.C: Adjust.

From-SVN: r237258

8 years agoAdd new analyze_brprob_spec.py script
Martin Liska [Thu, 9 Jun 2016 11:39:08 +0000 (13:39 +0200)]
Add new analyze_brprob_spec.py script

* analyze_brprob_spec.py: New file.

From-SVN: r237257

8 years agoAdd sorting support to analyze_brprob script
Martin Liska [Thu, 9 Jun 2016 11:38:23 +0000 (13:38 +0200)]
Add sorting support to analyze_brprob script

* analyze_brprob.py: Add new argument --sorting.

From-SVN: r237256

8 years agoAdd edge predictions pruning
Martin Liska [Thu, 9 Jun 2016 11:37:41 +0000 (13:37 +0200)]
Add edge predictions pruning

* analyze_brprob.py: Cover new dump output format.
* predict.c (dump_prediction): Add new argument.
(enum predictor_reason): New enum.
(struct predictor_hash): New struct.
(predictor_hash::hash): New function.
(predictor_hash::equal): Likewise.
(not_removed_prediction_p): New function.
(prune_predictions_for_bb): Likewise.
(combine_predictions_for_bb): Prune predictions.
* g++.dg/predict-loop-exit-1.C: Scan for a new dump format.
* g++.dg/predict-loop-exit-2.C: Likewise.
* g++.dg/predict-loop-exit-3.C: Likewise.
* gcc.dg/predict-1.c: Likewise.
* 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.
* gcc.dg/predict-7.c: Likewise.

From-SVN: r237255

8 years agore PR tree-optimization/71462 (gcc ICE at -O3 on valid code on x86_64-linux-gnu...
Richard Biener [Thu, 9 Jun 2016 11:36:22 +0000 (11:36 +0000)]
re PR tree-optimization/71462 (gcc ICE at -O3  on valid code on x86_64-linux-gnu with “seg fault”)

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

PR tree-optimization/71462
* tree-ssa-loop-manip.c (find_uses_to_rename): Guard against
removed blocks.

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

From-SVN: r237254

8 years agoIntroduce filtering for edge_predictions.
Martin Liska [Thu, 9 Jun 2016 11:26:32 +0000 (13:26 +0200)]
Introduce filtering for edge_predictions.

* predict.c (filter_predictions): New function.
(remove_predictions_associated_with_edge): Use the filter
function.
(equal_edge_p): New function.

From-SVN: r237253

8 years agore PR c/65471 (type interpretation in _Generic)
Marek Polacek [Thu, 9 Jun 2016 10:16:19 +0000 (10:16 +0000)]
re PR c/65471 (type interpretation in _Generic)

PR c/65471
* gcc.dg/c11-generic-3.c: New test.

From-SVN: r237252

8 years agoUpdate documentation for ARM architecture
Stefan Bruens [Thu, 9 Jun 2016 08:59:23 +0000 (08:59 +0000)]
Update documentation for ARM architecture

2016-06-09  Stefan Bruens  <stefan.bruens@rwth-aachen.de>

* doc/invoke.texi (ARM Options): Use lexicographical ordering.
Correct usage of @samp vs @option, add @samp where appropriate.
Add -march={armv6k,armv6z,arm6zk}, remove -march=ep9312.
Add armv6s-m and document it, as it is no official ARM name.

From-SVN: r237251

8 years ago[RTL ifcvt] Print name of noce trasform that succeeded in dump file
Kyrylo Tkachov [Thu, 9 Jun 2016 08:48:10 +0000 (08:48 +0000)]
[RTL ifcvt] Print name of noce trasform that succeeded in dump file

* ifcvt.c (struct noce_if_info): Add transform_name field.
(noce_try_move): Set if_info->transform_name to the function name.
(noce_try_ifelse_collapse): Likewise.
(noce_try_store_flag): Likewise.
(noce_try_inverse_constants): Likewise.
(noce_try_store_flag_constants): Likewise.
(noce_try_addcc): Likewise.
(noce_try_store_flag_mask): Likewise.
(noce_try_cmove): Likewise.
(noce_try_cmove_arith): Likewise.
(noce_try_minmax): Likewise.
(noce_try_abs): Likewise.
(noce_try_sign_mask): Likewise.
(noce_try_bitop): Likewise.
(noce_convert_multiple_sets): Likewise.
(noce_process_if_block): Print if_info->transform_name to
dump_file if transformation succeeded.

From-SVN: r237250

8 years ago[AArch64] Model CSEL instruction in Cortex-A57 scheduling model
Kyrylo Tkachov [Thu, 9 Jun 2016 08:45:22 +0000 (08:45 +0000)]
[AArch64] Model CSEL instruction in Cortex-A57 scheduling model

* config/arm/cortex-a57.md (cortex_a57_alu):
Handle csel type.

From-SVN: r237249

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

From-SVN: r237248

8 years agodecl.c (maybe_deduce_size_from_array_init): Use DECL_SOURCE_LOCATION in error_at.
Paolo Carlini [Wed, 8 Jun 2016 19:31:55 +0000 (19:31 +0000)]
decl.c (maybe_deduce_size_from_array_init): Use DECL_SOURCE_LOCATION in error_at.

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

* decl.c (maybe_deduce_size_from_array_init): Use
DECL_SOURCE_LOCATION in error_at.
(layout_var_decl): Likewise.
(check_array_initializer): Likewise.
(check_initializer): Likewise.
(duplicate_decls, check_elaborated_type_specifier): Tidy.

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

* g++.dg/init/array42.C: New.
* g++.dg/init/array43.C: Likewise.
* g++.dg/init/array44.C: Likewise.
* g++.dg/init/array45.C: Likewise.
* g++.dg/cpp0x/constexpr-ice10.C: Test column number too.
* g++.dg/cpp0x/constexpr-incomplete1.C: Likewise.
* g++.dg/cpp1y/auto-fn27.C: Likewise.
* g++.dg/gomp/pr35751.C: Likewise.
* g++.dg/init/array23.C: Likewise.
* g++.dg/init/brace2.C: Likewise.
* g++.dg/init/brace6.C: Likewise.

From-SVN: r237240

8 years agore PR c++/70507 (integer overflow builtins not constant expressions)
Martin Sebor [Wed, 8 Jun 2016 19:03:17 +0000 (19:03 +0000)]
re PR c++/70507 (integer overflow builtins not constant expressions)

PR c++/70507
PR c/68120
* builtins.def (BUILT_IN_ADD_OVERFLOW_P, BUILT_IN_SUB_OVERFLOW_P,
BUILT_IN_MUL_OVERFLOW_P): New builtins.
* builtins.c: Include gimple-fold.h.
(fold_builtin_arith_overflow): Handle
BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
(fold_builtin_3): Likewise.
* doc/extend.texi (Integer Overflow Builtins): Document
__builtin_{add,sub,mul}_overflow_p.
gcc/c/
* c-typeck.c (convert_arguments): Don't promote last argument
of BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
gcc/cp/
* constexpr.c: Include gimple-fold.h.
(cxx_eval_internal_function): New function.
(cxx_eval_call_expression): Call it.
(potential_constant_expression_1): Handle integer arithmetic
overflow built-ins.
* tree.c (builtin_valid_in_constant_expr_p): Handle
BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
gcc/c-family/
* c-common.c (check_builtin_function_arguments): Handle
BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
gcc/testsuite/
* c-c++-common/builtin-arith-overflow-1.c: Add test cases.
* c-c++-common/builtin-arith-overflow-2.c: New test.
* g++.dg/ext/builtin-arith-overflow-1.C: New test.
* g++.dg/cpp0x/constexpr-arith-overflow.C: New test.
* g++.dg/cpp1y/constexpr-arith-overflow.C: New test.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r237238

8 years agodriver-sparc.c (cpu_names): Fix the entry for the SPARC-M7 and add an entry for SPARC...
Jose E. Marchesi [Wed, 8 Jun 2016 18:32:16 +0000 (20:32 +0200)]
driver-sparc.c (cpu_names): Fix the entry for the SPARC-M7 and add an entry for SPARC-S7 cpus (Sonoma).

2016-06-08  Jose E. Marchesi  <jose.marchesi@oracle.com>

* config/sparc/driver-sparc.c (cpu_names): Fix the entry for the
SPARC-M7 and add an entry for SPARC-S7 cpus (Sonoma).

From-SVN: r237237

8 years agopt.c (tsubst, [...]): Don't delay checking the return value of tsubst_aggr_type for...
Paolo Carlini [Wed, 8 Jun 2016 18:29:42 +0000 (18:29 +0000)]
pt.c (tsubst, [...]): Don't delay checking the return value of tsubst_aggr_type for error_mark_node.

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

* pt.c (tsubst, case TYPENAME_TYPE): Don't delay checking the
return value of tsubst_aggr_type for error_mark_node.

From-SVN: r237236

8 years agore PR c++/71442 (r232569 breaks -Wunused-*)
Jakub Jelinek [Wed, 8 Jun 2016 17:57:30 +0000 (19:57 +0200)]
re PR c++/71442 (r232569 breaks -Wunused-*)

PR c++/71442
* pt.c (tsubst_copy): Only set TREE_USED on DECLs.

* g++.dg/cpp0x/Wunused-variable-1.C: New test.

From-SVN: r237232

8 years ago[PATCH 2/2][AArch64] Tests of AAPCS64 updates for alignment attribute
Alan Lawrence [Wed, 8 Jun 2016 17:02:24 +0000 (17:02 +0000)]
[PATCH 2/2][AArch64] Tests of AAPCS64 updates for alignment attribute

gcc/testsuite/

* gcc.target/aarch64/aapcs64/aapcs64.exp: Also execute rec_*.c
* gcc.target/aarch64/aapcs64/rec_align-5.c: New.
* gcc.target/aarch64/aapcs64/rec_align-6.c: New.
* gcc.target/aarch64/aapcs64/rec_align-7.c: New.
* gcc.target/aarch64/aapcs64/rec_align-8.c: New.
* gcc.target/aarch64/aapcs64/rec_align-9.c: New.
* gcc.target/aarch64/aapcs64/test_align-5.c: New.
* gcc.target/aarch64/aapcs64/test_align-6.c: New.
* gcc.target/aarch64/aapcs64/test_align-7.c: New.
* gcc.target/aarch64/aapcs64/test_align-8.c: New.
* gcc.target/aarch64/aapcs64/test_align-9.c: New.
* gcc.target/aarch64/aapcs64/rec_vaarg-1.c: New.
* gcc.target/aarch64/aapcs64/rec_vaarg-2.c: New.

From-SVN: r237225

8 years ago[PATCH 1/2][AArch64] Implement AAPCS64 updates for alignment attribute
Alan Lawrence [Wed, 8 Jun 2016 17:00:23 +0000 (17:00 +0000)]
[PATCH 1/2][AArch64] Implement AAPCS64 updates for alignment attribute

gcc/ChangeLog:

* config/aarch64/aarch64.c (aarch64_function_arg_alignment):
Rewrite, looking one level down for records and arrays.

From-SVN: r237224

8 years agoAdd selftest for pretty-print.c
David Malcolm [Wed, 8 Jun 2016 15:53:56 +0000 (15:53 +0000)]
Add selftest for pretty-print.c

gcc/ChangeLog:
* pretty-print.c: Include "selftest.h".
(pp_format): Fix comment.
(identifier_to_locale): Likewise.
(selftest::test_basic_printing): New function.
(selftest::assert_pp_format): New function.
(selftest::test_pp_format): New function.
(selftest::pretty_print_c_tests): New function.
* selftest-run-tests.c (selftest::run_tests): Call
selftest::pretty_print_c_tests.
* selftest.h (pretty_print_c_tests): New declaration.

From-SVN: r237221

8 years agoinvoke.texi (max-loop-headers-insns): Document.
Jan Hubicka [Wed, 8 Jun 2016 14:11:51 +0000 (16:11 +0200)]
invoke.texi (max-loop-headers-insns): Document.

* invoke.texi (max-loop-headers-insns): Document.
* params.def (PARAM_MAX_LOOP_HEADER_INSNS): New.
* tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Update comment.
(ch_base::copy_headers): Use PARAM_MAX_LOOP_HEADER_INSNS.

From-SVN: r237219

8 years agore PR tree-optimization/68558 (Fails to SLP loop)
Richard Biener [Wed, 8 Jun 2016 13:28:21 +0000 (13:28 +0000)]
re PR tree-optimization/68558 (Fails to SLP loop)

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

PR tree-optimization/68558
* gcc.dg/vect/slp-44.c: New testcase.

From-SVN: r237216

8 years agotree-vect-stmts.c (vectorizable_load): Remove restrictions on strided SLP loads and...
Richard Biener [Wed, 8 Jun 2016 13:17:41 +0000 (13:17 +0000)]
tree-vect-stmts.c (vectorizable_load): Remove restrictions on strided SLP loads and fall back to scalar loads in case...

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

* tree-vect-stmts.c (vectorizable_load): Remove restrictions
on strided SLP loads and fall back to scalar loads in case
we can't chunk them.

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

From-SVN: r237215

8 years agore PR tree-optimization/71452 (Wrong optimization of stores to _Bool via char*)
Richard Biener [Wed, 8 Jun 2016 13:11:43 +0000 (13:11 +0000)]
re PR tree-optimization/71452 (Wrong optimization of stores to _Bool via char*)

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

PR tree-optimization/71452
* tree-ssa.c (non_rewritable_lvalue_p): Make sure that the
type used for the SSA rewrite has enough precision to cover
the dynamic type of the location.

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

From-SVN: r237214

8 years agore PR c++/71448 (pointer relational comparison fails inside constant expression)
Jakub Jelinek [Wed, 8 Jun 2016 12:57:26 +0000 (14:57 +0200)]
re PR c++/71448 (pointer relational comparison fails inside constant expression)

PR c++/71448
* fold-const.c (fold_comparison): Handle CONSTANT_CLASS_P (base0)
the same as DECL_P (base0) for indirect_base0.  Use equality_code
in one further place.

* g++.dg/torture/pr71448.C: New test.

Co-Authored-By: Richard Biener <rguenther@suse.de>
From-SVN: r237212

8 years agoRemove word_mode hack for split bitfields
Richard Sandiford [Wed, 8 Jun 2016 12:18:27 +0000 (12:18 +0000)]
Remove word_mode hack for split bitfields

This patch is effectively reverting a change from 1994.  The reason
I think it's a hack is that store_bit_field_1 is creating a subreg
reference to one word of a field even though it has already proven that
the field spills into the following word.  We then rely on the special
SUBREG handling in store_split_bit_field to ignore the extent of op0 and
look inside the SUBREG_REG regardless.  I don't see any reason why we can't
pass the original op0 to store_split_bit_field instead.

Tested on aarch64-linux-gnu and x86_64-linux-gnu.

gcc/
* expmed.c (store_bit_field_1): Do not restrict a multiword op0
to one word if the field is known to overlap other words.
(extract_bit_field_1): Likewise.
(store_split_bit_field): Remove compensating code.
(extract_split_bit_field): Likewise.

From-SVN: r237211

8 years agoAdd ChangeLog entry missed in last commit:
Chung-Lin Tang [Wed, 8 Jun 2016 11:48:12 +0000 (11:48 +0000)]
Add ChangeLog entry missed in last commit:

2016-06-03  Chung-Lin Tang  <cltang@codesourcery.com>

libgomp/
* testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
* testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.

From-SVN: r237209

8 years agore PR debug/71432 (-fcompare-debug failure (length))
Bernd Schmidt [Wed, 8 Jun 2016 11:41:54 +0000 (11:41 +0000)]
re PR debug/71432 (-fcompare-debug failure (length))

PR debug/71432
PR ada/71413
* tree-ssa-strlen.c (handle_builtin_memcmp): Ignore debug insns.

* g++.dg/debug/pr71432.C: New test.

From-SVN: r237208

8 years agosection-anchors-vect-70.c: Rename to aligned-section-anchors-vect-71.c.
Prathamesh Kulkarni [Wed, 8 Jun 2016 11:15:17 +0000 (11:15 +0000)]
section-anchors-vect-70.c: Rename to aligned-section-anchors-vect-71.c.

2016-06-08  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

* gcc.dg/vect/section-anchors-vect-70.c: Rename to aligned-section-anchors-vect-71.c.
* gcc.dg/vect/section-anchors-vect-71.c: Rename to aligned-section-anchors-vect-72.c.
* gcc.dg/vect/section-anchors-vect-72.c: Rename to aligned-section-anchors-vect-72.c.

From-SVN: r237207

8 years agoc-common.c (parse_optimize_options): Improve diagnostic messages.
Richard Biener [Wed, 8 Jun 2016 10:26:54 +0000 (10:26 +0000)]
c-common.c (parse_optimize_options): Improve diagnostic messages.

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

* c-common.c (parse_optimize_options): Improve diagnostic messages.

From-SVN: r237206

8 years ago[AArch64, 6/6] Reimplement vpadd intrinsics & extend rtl patterns to all modes
Jiong Wang [Wed, 8 Jun 2016 10:17:58 +0000 (10:17 +0000)]
[AArch64, 6/6] Reimplement vpadd intrinsics & extend rtl patterns to all modes

* config/aarch64/aarch64-builtins.def (faddp): New builtins for modes in
VDQF.
* config/aarch64/aarch64-simd.md (aarch64_faddp<mode>): New.
(arch64_addpv4sf): Delete.
(reduc_plus_scal_v4sf): Use "gen_aarch64_faddpv4sf" instead of
"gen_aarch64_addpv4sf".
* config/aarch64/arm_neon.h (vpadd_f32): Remove inline assembly.  Use
builtin.
(vpadds_f32): Likewise.
(vpaddq_f32): Likewise.
(vpaddq_f64): Likewise.

From-SVN: r237205

8 years ago[AArch64, 5/6] Reimplement fabd intrinsics & merge rtl patterns
Jiong Wang [Wed, 8 Jun 2016 10:16:07 +0000 (10:16 +0000)]
[AArch64, 5/6] Reimplement fabd intrinsics & merge rtl patterns

* config/aarch64/aarch64-builtins.def (fabd): New builtins for modes
VALLF.
* config/aarch64/aarch64-simd.md (fabd<mode>_3): Extend modes from VDQF
to VALLF.  Rename to "fabd<mode>3".
"*fabd_scalar<mode>3): Delete.
* config/aarch64/arm_neon.h (vabds_f32): Remove inline assembly.
Use builtin.
(vabdd_f64): Likewise.
(vabd_f32): Likewise.
(vabd_f64): Likewise.
(vabdq_f32): Likewise.
(vabdq_f64): Likewise.

From-SVN: r237204

8 years ago[AArch64, 4/6] Reimplement frsqrts intrinsics
Jiong Wang [Wed, 8 Jun 2016 10:14:30 +0000 (10:14 +0000)]
[AArch64, 4/6] Reimplement frsqrts intrinsics

* config/aarch64/aarch64-builtins.def (rsqrts): New builtins for modes
VALLF.
* config/aarch64/aarch64-simd.md (aarch64_rsqrts_<mode>3): Rename to
"aarch64_rsqrts<mode>".
* config/aarch64/aarch64.c (get_rsqrts_type): Update gen* name.
* config/aarch64/arm_neon.h (vrsqrtss_f32): Remove inline assembly.  Use
builtin.
(vrsqrtsd_f64): Likewise.
(vrsqrts_f32): Likewise.
(vrsqrts_f64): Likewise.
(vrsqrtsq_f32): Likewise.
(vrsqrtsq_f64): Likewise.

From-SVN: r237203

8 years ago[AArch64, 3/6] Reimplement frsqrte intrinsics
Jiong Wang [Wed, 8 Jun 2016 10:12:53 +0000 (10:12 +0000)]
[AArch64, 3/6] Reimplement frsqrte intrinsics

* config/aarch64/aarch64-builtins.def (rsqrte): New builtins for modes
VALLF.
* config/aarch64/aarch64-simd.md (aarch64_rsqrte_<mode>2): Rename to
"aarch64_rsqrte<mode>".
* config/aarch64/aarch64.c (get_rsqrte_type): Update gen* name.
* config/aarch64/arm_neon.h (vrsqrts_f32): Remove inline assembly.  Use
builtin.
(vrsqrted_f64): Likewise.
(vrsqrte_f32): Likewise.
(vrsqrte_f64): Likewise.
(vrsqrteq_f32): Likewise.
(vrsqrteq_f64): Likewise.

From-SVN: r237202

8 years ago[AArch64, 2/6] Reimplement vector fixed-point intrinsics
Jiong Wang [Wed, 8 Jun 2016 10:11:09 +0000 (10:11 +0000)]
[AArch64, 2/6] Reimplement vector fixed-point intrinsics

* config/aarch64/aarch64-builtins.def (scvtf): Register vector modes.
(ucvtf): Likewise.
(fcvtzs): Likewise.
(fcvtzu): Likewise.
* config/aarch64/aarch64-simd.md
(<FCVT_F2FIXED:fcvt_fixed_insn><VDQF:mode>3): New.
(<FCVT_FIXED2F:fcvt_fixed_insn><VDQ_SDI:mode>3): Likewise.
* config/aarch64/arm_neon.h (vcvt_n_f32_s32): Remove inline assembly.
Use builtin.
(vcvt_n_f32_u32): Likewise.
(vcvt_n_s32_f32): Likewise.
(vcvt_n_u32_f32): Likewise.
(vcvtq_n_f32_s32): Likewise.
(vcvtq_n_f32_u32): Likewise.
(vcvtq_n_f64_s64): Likewise.
(vcvtq_n_f64_u64): Likewise.
(vcvtq_n_s32_f32): Likewise.
(vcvtq_n_s64_f64): Likewise.
(vcvtq_n_u32_f32): Likewise.
(vcvtq_n_u64_f64): Likewise.
* config/aarch64/iterators.md (VDQ_SDI): New mode iterator.
(VSDQ_SDI): Likewise.
(fcvt_target): Support V4DI, V4SI and V2SI.
(FCVT_TARGET): Likewise.

From-SVN: r237201

8 years ago[AArch64, 1/6] Reimplement scalar fixed-point intrinsics
Jiong Wang [Wed, 8 Jun 2016 10:07:30 +0000 (10:07 +0000)]
[AArch64, 1/6] Reimplement scalar fixed-point intrinsics

        * config/aarch64/aarch64-builtins.c (TYPES_BINOP_USS): New
        (TYPES_BINOP_SUS): Likewise.
        (aarch64_simd_builtin_data): Update include file name.
        (aarch64_builtins): Likewise.
        * config/aarch64/aarch64-simd-builtins.def (scvtf): New entries
        for conversion between scalar float-point and fixed-point.
        (ucvtf): Likewise.
        (fcvtzs): Likewise.
        (fcvtzu): Likewise.
        * config/aarch64/aarch64.md
        (<FCVT_F2FIXED:fcvt_fixed_insn><GPF:mode>3: New
        pattern for conversion between scalar float to fixed-pointer.
        (<FCVT_FIXED2F:fcvt_fixed_insn><GPI:mode>: Likewise.
        (UNSPEC_FCVTZS): New UNSPEC enumeration.
        (UNSPEC_FCVTZU): Likewise.
        (UNSPEC_SCVTF): Likewise.
        (UNSPEC_UCVTF): Likewise.
        * config/aarch64/arm_neon.h (vcvtd_n_f64_s64): Remove inline assembly.
Use builtin.
        (vcvtd_n_f64_u64): Likewise.
        (vcvtd_n_s64_f64): Likewise.
        (vcvtd_n_u64_f64): Likewise.
        (vcvtd_n_f32_s32): Likewise.
        (vcvts_n_f32_u32): Likewise.
        (vcvtd_n_s32_f32): Likewise.
        (vcvts_n_u32_f32): Likewise.
        * config/aarch64/iterators.md (fcvt_target): Support integer to float
mapping.
        (FCVT_TARGET): Likewise.
        (FCVT_FIXED2F): New iterator.
        (FCVT_F2FIXED): Likewise.
        (fcvt_fixed_insn): New define_int_attr.

From-SVN: r237200

8 years agopredict.c (pass_strip_predict_hints::execute): Cleanup CFG if some statements was...
Jan Hubicka [Wed, 8 Jun 2016 09:39:33 +0000 (11:39 +0200)]
predict.c (pass_strip_predict_hints::execute): Cleanup CFG if some statements was removed.

* predict.c (pass_strip_predict_hints::execute): Cleanup CFG if
some statements was removed.

From-SVN: r237199

8 years agotree-vect-data-refs.c (vect_analyze_data_refs): Remove debug newline.
Alan Hayward [Wed, 8 Jun 2016 08:38:50 +0000 (08:38 +0000)]
tree-vect-data-refs.c (vect_analyze_data_refs): Remove debug newline.

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

gcc/
* tree-vect-data-refs.c (vect_analyze_data_refs): Remove debug newline.
* tree-vect-loop-manip.c (slpeel_make_loop_iterate_ntimes): likewise.
(vect_can_advance_ivs_p): likewise.
(vect_update_ivs_after_vectorizer): likewise.
* tree-vect-loop.c (vect_determine_vectorization_factor): likewise.
(vect_analyze_scalar_cycles_1): likewise.
(vect_analyze_loop_operations): likewise.
(report_vect_op): likewise.
(vect_is_slp_reduction): likewise.
(vect_is_simple_reduction): likewise.
(get_initial_def_for_induction): likewise.
(vect_transform_loop): likewise.
* tree-vect-patterns.c (vect_recog_dot_prod_pattern): likewise.
(vect_recog_sad_pattern): likewise.
(vect_recog_widen_sum_pattern): likewise.
(vect_recog_widening_pattern): likewise.
(vect_recog_divmod_pattern): likewise.
* tree-vect-slp.c (vect-build-slp_tree_1): likewise.
(vect_analyze_slp_instance): likewise.
(vect_transform_slp_perm_load): likewise.
(vect_schedule_slp_instance): likewise.

From-SVN: r237198

8 years agovect-live-2.c: Update effective target.
Alan Hayward [Wed, 8 Jun 2016 08:26:38 +0000 (08:26 +0000)]
vect-live-2.c: Update effective target.

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

gcc/testsuite/
* gcc.dg/vect/vect-live-2.c: Update effective target.
* gcc.dg/vect/vect-live-slp-3.c: Likewise.
* lib/target-supports.exp: Add aarch64 to vect_long.

From-SVN: r237197

8 years agore PR c/71426 (gcc ICE on x86_64-linux-gnu in get_parm_info, at c/c-decl.c:7059)
Marek Polacek [Wed, 8 Jun 2016 06:41:55 +0000 (06:41 +0000)]
re PR c/71426 (gcc ICE on x86_64-linux-gnu in get_parm_info, at c/c-decl.c:7059)

PR c/71426
* c-decl.c (get_parm_info): Don't crash on an assert on invalid
code.

* gcc.dg/noncompile/pr71426.c: New test.

From-SVN: r237196

8 years agore PR c/71418 (gcc ICE on x86_64-linux-gnu in min_align_of_type, at stor-layout.c...
Marek Polacek [Wed, 8 Jun 2016 06:39:10 +0000 (06:39 +0000)]
re PR c/71418 (gcc ICE on x86_64-linux-gnu in min_align_of_type, at stor-layout.c:2402)

PR c/71418
* c-decl.c (grokdeclarator): Check TYPE_P.

* gcc.dg/noncompile/pr71418.c: New test.

From-SVN: r237195

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

From-SVN: r237194

8 years agopredict.c (predict_iv_comparison): Mention that heuristics is broken.
Jan Hubicka [Tue, 7 Jun 2016 21:34:27 +0000 (23:34 +0200)]
predict.c (predict_iv_comparison): Mention that heuristics is broken.

* predict.c (predict_iv_comparison): Mention that heuristics is broken.
(return_prediction): PRED_CONST_RETURN predict return as not taken.
* predict.def (PRED_CONTINUE): Change hitrate 50->67
(PRED_LOOP_BRANCH): Document predictor as broken.
(PRED_LOOP_EXIT): Change hitrate 91->92.
(PRED_LOOP_EXTRA_EXIT): Change hitrate 91->83.
(PRED_POINTER, PRED_TREE_POINTER): Change hitrate 85->70.
(PRED_OPCODE_POSITIVE): Change hitrate 79->64.
(PRED_OPCODE_NONEQUAL): Change hitrate 91->66.
(PRED_TREE_OPCODE_POSITIVE): Change hitrate 73->64
(PRED_TREE_OPCODE_NONEQUAL): Chnage hitrate 72->66
(PRED_CALL): Chane hitrate 71->67.
(PRED_TREE_EARLY_RETURN): Document issues, change hitrate 61->54.
(PRED_GOTO): Document as unused right now.
(PRED_CONST_RETURN): Change hitrate 67->69
(PRED_NEGATIVE_RETURN): Change hitrate 96->98
(PRED_NULL_RETURN): Change hitrate 91->90.
(PRED_LOOP_IV_COMPARE_GUESS): Change hitrate to 98.
(PRED_FORTRAN_FAIL_ALLOC): Change hitrate to 62; document issues.
(PRED_FORTRAN_SIZE_ZERO): Change hitrate to 99.
* gcc.dg/ipa/inlinehint-4.c: Disable partial inlining.
* gcc.dg/predict-1.c: Update template for new predictor hitrates.
* gcc.dg/predict-3.c: Update template.
* gcc.dg/predict-5.c: Update template.
* gcc.dg/predict-6.c: Update template.
* gcc.dg/predict-9.c: Update template.
* gcc.dg/predict-9.c: Update template.
* gcc.dg/tree-ssa/attr-hotcold-2.c: Update template.

From-SVN: r237185

8 years agotuple (_Head_base<>): Default specialization condition at type declaration.
François Dumont [Tue, 7 Jun 2016 20:19:19 +0000 (20:19 +0000)]
tuple (_Head_base<>): Default specialization condition at type declaration.

2016-06-07  François Dumont  <fdumont@gcc.gnu.org>

* include/std/tuple (_Head_base<>): Default specialization condition at
type declaration.

From-SVN: r237184

8 years agoThis patch adds support for the missing versions of the vec_mul altivec...
Bill Seurer [Tue, 7 Jun 2016 20:18:09 +0000 (20:18 +0000)]
This patch adds support for the missing versions of the vec_mul altivec...

This patch adds support for the missing versions of the vec_mul altivec
builtins from the Power Architecture 64-Bit ELF V2 ABI OpenPOWER ABI for
Linux Supplement (16 July 2015 Version 1.1). There are many of the builtins
that are missing and this is part of a series of patches to add them.

There aren't instructions for the {un}signed char, {un}signed short, and
{un}signed int versions of vec_mul so the output code is built from other
built-ins and operations that do have instructions.

The new test case is an executable test which verifies that the generated
code produces expected values. C macros were used so that the same
test case could be used for all the various supported types.

Bootstrapped and tested on powerpc64le-unknown-linux-gnu and
powerpc64-unknown-linux-gnu with no regressions. Is this ok for trunk?

[gcc]

2016-06-07  Bill Seurer  <seurer@linux.vnet.ibm.com>

* config/rs6000/altivec.h: Add __builtin_vec_mul.
* config/rs6000/rs6000-builtin.def (vec_mul): Change vec_mul to a
special case Altivec builtin.
* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
VSX_BUILTIN_VEC_MUL (replaced with special case code).
* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Add
code for ALTIVEC_BUILTIN_VEC_MUL.
* config/rs6000/rs6000.c (altivec_init_builtins): Add definition
for __builtin_vec_mul.

[gcc/testsuite]

2016-06-07  Bill Seurer  <seurer@linux.vnet.ibm.com>

* gcc.target/powerpc/vec-mul.c: New test.

From-SVN: r237183

8 years agoinvoke.texi (RS/6000 and PowerPC Options): Document -mhtm and -mno-htm.
Peter Bergner [Tue, 7 Jun 2016 18:50:04 +0000 (13:50 -0500)]
invoke.texi (RS/6000 and PowerPC Options): Document -mhtm and -mno-htm.

* doc/invoke.texi (RS/6000 and PowerPC Options): Document -mhtm and
-mno-htm.

From-SVN: r237182

8 years agospellcheck.c: add test_find_closest_string
David Malcolm [Tue, 7 Jun 2016 17:33:04 +0000 (17:33 +0000)]
spellcheck.c: add test_find_closest_string

gcc/ChangeLog:
* spellcheck.c (selftest::test_find_closest_string): New function.
(spellcheck_c_tests): Call the above.

From-SVN: r237181

8 years ago[simplify-rtx] Fix unused variable warning in simplify_cond_clz_ctz on some targets
Kyrylo Tkachov [Tue, 7 Jun 2016 16:52:20 +0000 (16:52 +0000)]
[simplify-rtx] Fix unused variable warning in simplify_cond_clz_ctz on some targets

* simplify-rtx.c (simplify_cond_clz_ctz): Delete 'mode' local
variable.

From-SVN: r237180

8 years agoC: add fixit hint to misspelled field names
David Malcolm [Tue, 7 Jun 2016 15:04:22 +0000 (15:04 +0000)]
C: add fixit hint to misspelled field names

gcc/c/ChangeLog:
* c-parser.c (c_parser_postfix_expression): In __builtin_offsetof
and structure element reference, capture the location of the
element name token and pass it to build_component_ref.
(c_parser_postfix_expression_after_primary): Likewise for
structure element dereference.
(c_parser_omp_variable_list): Likewise for
OMP_CLAUSE_{_CACHE, MAP, FROM, TO},
* c-tree.h (build_component_ref): Add location_t param.
* c-typeck.c (build_component_ref): Add location_t param
COMPONENT_LOC.  Use it, if available, when issuing hints about
mispelled member names to provide a fixit replacement hint.

gcc/objc/ChangeLog:
* objc-act.c (objc_build_component_ref): Update call
to build_component_ref for added param, passing UNKNOWN_LOCATION.

gcc/testsuite/ChangeLog:
* gcc.dg/spellcheck-fields-2.c: New test case.

From-SVN: r237176