Thomas Schwinge [Mon, 13 Jun 2016 16:10:35 +0000 (18:10 +0200)]
Fix CASE_CHAIN typos
gcc/
* tree-cfg.c (edge_to_cases_cleanup): Fix CASE_CHAIN typo.
* tree.def (CASE_LABEL_EXPR): Likewise.
From-SVN: r237384
Bernd Edlinger [Mon, 13 Jun 2016 15:45:54 +0000 (15:45 +0000)]
input.c (test_builtins): Fix an assertion.
2016-06-13 Bernd Edlinger <bernd.edlinger@hotmail.de>
* input.c (test_builtins): Fix an assertion.
From-SVN: r237383
Uros Bizjak [Mon, 13 Jun 2016 14:38:51 +0000 (16:38 +0200)]
i386.md (paritydi2): Use ix86_expand_setcc.
* config/i386/i386.md (paritydi2): Use ix86_expand_setcc.
(paritysi2): Ditto.
(isinfxf2): Ditto.
(isinf<mode>2): Ditto.
From-SVN: r237382
Uros Bizjak [Mon, 13 Jun 2016 14:27:01 +0000 (16:27 +0200)]
ggc-tests.c (test_finalization): Only test need_finalization_p for GCC_VERSION >= 4003.
* ggc-tests.c (test_finalization): Only test need_finalization_p
for GCC_VERSION >= 4003.
From-SVN: r237381
Martin Liska [Mon, 13 Jun 2016 14:03:51 +0000 (16:03 +0200)]
Make 'loop iv compare' heuristics scanning more precise
* gcc.dg/predict-1.c: Distinguish between "loop iv compare"
and "guess loop iv compared" heuristics.
* gcc.dg/predict-2.c: Likewise.
* gcc.dg/predict-3.c: Likewise.
* gcc.dg/predict-4.c: Likewise.
* gcc.dg/predict-5.c: Likewise.
* gcc.dg/predict-6.c: Likewise.
From-SVN: r237380
Andreas Krebbel [Mon, 13 Jun 2016 12:05:43 +0000 (12:05 +0000)]
S/390: vecintrin.h fix file description in comment
gcc/ChangeLog:
2016-06-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/vecintrin.h: Fix file description in comment.
From-SVN: r237378
Andreas Krebbel [Mon, 13 Jun 2016 12:04:57 +0000 (12:04 +0000)]
S/390: Change builtin type naming scheme to match builtin-types.def.
gcc/ChangeLog:
2016-06-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/s390-builtin-types.def: Change builtin type naming
scheme to match builtin-types.def.
From-SVN: r237377
Marc Glisse [Mon, 13 Jun 2016 11:21:45 +0000 (13:21 +0200)]
Move optimize_minmax_comparison to match.pd
2016-06-13 Marc Glisse <marc.glisse@inria.fr>
* fold-const.c (optimize_minmax_comparison): Remove.
(fold_comparison): Remove call to the above.
* match.pd (MIN (X, Y) == X, MIN (X, 5) == 0, MIN (X, C1) < C2):
New transformations.
From-SVN: r237376
Alan Hayward [Mon, 13 Jun 2016 11:07:35 +0000 (11:07 +0000)]
re PR tree-optimization/71416 (ICE at -O3 in 32-bit and 64-bit modes on x86_64-linux-gnu (vectorizable_live_operation))
2016-06-13 Alan Hayward <alan.hayward@arm.com>
gcc/
PR tree-optimization/71416
* tree-vect-loop.c (vectorizable_live_operation): Let worklist have
multiple entries
From-SVN: r237375
Martin Liska [Mon, 13 Jun 2016 10:00:17 +0000 (12:00 +0200)]
Change enum value to not to clash with a MSP430 private enum
* predict.c (enum predictor_reason): Prefix enum with REASON_.
(combine_predictions_for_insn): Likewise.
(prune_predictions_for_bb): Likewise.
(combine_predictions_for_bb): Likewise.
From-SVN: r237370
Richard Biener [Mon, 13 Jun 2016 09:44:51 +0000 (09:44 +0000)]
re PR tree-optimization/71505 (-O3 internal compiler error in vect_analyze_data_ref_accesses, at tree-vect-data-refs.c:2596)
2016-06-13 Richard Biener <rguenther@suse.de>
PR tree-optimization/71505
* tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Make
assert match comment.
From-SVN: r237368
Marek Polacek [Mon, 13 Jun 2016 08:57:02 +0000 (08:57 +0000)]
re PR middle-end/71476 (ICE in gimplify_switch_expr with -Wswitch-unreachable)
PR middle-end/71476
* gimplify.c (maybe_warn_switch_unreachable): Factored out of
gimplify_switch_expr.
(warn_switch_unreachable_r): New function.
* c-c++-common/Wswitch-unreachable-4.c: New test.
* gcc.dg/Wswitch-unreachable-2.c: New test.
* g++.dg/tm/jump1.C: Move dg-warning.
From-SVN: r237367
Andreas Krebbel [Mon, 13 Jun 2016 08:34:45 +0000 (08:34 +0000)]
S/390: Fix MAX_ARGS value.
gcc/ChangeLog:
2016-06-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
PR target/71379
* config/s390/s390.c (s390_expand_builtin): Increase MAX_ARGS by
one.
From-SVN: r237364
Richard Biener [Mon, 13 Jun 2016 08:18:51 +0000 (08:18 +0000)]
download_prerequisites (ISL): Bump version to 0.16.1
2016-06-13 Richard Biener <rguenther@suse.de>
* download_prerequisites (ISL): Bump version to 0.16.1
From-SVN: r237363
Eric Botcazou [Mon, 13 Jun 2016 08:17:07 +0000 (08:17 +0000)]
decl.c (gnat_to_gnu_subprog_type): Build only a minimal PARM_DECL when the parameter type is dummy.
* gcc-interface/decl.c (gnat_to_gnu_subprog_type): Build only a minimal
PARM_DECL when the parameter type is dummy.
* gcc-interface/trans.c (Call_to_gnu): Translate formal types before
formal objects.
From-SVN: r237362
Eric Botcazou [Mon, 13 Jun 2016 08:00:17 +0000 (08:00 +0000)]
decl.c (gnat_to_gnu_entity): Deal with PLUS_EXPR in the expression of a renaming.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Deal with
PLUS_EXPR in the expression of a renaming.
From-SVN: r237360
Paul Thomas [Mon, 13 Jun 2016 07:48:25 +0000 (07:48 +0000)]
re PR fortran/70673 (ICE with module containing functions with allocatable character scalars)
2016-06-13 Paul Thomas <pault@gcc.gnu.org>
PR fortran/70673
* frontend-passes.c (realloc_string_callback): Add a call to
gfc_dep_compare_expr.
2016-06-13 Paul Thomas <pault@gcc.gnu.org>
PR fortran/70673
* gfortran.dg/pr70673.f90: New test.
From-SVN: r237358
Jonathan Wakely [Mon, 13 Jun 2016 07:47:13 +0000 (08:47 +0100)]
generate_libstdcxx_web_docs: Use realpath to get absolute path.
* generate_libstdcxx_web_docs: Use realpath to get absolute path.
Add comment about LaTeX errors.
From-SVN: r237357
Eric Botcazou [Mon, 13 Jun 2016 07:40:47 +0000 (07:40 +0000)]
utils2.c (known_alignment): Deal specially with calls to malloc.
* gcc-interface/utils2.c (known_alignment) <CALL_EXPR>: Deal specially
with calls to malloc.
From-SVN: r237356
Richard Biener [Mon, 13 Jun 2016 07:34:45 +0000 (07:34 +0000)]
re PR middle-end/64516 (arm: wrong unaligned load generated)
2016-06-13 Richard Biener <rguenther@suse.de>
PR middle-end/64516
* fold-const.c (fold_unary_loc): Preserve alignment when
folding a VIEW_CONVERT_EXPR into a MEM_REF.
* gcc.dg/align-3.c: New testcase.
From-SVN: r237355
Paolo Carlini [Mon, 13 Jun 2016 07:28:33 +0000 (07:28 +0000)]
decl.c (grokdeclarator): Fix typo in pedwarn text.
2016-06-13 Paolo Carlini <paolo.carlini@oracle.com>
* decl.c (grokdeclarator): Fix typo in pedwarn text.
From-SVN: r237354
Martin Liska [Mon, 13 Jun 2016 07:17:16 +0000 (09:17 +0200)]
Do not enable -fcheck-pointer-bounds w/ -fsanitize=bounds
PR sanitizer/71458
* toplev.c (process_options): Do not enable -fcheck-pointer-bounds
w/ -fsanitize=bounds.
* gcc.target/i386/pr71458.c: New test.
From-SVN: r237353
GCC Administrator [Mon, 13 Jun 2016 00:16:21 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r237349
Uros Bizjak [Sun, 12 Jun 2016 19:38:42 +0000 (21:38 +0200)]
i386.c (ix86_init_builtins): Calculate FLOAT128_FTYPE_CONST_STRING function type only once.
* config/i386/i386.c (ix86_init_builtins): Calculate
FLOAT128_FTYPE_CONST_STRING function type only once.
* doc/extend.texi (x86 Built-in Functions): Update text, __float128
built-in functions are available for x86-32 and x86-64 targets.
From-SVN: r237342
Uros Bizjak [Sun, 12 Jun 2016 18:05:36 +0000 (20:05 +0200)]
Add missing commit:
* doc/extend.texi (x86 Built-in Functions): Document
__builtin_nanq and __builtin_nansq.
From-SVN: r237339
Uros Bizjak [Sun, 12 Jun 2016 17:22:16 +0000 (19:22 +0200)]
re PR target/71241 ([x86] Missing built-in functions for float128 NaNs)
PR target/71241
* config/i386/i386.i386-builtin-types.def (CONST_STRING):
New primitive type.
(FLOAT128_FTYPE_CONST_STRING): New function type.
* config/i386/i386.c (enum ix86_builtins) [IX86_BUILTIN_NANQ]: New.
[IX86_BUILTIN_NANSQ]: Ditto.
(ix86_fold_builtin): Handle IX86_BUILTIN_NANQ and IX86_BUILTIN_NANSQ.
(ix86_init_builtin_types) Declare const_string_type_node.
Add __builtin_nanq and __builtin_nansq builtin functions.
(ix86_expand_builtin): Handle IX86_BUILTIN_NANQ and IX86_BUILTIN_NANSQ.
* doc/extend.texi (x86 Built-in Functions): Document
__builtin_nanq and __builtin_nansq.
testsuite/ChangeLog:
PR target/71241
* testsuite/gcc.dg/torture/float128-nan.c: New test.
From-SVN: r237338
GCC Administrator [Sun, 12 Jun 2016 00:16:17 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r237336
Dominique d'Humieres [Sat, 11 Jun 2016 22:36:50 +0000 (00:36 +0200)]
re PR fortran/60751 (Extra comma in WRITE statement not diagnosed)
2016-06-12 Dominique d'Humieres <dominiq@lps.ens.fr>
PR target/60751
* gfortran.dg/guality/pr41558.f90: Remove extra comma in WRITE
statement.
From-SVN: r237332
Jiong Wang [Sat, 11 Jun 2016 20:42:26 +0000 (20:42 +0000)]
[ARM] length pop* pattern in epilogue correctly
PR target/71061
* config/arm/arm-protos.h (arm_attr_length_pop_multi): New declaration.
* config/arm/arm.c (arm_attr_length_pop_multi): New function to return
length for pop patterns.
(arm_attr_length_push_multi): Update comments.
* config/arm/arm.md (*load_multiple_with_writeback): Set "length"
attribute.
(*pop_multiple_with_writeback_and_return): Likewise.
(*pop_multiple_with_return): Likewise.
From-SVN: r237331
Dominique d'Humieres [Sat, 11 Jun 2016 19:21:22 +0000 (21:21 +0200)]
re PR fortran/60751 (Extra comma in WRITE statement not diagnosed)
2016-06-11 Dominique d'Humieres <dominiq@lps.ens.fr>
PR target/60751
* gfortran.dg/comma_IO_extension_1.f90: New test.
* gfortran.dg/comma_IO_extension_2.f90: Likewise.
From-SVN: r237330
Dominique d'Humieres [Sat, 11 Jun 2016 19:19:43 +0000 (21:19 +0200)]
re PR fortran/60751 (Extra comma in WRITE statement not diagnosed)
2016-06-11 Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/60751
* io.c (gfc_resolve_dt): Replace GFC_STD_GNU with GFC_STD_LEGACY.
* gfortran.dg/comma_IO_extension_1.f90: New test.
* gfortran.dg/comma_IO_extension_2.f90: Likewise.
* gfortran.dg/array_constructor_49.f90: Remove extra comma in WRITE
statement.
* gfortran.dg/graphite/pr38083.f90: Likewise.
* gfortran.dg/integer_exponentiation_6.F90: Likewise and add
missing format.
--This line
M fortran/ChangeLog
M fortran/io.c
M testsuite/ChangeLog
M testsuite/gfortran.dg/array_constructor_49.f90
M testsuite/gfortran.dg/graphite/pr38083.f90
M testsuite/gfortran.dg/integer_exponentiation_6.F90
From-SVN: r237329
Eric Botcazou [Sat, 11 Jun 2016 12:07:54 +0000 (12:07 +0000)]
trans.c (build_binary_op_trapv): If no operand is a constant, use the generic implementation of the middle-end...
* gcc-interface/trans.c (build_binary_op_trapv): If no operand is a
constant, use the generic implementation of the middle-end; otherwise
turn the dynamic conditions into static conditions and simplify.
From-SVN: r237328
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