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
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
GCC Administrator [Sat, 11 Jun 2016 00:16:23 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r237323
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Fri, 10 Jun 2016 00:16:23 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r237285
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Thu, 9 Jun 2016 00:17:08 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r237248
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Wed, 8 Jun 2016 00:16:22 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r237194
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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