Age | Commit message (Collapse) | Author | Files | Lines |
|
PR c++/84684
* constexpr.c (constexpr_call_hasher::equal): Return false if
lhs->hash != rhs->hash. Change return 1 to return true and
return 0 to return false.
From-SVN: r258262
|
|
For POWER4..POWER8 we align loops of 5..8 instructions to 32 bytes
(instead of to 16 bytes) because that executes faster. This is no
longer the case on POWER9, so we can just as well only align to 16
bytes.
* config/rs6000/rs6000.c (rs6000_loop_align): Don't align tiny loops
to 32 bytes when compiling for POWER9.
From-SVN: r258260
|
|
Fix a small typo in the mksysinfo.sh script (incorrect input
file for a grep command).
Reviewed-on: https://go-review.googlesource.com/98635
From-SVN: r258259
|
|
https://gcc.gnu.org/ml/gcc-patches/2018-03/msg00227.html
PR c++/84702
* pt.c (process_template_arg): Mark lookup_keep on a default arg.
PR c++/84702
* g++.dg/lookup/pr84702.C: New.
From-SVN: r258258
|
|
-mforce-indirect-call)
PR target/84564
* config/i386/i386.c (ix86_function_ok_for_sibcall): Check for
regparm >= 3 with no arg reg available also for calls with
flag_force_indirect_call. Pass decl to ix86_function_regparm.
* gcc.target/i386/pr84564.c: New test.
From-SVN: r258256
|
|
(tree_check()/duplicate_decls()))
PR c++/84707
* decl.c (duplicate_decls): Check DECL_NAME before accessing
UDLIT_OPER_P.
* g++.dg/cpp0x/inline-ns10.C: New test.
From-SVN: r258255
|
|
https://gcc.gnu.org/ml/gcc-patches/2018-03/msg00221.html
PR c++/84694
* friend.c (do_friend): Restore check for identifier_p inside
TEMPLATE_ID_EXPR.
PR c++/84694
* g++.dg/template/pr84694.C: New.
From-SVN: r258254
|
|
PR target/84524
* config/i386/sse.md (*<code><mode>3): Replace <mask_prefix3> with
orig,vex.
(*<plusminus_insn><mode>3): Likewise. Remove <mask_operand3> uses.
* gcc.c-torture/execute/pr84524.c: New test.
* gcc.target/i386/avx512bw-pr84524.c: New test.
From-SVN: r258252
|
|
config/rs6000/rs6000.c:10367 starting with r256656)
gcc/
PR target/84264
* config/rs6000/vector.md (mov<mode>): Disallow altivec memory operands.
gcc/testsuite/
PR target/84264
* g++.dg/pr84264.C: New test.
From-SVN: r258251
|
|
/cp
2018-03-05 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/84618
* parser.c (cp_parser_lambda_introducer): Reject any capture not
involving a VAR_DECL or a PARM_DECL.
/testsuite
2018-03-05 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/84618
* g++.dg/cpp0x/lambda/lambda-ice29.C: New.
* g++.dg/cpp0x/lambda/lambda-ice17.C: Adjust.
* g++.dg/cpp0x/lambda/lambda-ice23.C: Likewise.
From-SVN: r258250
|
|
2018-03-05 Richard Biener <rguenther@suse.de>
PR tree-optimization/84486
* tree-ssa-pre.c (create_expression_by_pieces): Remove dead code.
When inserting a __builtin_assume_aligned call set the LHS
SSA name alignment info accordingly.
From-SVN: r258249
|
|
As discussed in the PR, the reassociation phase runs before FMAs are formed
and so can significantly reduce FMA opportunities. Although reassociation
could be switched off, it helps in many cases, so a better alternative is to
only avoid reassociation of floating point additions. This fixes the testcase
and gives 1% speedup on SPECFP2017, fixing the performance regression.
gcc/
PR tree-optimization/84114
* config/aarch64/aarch64.c (aarch64_reassociation_width)
Avoid reassociation of FLOAT_MODE addition.
From-SVN: r258248
|
|
2018-03-05 Olga Makhotina <olga.makhotina@intel.com>
Enable WBOINVD and PCONFIG instructions.
gcc/
* common/config/i386/i386-common.c (OPTION_MASK_ISA_PCONFIG_SET,
OPTION_MASK_ISA_PCONFIG_UNSET, OPTION_MASK_ISA_WBNOINVD_SET,
OPTION_MASK_ISA_WBNOINVD_UNSET): New definitions.
(ix86_handle_option): Handle -mpconfig and -mwbnoinvd.
* config.gcc (pconfigintrin.h, wbnoinvdintrin.h) : Add headers.
* config/i386/cpuid.h (bit_PCONFIG, bit_WBNOINVD): New.
* config/i386/driver-i386.c (host_detect_local_cpu): Detect -mpconfig
and -mwbnoinvd.
* config/i386/i386-builtin.def (__builtin_ia32_wbnoinvd,
__builtin_ia32_wbinvd): New builtins.
(SPECIAL_ARGS2): New.
* config/i386/i386-c.c (__WBNOINVD__, __PCONFIG__): New.
(SPECIAL_ARGS2): New.
* config/i386/i386.c (ix86_target_string): Add -mpconfig and -mwbnoinvd.
(ix86_valid_target_attribute_inner_p): Ditto.
(ix86_init_mmx_sse_builtins): Add special_args2.
* config/i386/i386.h (TARGET_PCONFIG, TARGET_PCONFIG_P, TARGET_WBNOINVD,
TARGET_WBNOINVD_P): New.
* config/i386/i386.md (UNSPECV_WBINVD, UNSPECV_WBNOINVD): New.
(define_insn "wbinvd", define_insn "wbnoinvd"): New.
* config/i386/i386.opt: Add -mpconfig and -mwbnoinvd.
* config/i386/immintrin.h (_wbinvd): New intrinsic.
* config/i386/pconfigintrin.h: New file.
* config/i386/wbnoinvdintrin.h: Ditto.
* config/i386/x86intrin.h: Add headers pconfigintrin.h and wbnoinvdintrin.h.
* doc/invoke.texi (-mpconfig, -mwbnoinvd): New.
gcc/testsuite/
* g++.dg/other/i386-2.C: Add -mpconfig and -mwbnoinvd.
* g++.dg/other/i386-3.C: Ditto.
* gcc.target/i386/sse-12.c: Ditto.
* gcc.target/i386/sse-13.c: Ditto.
* gcc.target/i386/sse-14.c: Ditto.
* gcc.target/i386/sse-23.c: Add pconfig and wbnoinvd.
* gcc.target/i386/wbinvd-1.c: New test.
* gcc.target/i386/wbnoinvd-1.c: Ditto.
* gcc.target/i386/pconfig-1.c: Ditto.
From-SVN: r258247
|
|
https://gcc.gnu.org/ml/gcc-patches/2018-03/msg00209.html
PR c++/84497
* decl2.c (get_tls_init_fn): Check TYPE_HAS_TRIVIAL_DFLT too.
PR c++/84497
* g++.dg/cpp0x/pr84497.C: New.
Co-Authored-By: Jason Merrill <jason@redhat.com>
Co-Authored-By: Nathan Sidwell <nathan@acm.org>
From-SVN: r258244
|
|
tree-ssa-pre.c:2148 with -O2 -fno-tree-dominator-opts)
2018-03-05 Richard Biener <rguenther@suse.de>
PR tree-optimization/84670
* tree-ssa-pre.c (struct bb_bitmap_sets): Add visited_with_visited_succs
member.
(BB_VISITED_WITH_VISITED_SUCCS): New define.
(compute_antic): Initialize BB_VISITED_WITH_VISITED_SUCCS.
(compute_antic_aux): Only assert the number of values in ANTIC_IN
doesn't grow if all successors (recursively) were visited at least
once.
* gcc.dg/pr84670-1.c: New testcase.
* gcc.dg/pr84670-2.c: Likewise.
* gcc.dg/pr84670-3.c: Likewise.
* gcc.dg/pr84670-4.c: Likewise.
From-SVN: r258243
|
|
create_new_iv))
2018-03-05 Richard Biener <rguenther@suse.de>
PR tree-optimization/84650
* tree-ssa-loop-im.c (pass_lim::execute): Reset the SCEV cache
if executed in the loop pipeline.
* gcc.dg/graphite/pr84650.c: New testcase.
From-SVN: r258242
|
|
‘<lambda>’ is not a constant expression)
2018-03-05 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/82022
* g++.dg/cpp1z/constexpr-lambda20.C: New.
From-SVN: r258241
|
|
$target-protos.h to...
2018-03-05 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* doc/configfiles.texi (Configuration Files): Move info about
conditionalizing $target-protos.h to...
* doc/sourcebuild.texi (Back End): Here. Explain how $target.h
differs from $target-protos.h.
From-SVN: r258240
|
|
gcc/
* config/nds32/nds32-protos.h (nds32_expand_setmem): Declare.
* config/nds32/nds32-multiple.md (setmemsi): Define.
* config/nds32/nds32-memory-manipulation.c
(nds32_gen_dup_4_byte_to_word_value): New.
(emit_setmem_word_loop): New.
(emit_setmem_byte_loop): New.
(nds32_expand_setmem_loop): New.
(nds32_expand_setmem_loop_v3m): New.
(nds32_expand_setmem_unroll): New.
(nds32_expand_setmem): New.
Co-Authored-By: Chung-Ju Wu <jasonwucj@gmail.com>
From-SVN: r258239
|
|
From-SVN: r258238
|
|
its implementation.
gcc/
*config/nds32/nds32-memory-manipulation.c
(nds32_emit_load_store): New.
(nds32_emit_post_inc_load_store): New.
(nds32_emit_mem_move): New.
(nds32_emit_mem_move_block): New.
(nds32_expand_movmemsi_loop_unknown_size): New.
(nds32_expand_movmemsi_loop_known_size): New.
(nds32_expand_movmemsi_loop): New.
(nds32_expand_movmemsi_unroll): New.
(nds32_expand_movmemqi): Rename ...
(nds32_expand_movmemsi): ... to this.
*config/nds32/nds32-multiple.md (movmemqi): Rename ...
(movmemsi): ... to this.
*config/nds32/nds32-protos.h (nds32_expand_movmemqi): Rename ...
(nds32_expand_movmemsi): ... to this.
Co-Authored-By: Chung-Ju Wu <jasonwucj@gmail.com>
From-SVN: r258235
|
|
gcc/
* config/nds32/nds32-protos.h
(nds32_expand_load_multiple): New arguments.
(nds32_expand_store_multiple): Ditto.
(nds32_valid_multiple_load_store): Rename ...
(nds32_valid_multiple_load_store_p): ... to this.
* config/nds32/nds32-memory-manipulation.c
(nds32_expand_load_multiple): Refine implementation.
(nds32_expand_store_multiple): Ditto.
* config/nds32/nds32-multiple.md
(load_multiple): Update nds32_expand_load_multiple interface.
(store_multiple): Update nds32_expand_store_multiple interface.
* config/nds32/nds32-predicates.c
(nds32_valid_multiple_load_store): Rename ...
(nds32_valid_multiple_load_store_p): ... to this and refine
implementation.
* config/nds32/predicates.md
(nds32_load_multiple_and_update_address_operation): New predicate.
(nds32_store_multiple_and_update_address_operation): New predicate.
Co-Authored-By: Chung-Ju Wu <jasonwucj@gmail.com>
Co-Authored-By: Monk Chiang <sh.chiang04@gmail.com>
From-SVN: r258234
|
|
gcc/
* config/nds32/nds32.md (type): Add load_multiple and store_multiple.
(combo): New attribute.
* config/nds32/nds32-multiple.md: Refine patterns with new attributes.
Co-Authored-By: Chung-Ju Wu <jasonwucj@gmail.com>
From-SVN: r258232
|
|
* cvt.c (convert_to_void): Call maybe_undo_parenthesized_ref.
From-SVN: r258231
|
|
function result dimension)
2018-03-03 Harald Anlauf <anlauf@gmx.de>
PR fortran/71085
* trans-expr.c (gfc_apply_interface_mapping_to_expr): Do not
dereference NULL pointer.
2018-03-03 Harald Anlauf <anlauf@gmx.de>
PR fortran/71085
* gfortran.dg/pr71085.f90: New test.
From-SVN: r258228
|
|
From-SVN: r258227
|
|
2018-03-03 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/66128
* gfortran.dg/zero_sized_8.f90: Really commit new test.
From-SVN: r258224
|
|
2018-03-03 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/66128
* simplify.c (is_size_zero_array): New function to check for size
zero array.
(gfc_simplify_all, gfc_simplify_any, gfc_simplify_count,
gfc_simplify_iall, gfc_simplify_iany, gfc_simplify_iparity,
gfc_simplify_minval, gfc_simplify_maxval, gfc_simplify_norm2,
gfc_simplify_product, gfc_simplify_sum): Use it, and implement
requirements from F2018.
2018-03-03 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/66128
* gfortran.dg/zero_sized_8.f90: New test.
From-SVN: r258223
|
|
From-SVN: r258221
|
|
default init with transfer)
2018-03-03 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/51434
* simplify.c (gfc_simplify_transfer): Resolve mold.
2018-03-03 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/51434
* gfortran.dg/pr51434.f90: New test.
From-SVN: r258220
|
|
lambda)
2018-03-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/61358
* g++.dg/cpp0x/lambda/lambda-61358.C: New.
From-SVN: r258219
|
|
2018-03-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/67370
* g++.dg/cpp0x/lambda/lambda-67370.C: New.
From-SVN: r258218
|
|
Segmentation fault)
/cp
2018-03-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/71464
* optimize.c (maybe_thunk_body): Bail out immediately if either
fns[0] or fns[1] is null.
/testsuite
2018-03-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/71464
* g++.dg/torture/pr71464.C: New.
From-SVN: r258216
|
|
gcc/
* config/nds32/nds32.opt: Change -mcmodel= default value.
From-SVN: r258215
|
|
gcc/
* config/nds32/constants.md (unspec_element): New enum.
* config/nds32/constraints.md (Umw): New constraint.
* config/nds32/nds32-intrinsic.c: Add more builtin functions.
* config/nds32/nds32-intrinsic.md: Likewise.
* config/nds32/nds32-md-auxiliary.c (nds32_regno_to_enable4): New.
(nds32_valid_smw_lwm_base_p): New.
(nds32_output_smw_single_word): New.
(nds32_output_lmw_single_word): New.
(nds32_expand_unaligned_load): New.
(nds32_expand_unaligned_store): New.
* config/nds32/nds32-protos.h (nds32_valid_smw_lwm_base_p): Declare.
(nds32_output_smw_single_word): Declare.
(nds32_output_lmw_single_word): Declare.
(nds32_expand_unaligned_load): Declare.
(nds32_expand_unaligned_store): Declare.
* config/nds32/nds32.h (nds32_builtins): Add NDS32_BUILTIN_UALOAD_HW,
NDS32_BUILTIN_UALOAD_W, NDS32_BUILTIN_UALOAD_DW,
NDS32_BUILTIN_UASTORE_HW, NDS32_BUILTIN_UASTORE_W,
NDS32_BUILTIN_UASTORE_DW.
* config/nds32/predicates.md (nds32_lmw_smw_base_operand): New
predicate.
Co-Authored-By: Chung-Ju Wu <jasonwucj@gmail.com>
Co-Authored-By: Monk Chiang <sh.chiang04@gmail.com>
From-SVN: r258214
|
|
gcc/
* config/nds32/nds32-intrinsic.c
(nds32_expand_builtin_null_ftype_reg): Delete.
(nds32_expand_builtin_reg_ftype_imm): Ditto.
(nds32_expand_builtin_null_ftype_reg_imm): Ditto.
(nds32_read_argument): New.
(nds32_legitimize_target): Ditto.
(nds32_legitimize_argument): Ditto.
(nds32_check_constant_argument): Ditto.
(nds32_expand_unop_builtin): Ditto.
(nds32_expand_unopimm_builtin): Ditto.
(nds32_expand_binop_builtin): Ditto.
(nds32_builtin_decl_impl): Ditto.
(builtin_description): Ditto.
(nds32_expand_builtin_impl): Rewrite with new infrastructure.
(nds32_init_builtins_impl): Ditto.
* config/nds32/nds32.c (TARGET_BUILTIN_DECL): Define.
(nds32_builtin_decl): New.
* config/nds32/nds32.h (nds32_builtins): Add NDS32_BUILTIN_COUNT.
* config/nds32/nds32-protos.h (nds32_builtin_decl_impl): Declare.
Co-Authored-By: Chung-Ju Wu <jasonwucj@gmail.com>
Co-Authored-By: Kito Cheng <kito.cheng@gmail.com>
From-SVN: r258211
|
|
2018-03-03 Paul Thomas <pault@gcc.gnu.org>
PR fortran/80965
* resolve.c (build_loc_call): Change symtree name from 'loc' to
'_loc'.
2018-03-03 Paul Thomas <pault@gcc.gnu.org>
PR fortran/80965
* gfortran.dg/select_type_41.f90: New test.
From-SVN: r258195
|
|
object in lambda expression)
2018-03-02 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/61135
* g++.dg/cpp0x/lambda/lambda-61135.C: New.
From-SVN: r258165
|
|
From-SVN: r258163
|
|
From-SVN: r258160
|
|
* reorg.c (stop_search_p): Handle DEBUG_INSN.
(redundant_insn, fill_simple_delay_slots): Likewise.
(fill_slots_from_thread): Likewise.
* resource.c (mark_referenced_resources): Likewise.
(mark_set_resources, find_dead_or_set_registers): Likewise.
From-SVN: r258158
|
|
PR libstdc++/84671
* include/bits/parse_numbers.h (_Number_help): Add partial
specialization to handle digit separators. Adjust partial
specialization for recursion temrination to require _Pow == 1ULL.
* testsuite/20_util/duration/literals/84671.cc: New
From-SVN: r258157
|
|
PR c++/84578
* constexpr.c (get_array_or_vector_nelts): New.
(cxx_eval_array_reference): Use it.
(cxx_eval_vec_init_1): Likewise.
(cxx_eval_store_expression): Likewise.
* g++.dg/ext/flexary29.C: New test.
From-SVN: r258156
|
|
libiberty/ChangeLog:
* cp-demangle.c: Update URL for g++ V3 ABI.
From-SVN: r258155
|
|
ATTRIBUTE_GCC_DIAG.
* substring-locations.h (format_warning_va): Formatting fix for
ATTRIBUTE_GCC_DIAG.
(format_warning_at_substring): Fix up ATTRIBUTE_GCC_DIAG second
argument.
(format_warning_n_va, format_warning_at_substring_n): New prototypes.
* substring-locations.c: Include intl.h.
(format_warning_va): Turned into small wrapper around
format_warning_n_va, renamed to ...
(format_warning_n_va): ... this, add N and PLURAL_GMSGID arguments,
rename GMSGID to SINGULAR_GMSGID, if SINGULAR_GMSGID != PLURAL_GMSGID,
use ngettext.
(format_warning_at_substring_n): New function.
* gimple-ssa-sprintf.c: Remove GCC diagnostic ignored pragma.
(fmtwarn): Add ATTRIBUTE_GCC_DIAG. Turn into a copy of
format_warning_at_substring with just a shorter name instead of
const function pointer.
(fmtwarn_n): New function.
(maybe_warn, format_directive, parse_directive): Use fmtwarn_n where
appropriate, get rid of all the fmtstr temporaries, move conditionals
with G_() wrapped string literals directly into fmtwarn arguments,
cast dir.len to (int), formatting fixes.
From-SVN: r258154
|
|
From-SVN: r258153
|
|
From-SVN: r258151
|
|
2018-03-02 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/81812
* g++.dg/torture/pr81812.C: New.
From-SVN: r258150
|
|
at cp/typeck.c:2172)
PR c++/84664
* typeck.c (cp_perform_integral_promotions): Check the result of
mark_rvalue_use.
* g++.dg/cpp0x/lambda/lambda-ice28.C: New test.
From-SVN: r258149
|
|
have error_mark in cp_complete_array_type, at cp/decl.c:8334)
PR c++/84663
* decl.c (cp_complete_array_type): Check error_mark_node.
* g++.dg/parse/array-size3.C: New test.
From-SVN: r258148
|