- 20 Feb, 2018 13 commits
-
-
Let a fast syscall return be a preemption point. This helps with tight loops that make system calls, as in BenchmarkSyscallExcessWork. Reviewed-on: https://go-review.googlesource.com/94895 From-SVN: r257848
Ian Lance Taylor committed -
expand_call_mem_ref checks for TARGET_MEM_REFs that have compatible type, but it didn't then go on to install the specific type we need, which might have different alignment due to: if (TYPE_ALIGN (type) != align) type = build_aligned_type (type, align); This was causing masked stores to be incorrectly marked as aligned on AVX512. 2018-02-20 Richard Sandiford <richard.sandiford@linaro.org> gcc/ PR tree-optimization/84419 * internal-fn.c (expand_call_mem_ref): Create a TARGET_MEM_REF with the required type if its current type is compatible but different. gcc/testsuite/ PR tree-optimization/84419 * gcc.dg/vect/pr84419.c: New test. From-SVN: r257847
Richard Sandiford committed -
PR middle-end/82004 * match.pd (pow(C,x) -> exp(log(C)*x)): Delay all folding until after vectorization. * gfortran.dg/pr82004.f90: New test. From-SVN: r257846
Jakub Jelinek committed -
Aliases are supposed to be identical to the type being aliased, so questions about type compatibility need to always ignore aliases, except for error messages involving the type name. The test case for this is https://golang.org/cl/94995. Fixes golang/go#23912 Reviewed-on: https://go-review.googlesource.com/94996 From-SVN: r257845
Ian Lance Taylor committed -
2018-02-20 Martin Liska <mliska@suse.cz> PR driver/83193 * config/aarch64/aarch64.c (aarch64_print_hint_for_core_or_arch): Print possible values if we don't have a hint. From-SVN: r257844
Martin Liska committed -
The C++ frontend generates a break that results in the fallthrough warning misfiring in nested switch blocks where cases in the inner switch block return, rendering the break pointless. The fallthrough detection in finish_break_stmt does not work either because the condition is encoded as an IF_STMT and not a COND_EXPR. Fix this by adding a condition for IF_STMT in the langhooks.block_may_fallthru for C++. Fix tested on x86_64. gcc/cp * cp-objcp-common.c (cxx_block_may_fallthru): Add case for IF_STMT. gcc/testsuite * g++.dg/nested-switch.C: New test case. From-SVN: r257843
Siddhesh Poyarekar committed -
2018-02-20 Martin Liska <mliska@suse.cz> PR c/84310 PR target/79747 * final.c (shorten_branches): Build align_tab array with one more element. * opts.c (finish_options): Add alignment option limit check. (MAX_CODE_ALIGN): Likewise. (MAX_CODE_ALIGN_VALUE): Likewise. * doc/invoke.texi: Document maximum allowed option value for all -falign-* options. 2018-02-20 Martin Liska <mliska@suse.cz> PR c/84310 PR target/79747 * gcc.target/i386/pr84310.c: New test. * gcc.target/i386/pr84310-2.c: Likewise. From-SVN: r257842
Martin Liska committed -
/cp 2018-02-20 Paolo Carlini <paolo.carlini@oracle.com> PR c++/84446 * parser.c (cp_parser_init_declarator): Don't call start_lambda_scope on error_mark_node. /testsuite 2018-02-20 Paolo Carlini <paolo.carlini@oracle.com> PR c++/84446 * g++.dg/cpp0x/lambda/lambda-ice27.C: New. From-SVN: r257841
Paolo Carlini committed -
PR c++/84445 * class.c (fixed_type_or_null) <case CALL_EXPR>: Only test TREE_HAS_CONSTRUCTOR if instance is not an internal function call. * g++.dg/cpp1z/launder7.C: New test. From-SVN: r257840
Jakub Jelinek committed -
PR c++/84449 * tree.c (bot_manip): If build_cplus_new or break_out_target_exprs returns error_mark_node, return it immediately. (break_out_target_exprs): If cp_walk_tree with bot_manip returns error_mark_node, return error_mark_node. * g++.dg/cpp0x/constexpr-84449.C: New test. From-SVN: r257839
Jakub Jelinek committed -
PR c++/84455 * pt.c (tsubst_lambda_expr): If not nested, increment temporarily function_depth to avoid GC during finish_lambda_function. * g++.dg/cpp0x/lambda/lambda-ice26.C: New test. From-SVN: r257838
Jakub Jelinek committed -
* lambda.c (build_capture_proxy): Handle reference refs. From-SVN: r257836
Jason Merrill committed -
From-SVN: r257835
GCC Administrator committed
-
- 19 Feb, 2018 21 commits
-
-
2018-02-19 Paul Thomas <pault@gcc.gnu.org> PR fortran/83344 PR fortran/83975 * resolve.c (resolve_assoc_var): Rearrange the logic for the determination of the character length of associate names. If the associate name is missing a length expression or the length expression is not a constant and the target is not a variable, make the associate name allocatable and deferred length. * trans-decl.c (gfc_get_symbol_decl): Null the character length backend_decl for deferred length associate names that are not variables. Set 'length' to gfc_index_zero_node for character associate names, whose character length is a PARM_DECL. 2018-02-19 Paul Thomas <pault@gcc.gnu.org> PR fortran/83344 PR fortran/83975 * gfortran.dg/associate_22.f90: Enable commented out test. * gfortran.dg/associate_36.f90: New test. From-SVN: r257827
Paul Thomas committed -
PR target/84146 * reg-notes.def (REG_CALL_ARG_LOCATION): New reg note. * insn-notes.def (NOTE_INSN_CALL_ARG_LOCATION): Remove. * var-tracking.c (emit_note_insn_var_location): Remove all references to NOTE_INSN_CALL_ARG_LOCATION. (emit_notes_in_bb): Emit arguments as REG_CALL_ARG_LOCATION note on the CALL_INSN rather than separate NOTE_INSN_CALL_ARG_LOCATION note. Use copy_rtx_if_shared. * dwarf2out.c (gen_subprogram_die): Use XEXP with 0 instead of NOTE_VAR_LOCATION on ca_loc->call_arg_loc_note. (dwarf2out_var_location): Remove handling of NOTE_INSN_CALL_ARG_LOCATION, instead handle REG_CALL_ARG_LOCATION note on call_insn. * final.c (final_scan_insn): Remove all references to NOTE_INSN_CALL_ARG_LOCATION. (rest_of_clean_state): Likewise. Remove REG_CALL_ARG_LOCATION notes before dumping final insns. * except.c (emit_note_eh_region_end): Remove all references to NOTE_INSN_CALL_ARG_LOCATION. * config/alpha/alpha.c (alpha_pad_function_end): Likewise. * config/c6x/c6x.c (c6x_gen_bundles): Likewise. * config/arc/arc.c (hwloop_optimize): Likewise. * config/arm/arm.c (create_fix_barrier): Likewise. * config/s390/s390.c (s390_chunkify_start): Likewise. * config/sh/sh.c (find_barrier): Likewise. * config/i386/i386.c (rest_of_insert_endbranch, ix86_seh_fixup_eh_fallthru): Likewise. * config/xtensa/xtensa.c (hwloop_optimize): Likewise. * config/iq2000/iq2000.c (final_prescan_insn): Likewise. * config/frv/frv.c (frv_function_prologue): Likewise. * emit-rtl.c (try_split): Likewise. Copy over REG_CALL_ARG_LOCATION reg note. (note_outside_basic_block_p): Remove all references to NOTE_INSN_CALL_ARG_LOCATION. * gengtype.c (adjust_field_rtx_def): Likewise. * print-rtl.c (rtx_writer::print_rtx_operand_code_0, print_insn): Likewise. * jump.c (cleanup_barriers, delete_related_insns): Likewise. * cfgrtl.c (force_nonfallthru_and_redirect): Likewise. * gcc.target/i386/pr84146.c: Add -fcompare-debug to dg-options. From-SVN: r257826
Jakub Jelinek committed -
* gcc.target/i386/pr70023.c (dg-do): Compile only for target int128. (dg-options): Use -mavx instead of -w. From-SVN: r257824
Uros Bizjak committed -
PR c++/84444 * builtins.c (builtin_mathfn_code): Don't check if CALL_EXPR_FN (t) is ADDR_EXPR. * g++.dg/cpp1z/launder8.C: New test. From-SVN: r257822
Jakub Jelinek committed -
PR c++/84448 * parser.c (cp_parser_binary_expression): For no_toplevel_fold_p, if either operand is error_mark_node, set current.lhs to that instead of creating a binary op with error_mark_node operands. * g++.dg/gomp/pr84448.C: New test. From-SVN: r257821
Jakub Jelinek committed -
PR c++/84430 * constexpr.c (potential_constant_expression_1): Handle OMP_SIMD. * g++.dg/gomp/pr84430.C: New test. From-SVN: r257820
Jakub Jelinek committed -
PR tree-optimization/84452 * tree-vect-patterns.c (vect_recog_pow_pattern): Don't call expand_simd_clones if targetm.simd_clone.compute_vecsize_and_simdlen is NULL. * gcc.dg/pr84452.c: New test. From-SVN: r257819
Jakub Jelinek committed -
PR c++/79064 * g++.dg/template/overload15.C (f): Use 0u - 1ll instead of 0u - 1l. From-SVN: r257818
Jakub Jelinek committed -
2018-02-19 Martin Liska <mliska@suse.cz> PR sanitizer/82183 * passes.def: Put pass_sancov_O0 before pass_lower_switch with -O0. From-SVN: r257817
Martin Liska committed -
2018-02-19 Martin Liska <mliska@suse.cz> Richard Sandiford <richard.sandiford@linaro.org> PR tree-optimization/82491 * gimple-fold.c (get_base_constructor): Make earlier bail out to prevent ubsan. Co-Authored-By: Richard Sandiford <richard.sandiford@linaro.org> From-SVN: r257816
Martin Liska committed -
2018-02-19 Martin Liska <mliska@suse.cz> PR c/81272 * decNumber.c (decCompareOp): Do not use bit and for conjunction of predicates. From-SVN: r257815
Martin Liska committed -
2018-02-19 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/35339 * frontend-passes.c (traverse_io_block): Remove workaround for PR 80945. 2018-02-19 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/35339 * gfortran.dg/implied_do_io_4.f90: New test. From-SVN: r257814
Thomas Koenig committed -
gcc/fortran/ChangeLog: 2018-02-19 Andre Vehreschild <vehre@gcc.gnu.org> * gfortran.texi: Document additional src/dst_type. Fix some typos. * trans-decl.c (gfc_build_builtin_function_decls): Declare the new argument of _caf_*_by_ref () with * e { get, send, sendget }. * trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Add the type of the data referenced when generating a call to caf_get_by_ref (). (conv_caf_send): Same but for caf_send_by_ref () and caf_sendget_by_ref (). gcc/testsuite/ChangeLog: 2018-02-19 Andre Vehreschild <vehre@gcc.gnu.org> * gfortran.dg/coarray_alloc_comp_6.f08: New test. * gfortran.dg/coarray_alloc_comp_7.f08: New test. * gfortran.dg/coarray_alloc_comp_8.f08: New test. libgfortran/ChangeLog: 2018-02-19 Andre Vehreschild <vehre@gcc.gnu.org> * caf/libcaf.h: Add type parameters to the caf_*_by_ref prototypes. * caf/single.c (get_for_ref): Simplifications and now respecting the type argument. (_gfortran_caf_get_by_ref): Added source type handing to get_for_ref(). (send_by_ref): Simplifications and respecting the dst_type now. (_gfortran_caf_send_by_ref): Added destination type hand over to send_by_ref(). (_gfortran_caf_sendget_by_ref): Added general support and fixed stack corruption. The function is now really usable. From-SVN: r257813
Andre Vehreschild committed -
gcc/ChangeLog: 2018-02-19 Carl Love <cel@us.ibm.com> * config/rs6000/rs6000-builtin.def: Change NEG macro expansions from BU_ALTIVEC_A to BU_P8V_AV_1 and BU_ALTIVEC_OVERLOAD_1 to BU_P8V_OVERLOAD_1. * config/rs6000/rs6000-c.c: Change ALTIVEC_BUILTIN_VEC_NEG to P8V_BUILTIN_VEC_NEG. gcc/testsuite/ChangeLog: 2018-02-19 Carl Love <cel@us.ibm.com> * gcc.target/powerpc/fold-vec-neg-int.p7.c: Remove test file. From-SVN: r257812
Carl Love committed -
2018-01-16 Sebastian Peryt <sebastian.peryt@intel.com> PR target/84460 * gcc.target/i386/pr57193.c: Add -mtune=generic. From-SVN: r257810
Sebastian Peryt committed -
ENDBR32 and RDSSPD are multi-byte NOPs on x86-64 processors and newer x86 processors, starting Pentium Pro. They are UD on older 32-bit processors. Detect this at configure time and adjust the default value for enable_cet. GCC will enable CET in 32-bit run-time libraries in any case if --enable-cet is used to configure GCC. PR target/84148 * config/cet.m4: Check if target support multi-byte NOPS (SSE). * libatomic/configure: Regenerate. * libbacktrace/configure: Likewise. * libgcc/configure: Likewise. * libgfortran/configure: Likewise. * libgomp/configure: Likewise. * libitm/configure: Likewise. * libmpx/configure: Likewise. * libobjc/configure: Likewise. * libquadmath/configure: Likewise. * libsanitizer/configure: Likewise. * libssp/configure: Likewise. * libstdc++-v3/configure: Likewise. * libvtv/configure: Likewise. From-SVN: r257809
Igor Tsimbalist committed -
2018-02-19 Sebastian Perta <sebastian.perta@renesas.com> * config/rl78/rl78.md (movdf): New define expand. From-SVN: r257807
Sebastian Perta committed -
2018-02-19 Martin Liska <mliska@suse.cz> PR other/80589 * doc/invoke.texi: Fix typo. * params.def (PARAM_MAX_LOOP_HEADER_INSNS): Likewise. From-SVN: r257803
Martin Liska committed -
/cp 2018-02-19 Paolo Carlini <paolo.carlini@oracle.com> PR c++/84348 * decl.c (grokdeclarator): Early return error_mark_node upon ill-formed friend declaration. /testsuite 2018-02-19 Paolo Carlini <paolo.carlini@oracle.com> PR c++/84348 * g++.dg/cpp0x/auto50.C: New. * g++.dg/parse/friend12.C: Adjust. From-SVN: r257802
Paolo Carlini committed -
2018-02-18 Yury Gribov <tetra2005@gmail.com> contrib/ * compare_tests: Use TMPDIR when set. * dg-cmp-results.sh: Ditto. * warn_summary: Ditto. From-SVN: r257801
Yury Gribov committed -
From-SVN: r257800
GCC Administrator committed
-
- 18 Feb, 2018 6 commits
-
-
From-SVN: r257797
Joseph Myers committed -
2018-02-18 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/84389 * io.c (check_format): Allow FMT_COLON. * gfortran.dg/dtio_33.f90: New test. From-SVN: r257795
Jerry DeLisle committed -
From-SVN: r257794
Joseph Myers committed -
From-SVN: r257792
Jerry DeLisle committed -
2018-02-18 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/84412 * io/transfer.c (finalize_transfer): After completng an internal unit I/O operation, clear internal_unit_kind. From-SVN: r257791
Jerry DeLisle committed -
For e500 family cores we do some questionable things with those flags, which does not work with LTO. So don't. * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't handle rs6000_single_float and rs6000_double_float specially for e500 family CPUs. From-SVN: r257790
Segher Boessenkool committed
-