Jan Hubicka [Sat, 11 Feb 2017 16:11:57 +0000 (17:11 +0100)]
re PR tree-optimization/79224 (Large C-Ray slowdown)
PR ipa/79224
* ipa-inline-analysis.c (get_minimal_bb): New function.
(record_modified): Use it.
(remap_edge_change_prob): Handle also ancestor functions.
From-SVN: r245357
Gerald Pfeifer [Sat, 11 Feb 2017 08:46:26 +0000 (08:46 +0000)]
contrib.texi (Contributors): Remove broken link into the Mauve CVS repository.
* doc/contrib.texi (Contributors): Remove broken link into
the Mauve CVS repository.
From-SVN: r245355
Jakub Jelinek [Sat, 11 Feb 2017 08:15:30 +0000 (09:15 +0100)]
re PR middle-end/79454 (c-c++-common/ubsan/overflow-vec-*.c FAILs on some 64-bit BE targets)
PR middle-end/79454
* internal-fn.c (expand_vector_ubsan_overflow): Use piece-wise
result computation whenever lhs doesn't have vector mode, not
just when it has BLKmode.
From-SVN: r245354
GCC Administrator [Sat, 11 Feb 2017 00:16:14 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r245353
Jakub Jelinek [Fri, 10 Feb 2017 23:34:49 +0000 (00:34 +0100)]
re PR sanitizer/79341 (Many Asan tests fail on s390)
PR sanitizer/79341
* configure.tgt (s390*-*-linux*): Don't disable libsanitizer on
s390-linux 31-bit.
* sanitizer_common/sanitizer_internal_defs.h: Cherry-pick upstream
r294793.
* sanitizer_common/sanitizer_common_interceptors.inc: Cherry-pick
upstream r294790.
* sanitizer_common/sanitizer_linux_s390.cc: Cherry-pick upstream
r294799.
From-SVN: r245350
Gerald Pfeifer [Fri, 10 Feb 2017 22:20:16 +0000 (22:20 +0000)]
* doc/xml/manual/profile_mode.xml: Update a paper reference.
From-SVN: r245349
Gerald Pfeifer [Fri, 10 Feb 2017 22:06:01 +0000 (22:06 +0000)]
makefile.texi (profiledbootstrap): Refer to the installation instructions only in textual form.
* doc/makefile.texi (profiledbootstrap): Refer to the
installation instructions only in textual form.
From-SVN: r245348
Aaron Sawdey [Fri, 10 Feb 2017 21:07:36 +0000 (21:07 +0000)]
re PR target/79295 (gcc.target/powerpc/bcd-3.c fails starting with r244942)
2017-02-10 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
PR target/79295
* config/rs6000/altivec.md (bcd<bcd_add_sub>): Fix constraints.
Applying patch suggested by Meissner.
From-SVN: r245345
Jakub Jelinek [Fri, 10 Feb 2017 20:58:31 +0000 (21:58 +0100)]
re PR c++/79457 (Segmentation fault in templated decltype evaluation)
PR c++/79457
* g++.dg/cpp0x/pr79457.C: New test.
From-SVN: r245344
Jason Merrill [Fri, 10 Feb 2017 20:43:33 +0000 (15:43 -0500)]
PR c++/78908 - template ops and bitfields
* tree.c (build_min_non_dep): Use unlowered_expr_type.
From-SVN: r245343
Jason Merrill [Fri, 10 Feb 2017 18:50:30 +0000 (13:50 -0500)]
PR c++/78897 - constexpr union
* constexpr.c (cxx_eval_store_expression): A store to a union member
erases a previous store to another member.
From-SVN: r245341
Jason Merrill [Fri, 10 Feb 2017 18:24:36 +0000 (13:24 -0500)]
PR c++/71285 - member of fold-expression
* semantics.c (finish_unary_fold_expr)
(finish_binary_fold_expr): Use null type for fold-expressions.
From-SVN: r245340
Jason Merrill [Fri, 10 Feb 2017 18:01:27 +0000 (13:01 -0500)]
PR c++/79401 - protected inherited constructor
* call.c (enforce_access): For inheriting constructor, find a base
binfo in the path we already have.
From-SVN: r245339
Segher Boessenkool [Fri, 10 Feb 2017 16:59:51 +0000 (17:59 +0100)]
testsuite, rs6000: fold-vec-mult-longlong.c
On 32-bit we of course do not generate mulld insns. This patch makes
the testcase only do the scan-assembler on 64-bit targets.
gcc/testsuite/
* gcc.target/powerpc/fold-vec-mult-longlong.c: Don't do the
scan-assembler unless lp64.
From-SVN: r245338
Segher Boessenkool [Fri, 10 Feb 2017 16:58:14 +0000 (17:58 +0100)]
testsuite, rs6000: Don't xfail 32-bit (PR66612)
-m32 works fine, only 64-bit still fails.
gcc/testsuite/
PR tree-optimization/66612
* gcc.target/powerpc/
20050830-1.c: Don't xfail on 32-bit.
From-SVN: r245337
Segher Boessenkool [Fri, 10 Feb 2017 16:55:58 +0000 (17:55 +0100)]
testsuite, rs6000: Don't xfail Wtrampolines.c on -m32
This test does not fail with -m32, so we shouldn't xfail it there.
gcc/testsuite/
* gcc.dg/Wtrampolines.c: Do the xfail for only 64-bit powerpc instead
of all powerpc.
From-SVN: r245336
Marek Polacek [Fri, 10 Feb 2017 16:33:45 +0000 (16:33 +0000)]
re PR c++/79184 (-Wint-in-bool-context triggered erroneously in template parameter)
PR c++/79184
* cvt.c (ocp_convert): Add a sentinel against -Wint-in-bool-context
if warnings shouldn't be given.
* g++.dg/warn/Wint-in-bool-context-1.C: New.
From-SVN: r245335
Marek Polacek [Fri, 10 Feb 2017 16:32:19 +0000 (16:32 +0000)]
re PR c++/79435 (ICE on invalid C++ code (with member access into an incomplete type) on x86_64-linux-gnu: Segmentation fault)
PR c++/79435
* pt.c (type_dependent_expression_p): Check if the expression type
is null.
* g++.dg/cpp1y/pr79435.C: New.
From-SVN: r245334
Gerald Pfeifer [Fri, 10 Feb 2017 16:08:46 +0000 (16:08 +0000)]
install.texi (Specific): Use https for blackfin.uclinux.org.
* doc/install.texi (Specific): Use https for blackfin.uclinux.org.
(Specific): Update mingw-w64 reference.
(Binaries): Ditto.
(Specific): Remove broken link to Renesas RX processor.
From-SVN: r245332
Richard Biener [Fri, 10 Feb 2017 14:28:11 +0000 (14:28 +0000)]
toplev.c (process_options): Do not mention obsolete graphite options when...
2017-02-10 Richard Biener <rguenther@suse.de>
* toplev.c (process_options): Do not mention obsolete graphite
options when printing sorry message about missing graphite support.
Mention -floop-nest-optimize.
From-SVN: r245331
Christophe Lyon [Fri, 10 Feb 2017 13:18:16 +0000 (13:18 +0000)]
[ARM,AArch64] more poly64 intrinsics and tests
2017-02-06 Christophe Lyon <christophe.lyon@linaro.org>
gcc/
* config/aarch64/arm_neon.h (vtst_p8): Rewrite without asm.
(vtst_p16): Likewise.
(vtstq_p8): Likewise.
(vtstq_p16): Likewise.
(vtst_p64): New.
(vtstq_p64): Likewise.
* config/arm/arm_neon.h (vgetq_lane_p64): New.
(vset_lane_p64): New.
(vsetq_lane_p64): New.
2017-02-06 Christophe Lyon <christophe.lyon@linaro.org>
gcc/testsuite/
* gcc.target/aarch64/advsimd-intrinsics/p64_p128.c
(vget_lane_expected, vset_lane_expected, vtst_expected_poly64x1):
New.
(vmov_n_expected0, vmov_n_expected1, vmov_n_expected2)
(expected_vld_st2_0, expected_vld_st2_1, expected_vld_st3_0)
(expected_vld_st3_1, expected_vld_st3_2, expected_vld_st4_0)
(expected_vld_st4_1, expected_vld_st4_2, expected_vld_st4_3)
(vtst_expected_poly64x2): Move to aarch64-only section.
(vget_lane_p64, vgetq_lane_p64, vset_lane_p64, vsetq_lane_p64)
(vtst_p64, vtstq_p64): New tests.
From-SVN: r245328
Paolo Carlini [Fri, 10 Feb 2017 13:14:05 +0000 (13:14 +0000)]
re PR c++/71737 (ICE following 2x pack expansion in non-pack with template alias)
/cp
2017-02-10 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/71737
* pt.c (tsubst_decl): Don't try to preserve a typedef that names
an error_mark_node as type.
/testsuite
2017-02-10 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/71737
* g++.dg/cpp0x/pr71737.C: New.
From-SVN: r245327
Prasad Ghangal [Fri, 10 Feb 2017 12:47:05 +0000 (12:47 +0000)]
gimple-parser.c (c_parser_gimple_binary_expression): Avoid building IL when arguments are error_mark_node.
2017-02-10 Prasad Ghangal <prasad.ghangal@gmail.com>
Richard Biener <rguenther@suse.de>
* gimple-parser.c (c_parser_gimple_binary_expression): Avoid
building IL when arguments are error_mark_node.
(c_parser_gimple_unary_expression): Likewise.
(c_parser_gimple_if_stmt): Likewise.
(c_parser_gimple_switch_stmt): Likewise.
(c_parser_gimple_return_stmt): Likewise.
(c_parser_parse_ssa_name): When name lookup fails do not build
an SSA name. Use undeclared rather than not declared in error
reporting.
* gcc.dg/gimplefe-error-1.c: New testcase.
* gcc.dg/gimplefe-error-2.c: New testcase.
* gcc.dg/gimplefe-error-3.c: New testcase.
Co-Authored-By: Richard Biener <rguenther@suse.de>
From-SVN: r245326
Jakub Jelinek [Fri, 10 Feb 2017 08:47:32 +0000 (09:47 +0100)]
re PR tree-optimization/79411 (ICE: SSA corruption (fail_abnormal_edge_coalesce))
PR tree-optimization/79411
* tree-ssa-reassoc.c (is_reassociable_op): Return false if
stmt operands are SSA_NAMEs used in abnormal phis.
(can_reassociate_p): Return false if op is SSA_NAME used in abnormal
phis.
* gcc.c-torture/compile/pr79411.c: New test.
From-SVN: r245324
GCC Administrator [Fri, 10 Feb 2017 00:16:17 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r245320
Jakub Jelinek [Thu, 9 Feb 2017 22:12:15 +0000 (23:12 +0100)]
re PR c++/79143 ([new inheriting constructors] inheriting constructor fails with brace initialization)
PR c++/79143
* pt.c (instantiate_class_template_1): Copy CLASSTYPE_NON_AGGREGATE
from pattern to type.
* g++.dg/cpp1z/pr79143.C: New test.
Co-Authored-By: Jason Merrill <jason@redhat.com>
From-SVN: r245315
Jason Merrill [Thu, 9 Feb 2017 20:55:54 +0000 (15:55 -0500)]
PR c++/79316 - default argument in deduction guide
PR c++/79350 - explicit deduction guide
* parser.c (cp_parser_constructor_declarator_p)
(cp_parser_direct_declarator): Parse deduction guides more like
constructors.
* cp-tree.h (enum special_function_kind): Add sfk_deduction_guide.
* tree.c (special_function_p): Return it.
* decl.c (check_special_function_return_type): Handle it.
(grokdeclarator, grokfndecl): Adjust.
(cp_finish_decl): Pass flags to do_auto_deduction.
* error.c (dump_decl_name): Use TFF_UNQUALIFIED_NAME.
* pt.c (dguide_name_p): Take a const_tree.
(do_class_deduction): Handle explicit.
(do_auto_deduction): Pass flags through.
(build_deduction_guide): Copy explicit flag.
From-SVN: r245314
Jan Hubicka [Thu, 9 Feb 2017 18:16:00 +0000 (19:16 +0100)]
re PR ipa/70795 (gcc/libjava/interpret.cc:1948:1: ICE: in binds_to_current_def_p, at symtab.c:2232)
PR ipa/70795
* cgraphunit.c (cgraph_node::add_new_function): Set externally_visible
flag if needed.
From-SVN: r245312
Jan Hubicka [Thu, 9 Feb 2017 18:13:35 +0000 (19:13 +0100)]
loop-unswitch-2.c: New testcase.
* gcc.dg/loop-unswitch-2.c: New testcase.
* gcc.dg/loop-unswitch-1.c: New testcase.
* tree-ssa-loop-unswitch.c (hoist_guard): Update profile.
From-SVN: r245311
Marek Polacek [Thu, 9 Feb 2017 17:07:26 +0000 (17:07 +0000)]
re PR c/79428 (ICE in c_parser_consume_token, at c/c-parser.c:770)
PR c/79428
* c-parser.c (c_parser_omp_ordered): Call c_parser_skip_to_pragma_eol
instead of c_parser_skip_until_found.
* c-c++-common/cilk-plus/CK/pr79428-4.c: New test.
* c-c++-common/cilk-plus/CK/pr79428-7.c: New test.
* c-c++-common/goacc/pr79428-1.c: New test.
* c-c++-common/gomp/pr79428-2.c: New test.
* c-c++-common/gomp/pr79428-5.c: New test.
* c-c++-common/gomp/pr79428-6.c: New test.
* c-c++-common/pr79428-3.c: New test.
From-SVN: r245309
Andreas Krebbel [Thu, 9 Feb 2017 15:31:27 +0000 (15:31 +0000)]
S/390: Fix glob pattern for vector tests.
2017-02-09 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* gcc.target/s390/s390.exp: Fix test glob pattern for vector
testcases.
From-SVN: r245307
Jakub Jelinek [Thu, 9 Feb 2017 15:17:55 +0000 (16:17 +0100)]
omp-offload.c (oacc_loop_auto_partitions): Use || instead of | to avoid warning.
* omp-offload.c (oacc_loop_auto_partitions): Use || instead of |
to avoid warning.
From-SVN: r245306
Jakub Jelinek [Thu, 9 Feb 2017 14:26:40 +0000 (15:26 +0100)]
re PR c/79413 (ICE in make_ssa_name_fn, at tree-ssanames.c:265)
PR c/79413
* gimplify.h (is_gimple_sizepos): Only test for INTEGER_CST constants,
not arbitrary TREE_CONSTANT.
* gcc.c-torture/compile/pr79413.c: New test.
From-SVN: r245304
Jakub Jelinek [Thu, 9 Feb 2017 14:06:58 +0000 (15:06 +0100)]
re PR c++/79429 (ICE in add_stmt, at cp/semantics.c:385)
PR c++/79429
* parser.c (cp_parser_omp_ordered): Don't check for non-pragma_stmt
non-pragma_compound context here.
(cp_parser_omp_target): Likewise.
(cp_parser_pragma): Don't call push_omp_privatization_clauses and
parsing for ordered and target omp pragmas in non-pragma_stmt
non-pragma_compound contexts.
* c-c++-common/gomp/pr79429.c: New test.
* g++.dg/gomp/pr79429.C: New test.
From-SVN: r245303
Jakub Jelinek [Thu, 9 Feb 2017 14:01:44 +0000 (15:01 +0100)]
re PR c/79431 (ICE in get, at cgraph.h:397)
PR c/79431
* gimplify.c (gimplify_adjust_omp_clauses): Ignore
"omp declare target link" attribute unless is_global_var.
* omp-offload.c (find_link_var_op): Likewise.
c/
* c-parser.c (c_parser_omp_declare_target): Don't invoke
symtab_node::get on automatic variables.
cp/
* parser.c (cp_parser_oacc_declare): Formatting fix.
(cp_parser_omp_declare_target): Don't invoke symtab_node::get on
automatic variables.
testsuite/
* c-c++-common/gomp/pr79431.c: New test.
From-SVN: r245302
Jakub Jelinek [Thu, 9 Feb 2017 13:50:28 +0000 (14:50 +0100)]
loop-dim-default.c: Move dg-skip-if directive into a comment.
* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
dg-skip-if directive into a comment.
From-SVN: r245301
Chung-Lin Tang [Thu, 9 Feb 2017 13:46:20 +0000 (13:46 +0000)]
gimplify.c (gimplify_scan_omp_clauses): No special handling for OMP_CLAUSE_TILE.
2017-02-09 Nathan Sidwell <nathan@codesourcery.com>
Cesar Philippidis <cesar@codesourcery.com>
Joseph Myers <joseph@codesourcery.com>
Chung-Lin Tang <cltang@codesourcery.com>
gcc/
* gimplify.c (gimplify_scan_omp_clauses): No special handling for
OMP_CLAUSE_TILE.
(gimplify_adjust_omp_clauses): Don't delete TILE.
(gimplify_omp_for): Deal with TILE.
* internal-fn.c (expand_GOACC_TILE): New function.
* internal-fn.def (GOACC_DIM_POS): Comment may be overly conservative.
(GOACC_TILE): New.
* omp-expand.c (struct oacc_collapse): Add tile and outer fields.
(expand_oacc_collapse_init): Add LOC paramter. Initialize tile
element fields.
(expand_oacc_collapse_vars): Add INNER parm, adjust for tiling,
avoid DIV for outermost collapse var.
(expand_oacc_for): Insert tile element loop as needed. Adjust.
Remove out of date comments, fix whitespace.
* omp-general.c (omp_extract_for_data): Deal with tiling.
* omp-general.h (enum oacc_loop_flags): Add OLF_TILE flag,
adjust OLF_DIM_BASE value.
(struct omp_for_data): Add tiling field.
* omp-low.c (scan_sharing_clauses): Allow OMP_CLAUSE_TILE.
(lower_oacc_head_mark): Add OLF_TILE as appropriate. Ensure 2 levels
for auto loops. Remove default auto determining, moved to
oacc_loop_fixed_partitions.
* omp-offload.c (struct oacc_loop): Change 'ifns' to vector of call
stmts, add e_mask field.
(oacc_dim_call): New function, abstracted out from oacc_thread_numbers.
(oacc_thread_numbers): Use oacc_dim_call.
(oacc_xform_tile): New.
(new_oacc_loop_raw): Initialize e_mask, adjust for ifns vector.
(finish_oacc_loop): Adjust for ifns vector.
(oacc_loop_discover_walk): Append loop abstraction sites to list,
add case for GOACC_TILE fns.
(oacc_loop_xform_loop): Delete.
(oacc_loop_process): Iterate over call list directly, and add
handling for GOACC_TILE fns.
(oacc_loop_fixed_partitions): Determine default auto, deal with TILE,
dump partitioning.
(oacc_loop_auto_partitions): Add outer_assign parm. Assign all but
vector partitioning to outer loops. Assign 2 partitions to loops
when available. Add TILE handling.
(oacc_loop_partition): Adjust oacc_loop_auto_partitions call.
(execite_oacc_device_lower): Process GOACC_TILE fns, ignore unknown specs.
* tree-nested.c (convert_nonlocal_omp_clauses): Allow OMP_CLAUSE_TILE.
* tree.c (omp_clause_num_ops): Adjust TILE ops.
* tree.h (OMP_CLAUSE_TILE_ITERVAR, OMP_CLAUSE_TILE_COUNT): New.
gcc/c/
* c-parser.c (c_parser_omp_clause_collapse): Disallow tile.
(c_parser_oacc_clause_tile): Disallow collapse. Fix parsing and
semantic checking.
* c-parser.c (c_parser_omp_for_loop): Accept tiling constructs.
gcc/cp/
* parser.c (cp_parser_oacc_clause_tile): Disallow collapse. Fix
parsing. Parse constant expression. Remove semantic checking.
(cp_parser_omp_clause_collapse): Disallow tile.
(cp_parser_omp_for_loop): Deal with tile clause. Don't emit a parse
error about missing for after already emitting one. Use more
conventional for idiom for unbounded loop.
* pt.c (tsubst_omp_clauses): Handle OMP_CLAUSE_TILE.
* semantics.c (finish_omp_clauses): Correct TILE semantic check.
(finish_omp_for): Deal with tile clause.
gcc/fortran/
* openmp.c (resolve_omp_clauses): Error on directives
containing both tile and collapse clauses.
(resolve_oacc_loop_blocks): Represent '*' tile arguments as zero.
* trans-openmp.c (gfc_trans_omp_do): Lower tiled loops like
collapsed loops.
gcc/testsuite/
* c-c++-common/goacc/combined-directives.c: Remove xfail.
* c-c++-common/goacc/loop-auto-1.c: Adjust and add additional case.
* c-c++-common/goacc/loop-auto-2.c: New.
* c-c++-common/goacc/tile.c: Include stdbool, fix expected errors.
* c-c++-common/goacc/tile-2.c: New.
* g++.dg/goacc/template.C: Test tile subst. Adjust erroneous uses.
* g++.dg/goacc/tile-1.C: New, check tile subst.
* gcc.dg/goacc/loop-processing-1.c: Adjust dg-final pattern.
* gfortran.dg/goacc/combined-directives.f90: Remove xfail.
* gfortran.dg/goacc/tile-1.f90: New test.
* gfortran.dg/goacc/tile-2.f90: New test.
* gfortran.dg/goacc/tile-lowering.f95: New test.
libgomp/
* testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
add additional case.
* testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
"openacc_nvidia_accel_selected".
* libgomp.oacc-fortran/nested-function-1.f90 (test2):
Add num_workers(8) clause.
From-SVN: r245300
Gerald Pfeifer [Thu, 9 Feb 2017 10:56:08 +0000 (10:56 +0000)]
configure.ac (ACX_BUGURL): Update.
* configure.ac (ACX_BUGURL): Update.
* configure: Regenerate.
From-SVN: r245299
Gerald Pfeifer [Thu, 9 Feb 2017 08:55:46 +0000 (08:55 +0000)]
* Makefile.in (po/$(PACKAGE).pot): Adjust bug reporting URL.
From-SVN: r245298
Gerald Pfeifer [Thu, 9 Feb 2017 08:36:38 +0000 (08:36 +0000)]
* comperr.adb: Update FSF bug reporting URL.
From-SVN: r245297
Gerald Pfeifer [Thu, 9 Feb 2017 08:30:30 +0000 (08:30 +0000)]
configure.ac (ACX_BUGURL): Update.
* configure.ac (ACX_BUGURL): Update.
* configure: Regenerate.
From-SVN: r245296
Richard Biener [Thu, 9 Feb 2017 07:47:07 +0000 (07:47 +0000)]
re PR tree-optimization/69823 (internal compiler error: in create_pw_aff_from_tree, at graphite-sese-to-poly.c:445)
2017-02-09 Richard Biener <rguenther@suse.de>
PR tree-optimization/69823
* graphite-scop-detection.c (scop_detection::harmful_loop_in_region):
Properly enumerate all BBs in the region. Use auto_vec/auto_bitmap.
* gcc.dg/graphite/pr69823.c: New testcase.
From-SVN: r245295
Andrew Burgess [Thu, 9 Feb 2017 00:35:20 +0000 (00:35 +0000)]
arc/gcc: Better creation of __NPS400__ define
The __NPS400__ define is currently created in CPP_SPEC unlike the other
target defines, which are created in arc-c.def. Further, the current
__NPS400__ define is (currently) only created when -mcpu=nps400 is
passed, which is fine, except that if GCC is configured using
--with-cpu=nps400 then the -mcpu option is not required and the
__NPS400__ define will not be created.
This commit moves the __NPS400__ define into arc-c.def inline with all
of the other target defines, and removes the code in CPP_SPEC that used
to create the define.
In order to support the creation of the define in arc-c.def, a new
TARGET_NPS400 macro is created in arc.h.
gcc/ChangeLog:
* config/arc/arc-c.def: Add __NPS400__ definition.
* config/arc/arc.h (CPP_SPEC): Don't define __NPS400__ here.
(TARGET_NPS400): Define.
From-SVN: r245294
Andrew Burgess [Thu, 9 Feb 2017 00:34:00 +0000 (00:34 +0000)]
gcc/arc: Make arc_selected_cpu global
Currently we only make the base_architecture globally available, this
means we can tell if we have selected arc700/archs/etc but it's not
possible to tell if the user has selected a specific cpu variant, for
example nps400.
One problem this causes is, for example, in arc-c.def, if we want to add
an __NPS400__ define then we need a flag we can check to determine if
this is the right thing to do.
In this commit the arc_selected_cpu variable (previously local within
arc.c) has been made global. Two other variables arc_base_cpu and
arc_selected_arch have been deleted, all of this information can be
found within (or through) arc_selected_cpu.
All uses of arc_base_cpu and arc_selected_arch have been updated. This
commit does not introduce any new defines (like __NPS400__), this is
just a restructuring commit.
The declaration of arc_selected_cpu has moved into arc-arch.h, in
contrast to the declaration of arc_base_cpu which was previously in
arc.h. This avoids a compilation issue when building libgcc, as the
structure and enums declared in arc-arch.h are not included for libgcc
then declaring an arc_selected_cpu (a struct type) in arc.h would result
in an unknown struct error. We got away with this for arc_base_cpu as
that was an enum type. The declaration of arc_selected_cpu in
arc.h could have been wrapped in a '#ifndef IN_LIBGCC2 ... #endif', but
it felt neater to simply move the declaration into arc-arch.h.
gcc/ChangeLog:
* config/arc/arc-arch.h (arc_arch_t): Move unchanged to earlier in
file.
(arc_cpu_t): Change base_architecture field, arch, to a arc_arc_t
pointer, arch_info.
(arc_cpu_types): Fill the arch_info field with a pointer into the
arc_arch_types table.
(arc_selected_cpu): Declare.
* config/arc/arc.c (arc_selected_cpu): Make global.
(arc_selected_arch): Delete.
(arc_base_cpu): Delete.
(arc_override_options): Remove references to deleted variables,
update access to arch information.
(ARC_OPT): Update access to arch information.
(ARC_OPTX): Likewise.
* config/arc/arc.h (arc_base_cpu): Remove declaration.
(TARGET_ARC600): Update access to arch information.
(TARGET_ARC601): Likewise.
(TARGET_ARC700): Likewise.
(TARGET_EM): Likewise.
(TARGET_HS): Likewise.
* config/arc/driver-arc.c (arc_cpu_to_as): Update access to arch
information.
From-SVN: r245293
John David Anglin [Thu, 9 Feb 2017 00:22:32 +0000 (00:22 +0000)]
loop-dim-default.c: Skip on hppa*-*-*.
* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
hppa*-*-*.
* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
include complex.h on hppa*-*-hpux*.
* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
From-SVN: r245292
GCC Administrator [Thu, 9 Feb 2017 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r245291
Gerald Pfeifer [Wed, 8 Feb 2017 21:50:59 +0000 (21:50 +0000)]
* src/c++11/snprintf_lite.cc (__err): Use https for bug reporting.
From-SVN: r245288
Pat Haugen [Wed, 8 Feb 2017 20:49:14 +0000 (20:49 +0000)]
re PR target/78604 (test case gcc.target/powerpc/p8vector-vectorize-1.c fails starting with r242750)
PR target/78604
* config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Invert
condition/operands for integer GE/LE/GEU/LEU operations.
* gcc.target/powerpc/pr78604.c: New.
From-SVN: r245285
Kelvin Nilsen [Wed, 8 Feb 2017 17:33:57 +0000 (17:33 +0000)]
re PR testsuite/68972 (g++.dg/cpp1y/vla-initlist1.C test case fails on powerpc64le)
gcc/testsuite/ChangeLog:
2017-02-08 Kelvin Nilsen <kelvin@gcc.gnu.org>
PR target/68972
* g++.dg/cpp1y/vla-initlist1.C: Add dg-skip-if directive to
disable this test on power architecture.
From-SVN: r245280
Jonathan Wakely [Wed, 8 Feb 2017 12:02:36 +0000 (12:02 +0000)]
Update links and references in libstdc++ manual
* doc/xml/manual/policy_data_structures.xml: Fix spelling of author's
name.
* doc/xml/manual/policy_data_structures_biblio.xml: Likewise. Remove
broken links to texts that are no longer online.
* doc/xml/manual/profile_mode.xml: Update links to CGO 2009 paper and
LCPC 2006 paper.
* doc/xml/manual/using.xml: Update links to memory model information.
* doc/xml/manual/using_exceptions.xml: Update link to "Appendix E:
Standard-Library Exception Safety".
* doc/html/*: Regenerate.
From-SVN: r245277
Segher Boessenkool [Wed, 8 Feb 2017 09:59:55 +0000 (10:59 +0100)]
rs6000: Fix spelling of AltiVec in rs6000.opt (PR79397)
It was spelled Altivec in two user-facing messages in rs6000.opt; let's
be consistent.
PR translation/79397
* config/rs6000/rs6000.opt (maltivec=le, maltivec=be): Fix spelling
of AltiVec.
From-SVN: r245276
Martin Jambor [Wed, 8 Feb 2017 09:47:09 +0000 (10:47 +0100)]
[PR 79375] Avoid passing NULL by reference
2017-02-08 Martin Jambor <mjambor@suse.cz>
PR ipa/79375
* ipa-prop.c (ipa_alloc_node_params): Make static, return bool
whether allocation happened.
(ipa_initialize_node_params): Do not call ipa_alloc_node_params if
nothing was allocated.
From-SVN: r245275
Richard Biener [Wed, 8 Feb 2017 09:35:41 +0000 (09:35 +0000)]
re PR tree-optimization/71824 (ICE when compiling libiberty with Graphite loop optimizations)
2017-02-08 Richard Biener <rguenther@suse.de>
PR tree-optimization/71824
PR tree-optimization/79409
* gcc.dg/graphite/pr71824-3.c: New testcase.
From-SVN: r245274
Jakub Jelinek [Wed, 8 Feb 2017 09:21:57 +0000 (10:21 +0100)]
re PR tree-optimization/79408 (Missed VRP optimization of integer modulo)
PR tree-optimization/79408
* tree-vrp.c (simplify_div_or_mod_using_ranges): If op1 is not
constant, but SSA_NAME with a known integer range, use the minimum
of that range instead of op1 to determine if modulo can be replaced
with its first operand.
* gcc.dg/tree-ssa/pr79408.c: New test.
From-SVN: r245273
Kyrylo Tkachov [Wed, 8 Feb 2017 09:14:39 +0000 (09:14 +0000)]
[riscv] Fix build due to INT16_MAX issue
* config/riscv/riscv.c (riscv_build_integer_1): Avoid use of INT16_MAX.
From-SVN: r245272
Richard Biener [Wed, 8 Feb 2017 08:30:48 +0000 (08:30 +0000)]
re PR tree-optimization/71824 (ICE when compiling libiberty with Graphite loop optimizations)
2017-02-08 Richard Biener <rguenther@suse.de>
PR tree-optimization/71824
* graphite-scop-detection.c (scop_detection::build_scop_breadth):
Check all loops contained in the merged region.
* gcc.dg/graphite/pr71824-2.c: New testcase.
From-SVN: r245270
Gerald Pfeifer [Wed, 8 Feb 2017 07:22:01 +0000 (07:22 +0000)]
profile_mode.xml: Unbreak link to "Optimizing Sorting with Machine Learning Algorithms".
* doc/xml/manual/profile_mode.xml: Unbreak link to
"Optimizing Sorting with Machine Learning Algorithms".
From-SVN: r245269
Gerald Pfeifer [Wed, 8 Feb 2017 07:17:19 +0000 (07:17 +0000)]
* src/c++11/snprintf_lite.cc (__err): Update bug reporting URL.
From-SVN: r245268
Andrew Pinski [Wed, 8 Feb 2017 02:54:17 +0000 (02:54 +0000)]
aarch64.md (popcount<mode>2): New pattern.
2016-02-07 Andrew Pinski <apinski@cavium.com>
gcc
* config/aarch64/aarch64.md (popcount<mode>2): New pattern.
gcc/testsuite
* gcc.target/aarch64/popcount.c : New Testcase.
From-SVN: r245267
Andrew Pinski [Wed, 8 Feb 2017 02:37:38 +0000 (02:37 +0000)]
aarch64-cores.def (thunderx): Disable LSE.
2017-02-07 Andrew Pinski <apinski@cavium.com>
* config/aarch64/aarch64-cores.def (thunderx): Disable LSE.
(thunderxt88): Likewise.
(thunderxt81): Disable LSE and change v8.1 to v8.
(thunderxt83): Likewise.
From-SVN: r245266
GCC Administrator [Wed, 8 Feb 2017 00:16:17 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r245264
Gerald Pfeifer [Tue, 7 Feb 2017 23:38:12 +0000 (23:38 +0000)]
abi.xml: Update link to "Sun Studio 11: C++ Migration Guide".
* doc/xml/manual/abi.xml: Update link to "Sun Studio 11: C++
Migration Guide".
From-SVN: r245261
Gerald Pfeifer [Tue, 7 Feb 2017 23:25:19 +0000 (23:25 +0000)]
* update_web_docs_svn (MANUALS): Add libitm.
From-SVN: r245260
Gerald Pfeifer [Tue, 7 Feb 2017 22:44:13 +0000 (22:44 +0000)]
lwg-active.html: Remove.
* doc/html/ext/lwg-active.html: Remove.
* doc/html/ext/lwg-closed.html: Ditto.
* doc/html/ext/lwg-defects.html: Ditto.
* doc/Makefile.am (xml_extradir): Remove.
(xml_extra): Ditto.
(stamp-html-docbook-lwg): Remove recipe...
(stamp-html-docbook-data): ...and its use here.
* doc/Makefile.in: Regenerate.
* doc/xml/manual/intro.xml: Shorten two paragraphs explaining
the relationship to the upstream working group.
Replace a local link to ../ext/lwg-active.html by the upstream one.
Replace all reference to ../ext/lwg-defects.html by a new entity
&DR; which refers to the upstream address.
From-SVN: r245258
Gerald Pfeifer [Tue, 7 Feb 2017 22:10:06 +0000 (22:10 +0000)]
* doc/xml/manual/status_cxx2017.xml: Fix link to N4284.
From-SVN: r245257
Jakub Jelinek [Tue, 7 Feb 2017 21:51:21 +0000 (22:51 +0100)]
re PR middle-end/79399 (GCC fails to compile big source at -O0)
PR middle-end/79399
* ira-int.h (struct target_ira_int): Change x_max_struct_costs_size
type from int to size_t.
* ira-costs.c (struct_costs_size): Change type from int to size_t.
Co-Authored-By: Richard Biener <rguenther@suse.de>
From-SVN: r245256
Steven G. Kargl [Tue, 7 Feb 2017 21:28:08 +0000 (21:28 +0000)]
trans-types.c (gfc_get_int_kind_from_width_isofortranen): Choose REAL type with the widest precision if...
2017-02-04 Steven G. Kargl <kargl@gcc.gnu.org>
* trans-types.c (gfc_get_int_kind_from_width_isofortranen): Choose
REAL type with the widest precision if two (or more) have the same
storage size.
From-SVN: r245255
Gerald Pfeifer [Tue, 7 Feb 2017 20:46:21 +0000 (20:46 +0000)]
* MAINTAINERS: Adjust bug reporting URL.
From-SVN: r245253
Jakub Jelinek [Tue, 7 Feb 2017 17:45:57 +0000 (18:45 +0100)]
re PR rtl-optimization/79386 (ICE: segmentation fault in cprop w/ -O2 on 32-bit BE powerpc)
PR rtl-optimization/79386
* cprop.c (bypass_conditional_jumps): Initialize
bypass_last_basic_block already before splitting bbs after
unconditional traps...
(bypass_conditional_jumps): ... rather than here.
* gcc.c-torture/compile/pr79386.c: New test.
From-SVN: r245251
Nathan Sidwell [Tue, 7 Feb 2017 17:43:12 +0000 (17:43 +0000)]
method.c (synthesized_method_base_walk): New.
* method.c (synthesized_method_base_walk): New. Broken out of ...
(synthesized_method_walk): ... here. Call it. Cleanup
initializations.
From-SVN: r245250
Dominik Vogt [Tue, 7 Feb 2017 17:13:40 +0000 (17:13 +0000)]
Only xfail g++.dg/tls/thread_local-order2.C on Solaris
2017-02-07 Dominik Vogt <vogt@linux.vnet.ibm.com>
Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* g++.dg/tls/thread_local-order2.C: Only xfail execution on
*-*-solaris*.
Co-Authored-By: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
From-SVN: r245249
Jakub Jelinek [Tue, 7 Feb 2017 15:42:42 +0000 (16:42 +0100)]
re PR target/79299 (Operand size mismatch for `vpgatherqd' w/ -O3 -masm=intel -mavx512bw)
PR target/79299
* config/i386/sse.md (xtg_mode, gatherq_mode): New mode attrs.
(*avx512f_gathersi<mode>, *avx512f_gathersi<mode>_2,
*avx512f_gatherdi<mode>, *avx512f_gatherdi<mode>_2): Use them,
fix -masm=intel patterns.
* gcc.target/i386/avx512vl-pr79299-1.c: New test.
* gcc.target/i386/avx512vl-pr79299-2.c: New test.
From-SVN: r245248
Richard Biener [Tue, 7 Feb 2017 11:29:06 +0000 (11:29 +0000)]
re PR tree-optimization/79256 (FAIL: gcc.dg/vect/pr25413a.c execution test)
2017-02-07 Richard Biener <rguenther@suse.de>
PR tree-optimization/79256
PR middle-end/79278
* builtins.c (get_object_alignment_2): Use min_align_of_type
to extract alignment for MEM_REFs to honor BIGGEST_FIELD_ALIGNMENT
and ADJUST_FIELD_ALIGN.
* doc/tm.texi.in (ADJUST_FIELD_ALIGN): Adjust to take additional
type parameter.
* doc/tm.texi: Regenerate.
* stor-layout.c (layout_decl): Adjust.
(update_alignment_for_field): Likewise.
(place_field): Likewise.
(min_align_of_type): Likewise.
* config/arc/arc.h (ADJUST_FIELD_ALIGN): Adjust.
* config/epiphany/epiphany.h (ADJUST_FIELD_ALIGN): Likewise.
* config/epiphany/epiphany.c (epiphany_adjust_field_align): Likewise.
* config/frv/frv.h (ADJUST_FIELD_ALIGN): Likewise.
* config/frv/frv.c (frv_adjust_field_align): Likewise.
* config/i386/i386.h (ADJUST_FIELD_ALIGN): Likewise.
* config/i386/i386.c (x86_field_alignment): Likewise.
* config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Likewise.
* config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Likewise.
* config/rs6000/freebsd64.h (ADJUST_FIELD_ALIGN): Likewise.
* config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Likewise.
* config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Likewise.
* config/rs6000/rs6000.c (rs6000_special_adjust_field_align_p):
Likewise.
go/
* go-backend.c (go_field_alignment): Adjust.
libobjc/
* encoding.c (objc_layout_structure_next_member): Adjust
ADJUST_FIELD_ALIGN usage.
Revert
2017-01-30 Richard Biener <rguenther@suse.de>
PR tree-optimization/79256
* targhooks.c (default_builtin_vector_alignment_reachable): Honor
BIGGEST_FIELD_ALIGNMENT and ADJUST_FIELD_ALIGN to fix up bogus
alignment on TYPE.
From-SVN: r245245
Richard Biener [Tue, 7 Feb 2017 11:26:08 +0000 (11:26 +0000)]
gimple-parser.c (c_parser_gimple_expr_list): Simplify.
2017-02-07 Richard Biener <rguenther@suse.de>
c/
* gimple-parser.c (c_parser_gimple_expr_list): Simplify.
(c_parser_gimple_postfix_expression_after_primary):
Do not use c_build_function_call_vec to avoid folding and promotion.
Simplify.
* gcc.dg/gimplefe-23.c: New testcase.
* gcc.dg/gimplefe-24.c: Likewise.
From-SVN: r245244
Toma Tabacu [Tue, 7 Feb 2017 10:34:47 +0000 (10:34 +0000)]
MIPS: Fix mode mismatch error between Loongson builtin arguments and insn
operands.
gcc/
* config/mips/mips.c (mips_expand_builtin_insn): Convert the QImode
argument of the pshufh, psllh, psllw, psrah, psraw, psrlh, psrlw
builtins to SImode and emit a zero-extend, if necessary.
From-SVN: r245243
Christophe Lyon [Tue, 7 Feb 2017 09:32:14 +0000 (09:32 +0000)]
[AArch64,testsuite] Fix epilogue scan after ifcombine update.
2017-02-07 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/aarch64/test_frame_1.c: Scan epilogue with
scan-assembler instead of scan-assembler-times.
* gcc.target/aarch64/test_frame_10.c: Likewise.
* gcc.target/aarch64/test_frame_12.c: Likewise.
* gcc.target/aarch64/test_frame_2.c: Likewise.
* gcc.target/aarch64/test_frame_4.c: Likewise.
* gcc.target/aarch64/test_frame_6.c: Likewise.
* gcc.target/aarch64/test_frame_7.c: Likewise.
* gcc.target/aarch64/test_frame_8.c: Likewise.
From-SVN: r245242
Rainer Orth [Tue, 7 Feb 2017 09:13:12 +0000 (09:13 +0000)]
Require ifunc support in gcc.target/i386/pr78419.c
* gcc.target/i386/pr78419.c: Require ifunc support.
From-SVN: r245241
David Edelsohn [Tue, 7 Feb 2017 02:26:48 +0000 (02:26 +0000)]
* gcc.dg/torture/stackalign/builtin-apply-2.c: Fix skip-if syntax.
From-SVN: r245240
Patrick Palka [Tue, 7 Feb 2017 02:20:48 +0000 (02:20 +0000)]
re PR c++/79360 (ICE with NSDMI and enum in union)
Fix PR c++/79360
gcc/cp/ChangeLog:
PR c++/79360
* typeck2.c (process_init_constructor_union): Consider only
FIELD_DECLs when looking for an NSDMI.
gcc/testsuite/ChangeLog:
PR c++/79360
* g++.dg/cpp1y/nsdmi-union2.C: New test.
From-SVN: r245239
GCC Administrator [Tue, 7 Feb 2017 00:16:20 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r245237
Joseph Myers [Mon, 6 Feb 2017 23:37:48 +0000 (23:37 +0000)]
* de.po, fr.po, sv.po: Update.
From-SVN: r245233
Palmer Dabbelt [Mon, 6 Feb 2017 21:39:18 +0000 (21:39 +0000)]
Alphebetize RISC-V Options section
2017-02-06 Palmer Dabbelt <palmer@dabbelt.com>
* docs/invoke.texi (RISC-V Options): Alphabetize.
From-SVN: r245231
Palmer Dabbelt [Mon, 6 Feb 2017 21:39:13 +0000 (21:39 +0000)]
Use two spaces to separate options in the RISC-V docs
gcc/ChangeLog:
2017-02-06 Palmer Dabbelt <palmer@dabbelt.com>
* doc/invoke.texi (RISC-V Options): Use two spaces to separate
options.
From-SVN: r245230
Palmer Dabbelt [Mon, 6 Feb 2017 21:39:08 +0000 (21:39 +0000)]
RISC-V Port: contrib
2017-02-06 Palmer Dabbelt <palmer@dabbelt.com>
* config-list.mki (LIST): Add riscv32-unknown-linux-gun and
riscv64-unknown-linux-gnu.
From-SVN: r245229
Kito Cheng [Mon, 6 Feb 2017 21:39:03 +0000 (21:39 +0000)]
RISC-V Port: gcc/testsuite
gcc/testsuite/ChangeLog:
2017-02-06 Kito Cheng <kito.cheng@gmail.com>
* lib/target-supports.exp: Define the RISC-V target.
* g++.dg/cpp0x/constexpr-rom.C: Skip on RISC-V
* gcc.dg/builtin-apply2.c: Likewise.
* gcc.dg/ifcvt-4.c: Likewise.
* gcc.dg/loop-8.c: Likewise.
* gcc.dg/sibcall-10.c: Likewise.
* gcc.dg/sibcall-9.c: Likewise.
* gcc.dg/torture/stackalign/builtin-apply-2.c: Likewise.
* gcc.dg/tree-ssa/
20040204-1.c: Likewise.
* gcc.dg/tree-ssa/ssa-dom-cse-2.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-3.c: Likewise.
* gcc.c-torture/execute/
20101011-1.c: Define DO_TEST on RISC-V.
* gcc.dg/
20020312-2.c: Don't define PIC_REG on RISC-V.
* gcc.dg/stack-usage-1.c: Define SIZE on RISC-V.
From-SVN: r245228
Palmer Dabbelt [Mon, 6 Feb 2017 21:38:57 +0000 (21:38 +0000)]
RISC-V Port: libatomic
2017-02-06 Palmer Dabbelt <palmer@dabbelt.com>
* configure.tgt: Add RISC-V tuple.
From-SVN: r245227
Palmer Dabbelt [Mon, 6 Feb 2017 21:38:51 +0000 (21:38 +0000)]
RISC-V Port: libgcc
libgcc/ChangeLog:
2017-02-06 Palmer Dabbelt <palmer@dabbelt.com>
* config.host: Add RISC-V tuples.
* config/riscv/atomic.c: New file.
* config/riscv/crti.S: Likewise.
* config/riscv/crtn.S: Likewise.
* config/riscv/div.S: Likewise.
* config/riscv/linux-unwind.h: Likewise.
* config/riscv/muldi3.S: Likewise.
* config/riscv/multi3.S: Likewise.
* config/riscv/save-restore.S: Likewise.
* config/riscv/sfp-machine.h: Likewise.
* config/riscv/t-elf: Likewise.
* config/riscv/t-elf32: Likewise.
* config/riscv/t-elf64: Likewise.
* config/riscv/t-softfp32: Likewise.
* config/riscv/t-softfp64: Likewise.
From-SVN: r245226
Palmer Dabbelt [Mon, 6 Feb 2017 21:38:43 +0000 (21:38 +0000)]
RISC-V Port: Regenerate gcc/configure
From-SVN: r245225
Palmer Dabbelt [Mon, 6 Feb 2017 21:38:37 +0000 (21:38 +0000)]
RISC-V Port: gcc
gcc/ChangeLog:
2017-02-06 Palmer Dabbelt <palmer@dabbelt.com>
* config/riscv/riscv.c: New file.
* gcc/common/config/riscv/riscv-common.c: Likewise.
* config.gcc: Likewise.
* config/riscv/constraints.md: Likewise.
* config/riscv/elf.h: Likewise.
* config/riscv/generic.md: Likewise.
* config/riscv/linux.h: Likewise.
* config/riscv/multilib-generator: Likewise.
* config/riscv/peephole.md: Likewise.
* config/riscv/pic.md: Likewise.
* config/riscv/predicates.md: Likewise.
* config/riscv/riscv-builtins.c: Likewise.
* config/riscv/riscv-c.c: Likewise.
* config/riscv/riscv-ftypes.def: Likewise.
* config/riscv/riscv-modes.def: Likewise.
* config/riscv/riscv-opts.h: Likewise.
* config/riscv/riscv-protos.h: Likewise.
* config/riscv/riscv.h: Likewise.
* config/riscv/riscv.md: Likewise.
* config/riscv/riscv.opt: Likewise.
* config/riscv/sync.md: Likewise.
* config/riscv/t-elf-multilib: Likewise.
* config/riscv/t-linux: Likewise.
* config/riscv/t-linux-multilib: Likewise.
* config/riscv/t-riscv: Likewise.
* configure.ac: Likewise.
* doc/contrib.texi: Add Kito Cheng, Palmer Dabbelt, and Andrew
Waterman as RISC-V maintainers.
* doc/install.texi: Add RISC-V entries.
* doc/invoke.texi: Add RISC-V options section.
* doc/md.texi: Add RISC-V constraints section.
From-SVN: r245224
Jason Merrill [Mon, 6 Feb 2017 21:12:13 +0000 (16:12 -0500)]
PR c++/71193 - incomplete types in templates
* parser.c (cp_parser_postfix_dot_deref_expression): In a template
handle incomplete type by pedwarning and then treating as dependent.
From-SVN: r245223
Michael Meissner [Mon, 6 Feb 2017 21:07:37 +0000 (21:07 +0000)]
re PR target/66144 (vector element operator produces very bad code)
[gcc]
2017-02-06 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/66144
* config/rs6000/vector.md (vcond<mode><mode>): Allow the true and
false values to be constant vectors with all 0 or all 1 bits set.
(vcondu<mode><mode>): Likewise.
* config/rs6000/predicates.md (vector_int_reg_or_same_bit): New
predicate.
(fpmask_comparison_operator): Update comment.
(vecint_comparison_operator): New predicate.
* config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Optimize
vector conditionals when the true and false values are constant
vectors with all 0 bits or all 1 bits set.
[gcc/testsuite]
2017-02-06 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/66144
* gcc.target/powerpc/pr66144-1.c: New test.
* gcc.target/powerpc/pr66144-2.c: Likewise.
* gcc.target/powerpc/pr66144-3.c: Likewise.
From-SVN: r245222
Martin Sebor [Mon, 6 Feb 2017 20:11:51 +0000 (20:11 +0000)]
PR tree-optimization/ 79376 - wrong lower bound with %s and non-constant
strings in -Wformat-overflow
gcc/ChangeLog:
* gimple-fold.c (get_range_strlen): Set the minimum length to zero.
From-SVN: r245221
Jakub Jelinek [Mon, 6 Feb 2017 20:06:16 +0000 (21:06 +0100)]
re PR c++/79379 (ICE with #pragma GCC ivdep)
PR c++/79379
* constexpr.c (cxx_eval_constant_expression): Handle ANNOTATE_EXPR.
(potential_constant_expression_1): Likewise.
* g++.dg/cpp1y/constexpr-79379.C: New test.
From-SVN: r245220
Jakub Jelinek [Mon, 6 Feb 2017 20:05:09 +0000 (21:05 +0100)]
re PR c++/79377 (ICE with increment operator in -fpermissive mode)
PR c++/79377
* tree.c (build_min_non_dep_op_overload): For POST{INC,DEC}REMENT_EXPR
allow one fewer than expected arguments if flag_permissive.
* g++.dg/lookup/pr79377.C: New test.
From-SVN: r245219
Jakub Jelinek [Mon, 6 Feb 2017 20:03:15 +0000 (21:03 +0100)]
re PR c++/79372 (ICE on C++ code with illegal decomposition declaration on x86_64-linux-gnu: in tsubst_decomp_names, at cp/pt.c:15599)
PR c++/79372
* decl.c (cp_finish_decomp): On error set decl type to error_mark_node.
* pt.c (tsubst_expr): Don't call tsubst_decomp_names on decompositions
with error_mark_node type.
* g++.dg/cpp1z/decomp25.C: New test.
From-SVN: r245218
Uros Bizjak [Mon, 6 Feb 2017 19:46:51 +0000 (20:46 +0100)]
sse.md (vector modes -> vec_extract* splitter): Use explicit subreg RTX with operand 1.
* config/i386/sse.md (vector modes -> vec_extract* splitter): Use
explicit subreg RTX with operand 1. Use VECTOR_MODE_P predicate
to simplify split condition.
From-SVN: r245217
Jakub Jelinek [Mon, 6 Feb 2017 19:25:02 +0000 (20:25 +0100)]
omp-expand.c (oxpand_omp_atomic_fetch_op, [...]): Return false if can_atomic_load_p is false.
* omp-expand.c (oxpand_omp_atomic_fetch_op,
expand_omp_atomic_pipeline): Return false if can_atomic_load_p is
false.
From-SVN: r245216
Segher Boessenkool [Mon, 6 Feb 2017 19:19:49 +0000 (20:19 +0100)]
sched: Do not move expensive insns speculatively (PR68664)
Scheduling should never move very expensive instructions to places they
are executed more frequently. This patch fixes that, reducing the
execution time of c-ray by over 40% (I tested on a BE Power7 system).
This introduces a new target hook sched.can_speculate_insn which returns
whether the scheduler is allowed to speculate a given instruction. The
rs6000 implementation disallows all divide and square root instructions.
PR rtl-optimization/68664
* target.def (can_speculate_insn): New hook.
* doc/tm.texi.in (TARGET_SCHED_CAN_SPECULATE_INSN): New hook.
* doc/tm.texi: Regenerate.
* sched-rgn.c (can_schedule_ready_p): Use the new hook.
* config/rs6000/rs6000.c (TARGET_SCHED_CAN_SPECULATE_INSN): New macro.
(rs6000_sched_can_speculate_insn): New function.
From-SVN: r245215
Jakub Jelinek [Mon, 6 Feb 2017 19:15:36 +0000 (20:15 +0100)]
re PR tree-optimization/79284 (ICE on valid code at -O3 on x86_64-linux-gnu: verify_gimple failed)
PR tree-optimization/79284
* tree-vectorizer.h (VECT_SCALAR_BOOLEAN_TYPE_P): Define.
* tree-vect-stmts.c (vect_get_vec_def_for_operand,
vectorizable_mask_load_store, vectorizable_operation,
vect_is_simple_cond, get_same_sized_vectype): Use it instead
of comparing TREE_CODE of a type against BOOLEAN_TYPE.
* tree-vect-patterns.c (check_bool_pattern, search_type_for_mask_1,
vect_recog_bool_pattern, vect_recog_mask_conversion_pattern): Likewise.
* tree-vect-slp.c (vect_get_constant_vectors): Likewise.
* tree-vect-loop.c (vect_determine_vectorization_factor): Likewise.
Remove redundant gimple_code (stmt) == GIMPLE_ASSIGN test after
is_gimple_assign (stmt). Replace another such test with
is_gimple_assign (stmt).
testsuite/
* gcc.c-torture/compile/pr79284.c: New test.
From-SVN: r245214
Paolo Carlini [Mon, 6 Feb 2017 17:49:31 +0000 (17:49 +0000)]
re PR c++/70448 (ICE on invalid code on x86_64-linux-gnu: unexpected expression âfâ of kind overload)
2017-02-06 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/70448
* g++.dg/cpp0x/pr70448.C: New.
From-SVN: r245213