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

8 years agosse.md (avx_vec_concat<mode>): Add v=v,vm and Yv=Yv,C alternatives.
Jakub Jelinek [Tue, 7 Jun 2016 13:00:03 +0000 (15:00 +0200)]
sse.md (avx_vec_concat<mode>): Add v=v,vm and Yv=Yv,C alternatives.

* config/i386/sse.md (avx_vec_concat<mode>): Add v=v,vm and
Yv=Yv,C alternatives.

From-SVN: r237175

8 years agore PR c++/61564 (#pragma GCC optimize ("-fno-lto") causes the compiler to crash)
Richard Biener [Tue, 7 Jun 2016 12:41:46 +0000 (12:41 +0000)]
re PR c++/61564 (#pragma GCC optimize ("-fno-lto") causes the compiler to crash)

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

PR c/61564
* c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
options and warn about others.
* common.opt (ffast-math): Make Optimization.

* gcc.dg/Wpragmas-1.c: New testcase.
* gcc.dg/Wattributes-4.c: Likewise.
* gcc.dg/ipa/pr70646.c: Drop optimize pragma in favor of dg-option
entry.

From-SVN: r237174

8 years ago[MIPS] P5600 scheduler fix
Simon Dardis [Tue, 7 Jun 2016 11:56:43 +0000 (12:56 +0100)]
[MIPS] P5600 scheduler fix

gcc/
* config/mips/p5600.md (p5600_fpu_fadd): Remove checking for
`fabs' and `fneg' type attributes.
(p5600_fpu_fabs): Add `fmove' to the comment.

Co-Authored-By: Prachi Godbole <prachi.godbole@imgtec.com>
From-SVN: r237173

8 years agogimple.c: Include builtins.h
Jan Hubicka [Tue, 7 Jun 2016 11:22:26 +0000 (13:22 +0200)]
gimple.c: Include builtins.h

* gimple.c: Include builtins.h
(gimple_inexpensive_call_p): New function.
* gimple.h (gimple_inexpensive_call_p): Declare.
* tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Use it.
* tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Likewise;
fix formatting.

From-SVN: r237172

8 years agop64_p128.c: Remove spurious debug code.
Christophe Lyon [Tue, 7 Jun 2016 10:29:55 +0000 (10:29 +0000)]
p64_p128.c: Remove spurious debug code.

* gcc.target/aarch64/advsimd-intrinsics/p64_p128.c: Remove spurious debug code.

From-SVN: r237171

8 years agoRemove wrong testsuite and gcc/testsuite prefixes from gcc/testsuite/ChangeLog.
Rainer Orth [Tue, 7 Jun 2016 09:24:21 +0000 (09:24 +0000)]
Remove wrong testsuite and gcc/testsuite prefixes from gcc/testsuite/ChangeLog.

From-SVN: r237170

8 years agoUpdate copyright dates
Rainer Orth [Tue, 7 Jun 2016 08:54:22 +0000 (08:54 +0000)]
Update copyright dates

libcc1:
Update copyrights.

gotools:
Update copyrights.

contrib:
* update-copyright.py (LibMudflapFilter): Remove.
(GCCCmdLine.__init__): Add gotools, libcc1.
Remove libmudflap.
List unhandled intl, libcilkrts, libgo, liboffloadmic,
maintainer-scripts.

From-SVN: r237169

8 years agodiagnostic.c (diagnostic_impl, [...]): New.
Paolo Carlini [Tue, 7 Jun 2016 07:36:02 +0000 (07:36 +0000)]
diagnostic.c (diagnostic_impl, [...]): New.

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

* diagnostic.c (diagnostic_impl, diagnostic_n_impl): New.
(inform, inform_at_rich_loc, inform_n, warning, warning_at,
warning_at_rich_loc, warning_n, pedwarn, permerror,
permerror_at_rich_loc, error, error_n, error_at, error_at_rich_loc,
sorry, fatal_error, internal_error, internal_error_no_backtrace):
Use the above.

From-SVN: r237168

8 years agore PR tree-optimization/71428 (wrong code with -Os -fno-tree-forwprop (breaks in...
Richard Biener [Tue, 7 Jun 2016 07:31:40 +0000 (07:31 +0000)]
re PR tree-optimization/71428 (wrong code with -Os -fno-tree-forwprop (breaks in the .bswap dump))

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

PR tree-optimization/71428
* tree-ssa-math-opts.c (perform_symbolic_merge): Properly distinguish
BIT_FIELD_REF op vs. load.

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

From-SVN: r237167

8 years agore PR tree-optimization/71423 (wrong code at -Os and above on x86_64-linux-gnu)
Richard Biener [Tue, 7 Jun 2016 07:30:47 +0000 (07:30 +0000)]
re PR tree-optimization/71423 (wrong code at -Os and above on x86_64-linux-gnu)

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

PR middle-end/71423
* match.pd ((X | ~Y) -> Y <= X): Properly invert the comparison
for signed ops.

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

From-SVN: r237166

8 years agopa.md (call): Generate indirect long calls to non-local functions on TARGET_64BIT.
John David Anglin [Tue, 7 Jun 2016 01:56:01 +0000 (01:56 +0000)]
pa.md (call): Generate indirect long calls to non-local functions on TARGET_64BIT.

* config/pa/pa.md (call): Generate indirect long calls to non-local
functions on TARGET_64BIT.
(call_value): Likewise.

From-SVN: r237164

8 years agopa.md (call_val_reg_64bit): Remove "reg: DI " clobber from pattern and subsequent...
John David Anglin [Tue, 7 Jun 2016 01:43:14 +0000 (01:43 +0000)]
pa.md (call_val_reg_64bit): Remove "reg: DI " clobber from pattern and subsequent splitters.

* config/pa/pa.md (call_val_reg_64bit): Remove "reg: DI " clobber from
pattern and subsequent splitters.
(call_val_reg_64bit_post_reload): Likewise.

From-SVN: r237163

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

From-SVN: r237162

8 years agore PR tree-optimization/71408 (wrong code at -Os and above on x86_64-linux-gnu)
Kugan Vivekanandarajah [Mon, 6 Jun 2016 23:46:11 +0000 (23:46 +0000)]
re PR tree-optimization/71408 (wrong code at -Os and above on x86_64-linux-gnu)

gcc/ChangeLog:

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

PR middle-end/71408
* tree-ssa-reassoc.c (zero_one_operation): Fix NEGATE_EXPR operand for
propagate_op_to_single_use.

gcc/testsuite/ChangeLog:

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

PR middle-end/71408
* gcc.dg/tree-ssa/pr71408.c: New test.

From-SVN: r237158

8 years agore PR target/71281 (ICE on gcc trunk on knl, wsm, ivb and bdw targets (tree-ssa-reassoc))
Kugan Vivekanandarajah [Mon, 6 Jun 2016 23:41:26 +0000 (23:41 +0000)]
re PR target/71281 (ICE on gcc trunk on knl, wsm, ivb and bdw targets (tree-ssa-reassoc))

gcc/ChangeLog:

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

PR middle-end/71281
* tree-ssa-reassoc.c (reassociate_bb): Set uid for negate stmt.

gcc/testsuite/ChangeLog:

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

PR middle-end/71281
* g++.dg/torture/pr71281.C: New test.

From-SVN: r237157

8 years agoi386.h (enum ix86_enitity): Add X86_DIRFLAG.
Uros Bizjak [Mon, 6 Jun 2016 22:35:18 +0000 (00:35 +0200)]
i386.h (enum ix86_enitity): Add X86_DIRFLAG.

* config/i386/i386.h (enum ix86_enitity): Add X86_DIRFLAG.
(enum x86_dirflag_state): New enum.
(NUM_MODES_FOR_MODE_SWITCHING): Add X86_DIRFLAG_ANY.
(machine_function): Remove needs_cld.
(ix86_current_function_needs_cld): Remove.
* config/i386/i386.c (ix86_set_func_type): Set
ix86_optimize_mode_switching[X86_DIRFLAG] to 1.
(ix86_expand_prologue): Do not emit CLD here.
(ix86_dirflag_mode_needed): New function.
(ix86_dirflag_mode_entry): Ditto.
(ix86_mode_needed): Handle X86_DIRFLAG entity.
(ix86_mode_after): Ditto.
(ix86_mode_entry): Ditto.
(ix86_mode_exit): Ditto.
(ix86_emit_mode_set): Ditto.
* config/i386/i386.md (strmov_singleop): Set
ix86_optimize_mode_switching[X86_DIRFLAG] to 1 for TARGET_CLD.
Do not set ix86_current_function_needs_cld.
(rep_mov): Ditto.
(strset_singleop): Ditto.
(rep_stos): Ditto.
(cmpstrnqi_nz_1): Ditto.
(cmpstrnqi_1): Ditto.
(strlenqi_1): Ditto.

From-SVN: r237156

8 years agore PR c/71362 (Wrong position for "error: size of unnamed array is negative")
Marek Polacek [Mon, 6 Jun 2016 21:15:07 +0000 (21:15 +0000)]
re PR c/71362 (Wrong position for "error: size of unnamed array is negative")

PR c/71362
* c-parser.c (c_parser_direct_declarator): Set location.

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

From-SVN: r237155