- 30 Jan, 2018 30 commits
-
-
PR debug/84131 * trans-array.c (gfc_get_descriptor_offsets_for_info): Set *data_off to DATA_FIELD's offset rather than OFFSET_FIELD's offset. From-SVN: r257212
Jakub Jelinek committed -
2017-01-30 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/84134 * array.c (gfc_ref_dimen_size): Whitespace fixes. If stride is zero, return false. 2017-01-30 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/84134 * gfortran.dg/data_implied_do_2.f90: New test. From-SVN: r257211
Thomas Koenig committed -
PR target/40411 * config/sol2.h (STARTFILE_ARCH_SPEC): Use -std=c*, -std=iso9899:199409 instead of -pedantic to select values-Xc.o. From-SVN: r257209
Rainer Orth committed -
2018-01-30 Janus Weil <janus@gcc.gnu.org> * gfortran.dg/pr68318_1.f90: Add closing bracket in dejagnu directive. From-SVN: r257208
Janus Weil committed -
From-SVN: r257207
Rainer Orth committed -
2018-01-30 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/84133 * frontend-passes (matmul_to_var_expr): Return early if in association list. (inline_matmul_assign): Likewise. 2018-01-30 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/84133 * gfortran.dg/inline_matmul_21.f90: New test case. From-SVN: r257206
Thomas Koenig committed -
* g++.dg/torture/pr81360.C: Add -fdump-ipa-icf to dg-options. From-SVN: r257205
Rainer Orth committed -
2018-01-30 Vladimir Makarov <vmakarov@redhat.com> PR target/84112 * lra-constraints.c (curr_insn_transform): Process AND in the address. 2018-01-30 Vladimir Makarov <vmakarov@redhat.com> PR target/84112 * pr84112.c: New. From-SVN: r257204
Vladimir Makarov committed -
PR rtl-optimization/83986 * sched-deps.c (sched_analyze_insn): For frame related insns, add anti dependence against last_pending_memory_flush in addition to pending_jump_insns. * gcc.dg/pr83986.c: New test. From-SVN: r257203
Jakub Jelinek committed -
* decl2.c (determine_visibility): Look for outer containing template instantiation. From-SVN: r257202
Jason Merrill committed -
* pt.c (instantiate_class_template_1): Ignore more lambdas. From-SVN: r257199
Jason Merrill committed -
re PR fortran/37577 ([meta-bug] change internal array descriptor format for better syntax, C interop TR, rank 15) 2018-01-30 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/37577 * libgfortran.h: Remove GFC_DTYPE_DERIVED_1, GFC_DTYPE_DERIVED_2, GFC_DTYPE_DERIVED_4, GFC_DTYPE_DERIVED_8 and GFC_DTYPE_DERIVED_16. * m4/cshift1.m4: Remove GFC_DTYPE_DERIVED_1. * generated/cshift1_16.c: Regenerated. * generated/cshift1_4.c: Regenerated. * generated/cshift1_8.c: Regenerated. * intrinsics/cshift0.c: Remove GFC_DTYPE_DERIVED_1. * intrinsics/pack_generic.c (pack): Move handling of other types into separate switch statement. * intrinsics/spread_generic.c (spread): Likewise. (spread_scalar): Likewise. * intrinsics/unpack_generic.c (unpack1): Likewise. (unpack0): Likewise. * runtime/in_pack_generic.c (internal_pack): Likewise. * runtime/in_unpack_generic.c (internal_unpack): Likewise. From-SVN: r257195
Thomas Koenig committed -
If there are copies between the GIMPLE_PHI at the loop body and the increment that reaches it (presumably through a back edge), still regard it as a simple_iv_increment, so that we won't consider the value in the back edge eligible for forwprop. Doing so would risk making the phi node and the incremented conflicting value live within the loop, and the phi node to be preserved for propagated uses after the loop. for gcc/ChangeLog PR tree-optimization/81611 * tree-ssa-dom.c (simple_iv_increment_p): Skip intervening copies. From-SVN: r257194
Alexandre Oliva committed -
2018-01-30 Aaron Sawdey <acsawdey@linux.vnet.ibm.com> * config/rs6000/rs6000.c (rs6000_internal_arg_pointer): Only return a reg rtx. From-SVN: r257193
Aaron Sawdey committed -
This patch xfails a few test cases on powerpc64 that fail after r256380 due to a longstanding issue with floating-point compares. See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58684 for more information. 2018-01-30 Bill Seurer <seurer@linux.vnet.ibm.com> PR 58684 * gcc/testsuite/gcc.dg/torture/inf-compare-1.c: Add xfail. * gcc/testsuite/gcc.dg/torture/inf-compare-2.c: Add xfail. * gcc/testsuite/gcc.dg/torture/inf-compare-3.c: Add xfail. * gcc/testsuite/gcc.dg/torture/inf-compare-4.c: Add xfail. From-SVN: r257190
Bill Seurer committed -
PR tree-optimization/84111 * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely_1): Skip inner loops added during recursion, as they don't have up-to-date SSA form. * gcc.c-torture/compile/pr84111.c: New test. From-SVN: r257188
Jakub Jelinek committed -
PR ipa/83179 * gcc.dg/ipa/inline-2.c: Fix template. * gcc.dg/ipa/inline-3.c: Fix template. From-SVN: r257186
Jan Hubicka committed -
PR ipa/81360 * ipa-inline.c (can_inline_edge_p): Break out late tests to... (can_inline_edge_by_limits_p): ... here. (can_early_inline_edge_p, check_callers, update_caller_keys, update_callee_keys, recursive_inlining, add_new_edges_to_heap, speculation_useful_p, inline_small_functions, inline_small_functions, flatten_function, inline_to_all_callers_1): Update. * g++.dg/torture/pr81360.C: New testcase From-SVN: r257184
Jan Hubicka committed -
PR lto/83954 * lto-symtab.c (warn_type_compatibility_p): Silence false positive for type match warning on arrays of pointers. * gcc.dg/lto/pr83954.h: New testcase. * gcc.dg/lto/pr83954_0.c: New testcase. * gcc.dg/lto/pr83954_1.c: New testcase. From-SVN: r257183
Jan Hubicka committed -
* profile-count.c (profile_count::combine_with_ipa_count): Handle zeros correctly. From-SVN: r257182
Jan Hubicka committed -
re PR target/83008 ([performance] Is it better to avoid extra instructions in data passing between loops?) 2018-01-30 Richard Biener <rguenther@suse.de> PR tree-optimization/83008 * tree-vect-slp.c (vect_analyze_slp_cost_1): Properly cost invariant and constant vector uses in stmts when they need more than one stmt. From-SVN: r257181
Richard Biener committed -
gcc/testsuite: PR bootstrap/84017 * gcc.dg/debug/dwarf2/prod-options.c: Add -fno-merge-debug-strings to dg-options. Simplify DW_AT_producer scan. gcc: PR bootstrap/84017 * configure.ac (gcc_cv_as_shf_merge): Disable on Solaris 10/x86. * configure: Regenerate. From-SVN: r257179
Rainer Orth committed -
sve/extract_[12].c were relying on the target-independent optimisation that removes a redundant vec_select, so that we don't end up with things like: dup v0.4s, v0.4s[0] ...use s0... But that optimisation rightly doesn't trigger for big-endian targets, because GCC expects lane 0 to be in the high part of the register rather than the low part. SVE breaks this assumption -- see the comment at the head of aarch64-sve.md for details -- so the optimisation is valid for both endiannesses. Long term, we probably need some kind of target hook to make GCC aware of this. But there's another problem with the current extract pattern: it doesn't tell the register allocator how cheap an extraction of lane 0 is with tied registers. It seems better to split the lane 0 case out into its own pattern and use tied operands for the FPR<-SIMD case, so that using different registers has the cost of an extra reload. I think we want this for both endiannesses, regardless of the hook described above. Also, the gen_lowpart in this pattern fails for aarch64_be due to TARGET_CAN_CHANGE_MODE_CLASS restrictions, so the patch uses gen_rtx_REG instead. We're only creating this rtl in order to print it, so there's no need for anything fancier. 2018-01-30 Richard Sandiford <richard.sandiford@linaro.org> gcc/ * config/aarch64/aarch64-sve.md (*vec_extract<mode><Vel>_0): New pattern. (*vec_extract<mode><Vel>_v128): Require a nonzero lane number. Use gen_rtx_REG rather than gen_lowpart. Reviewed-by: James Greenhalgh <james.greenhalgh@arm.com> From-SVN: r257178
Richard Sandiford committed -
LRA was using a subreg offset of 0 whenever constraints matched two operands with different modes. That leads to an invalid offset (and ICE) on big-endian targets if one of the modes is narrower than a word. E.g. if a (reg:SI X) is matched to a (reg:QI Y), the big-endian subreg should be (subreg:QI (reg:SI X) 3) rather than (subreg:QI (reg:SI X) 0). But this raises the issue of what the behaviour should be when the matched operands occupy different numbers of registers. Should the register numbers match, or should the locations of the lsbs match? Although the documentation isn't clear, reload went for the second interpretation (which seems the most natural to me): /* On a REG_WORDS_BIG_ENDIAN machine, point to the last register of a multiple hard register group of scalar integer registers, so that for example (reg:DI 0) and (reg:SI 1) will be considered the same register. */ So I think this means that we can/must use the lowpart offset unconditionally, rather than trying to separate out the multi-register case. This also matches the LRA handling of constant integers, which already uses lowpart subregs. The patch fixes gcc.target/aarch64/sve/extract_[34].c for aarch64_be. 2018-01-30 Richard Sandiford <richard.sandiford@linaro.org> gcc/ * lra-constraints.c (match_reload): Use subreg_lowpart_offset rather than 0 when creating partial subregs. From-SVN: r257177
Richard Sandiford committed -
2018-01-30 Richard Sandiford <richard.sandiford@linaro.org> gcc/ * vec-perm-indices.c (vec_perm_indices::series_p): Give examples of usage. From-SVN: r257176
Richard Sandiford committed -
This test fails to optimise away the PLUS reduction in the loop on arm targets when vectorisation is not enabled due to absence of SIMD instructions. From reading the logs and the PR I gather that the presence or absence of SIMD affects the passing of this test on other targets as well, as evidenced by the long list of xfail targets. This list looks quite unwieldy to me, but here is a patch adding non-NEON arm to that list. * gcc.dg/tree-ssa/ssa-dom-cse-2.c: XFAIL on !arm_neon arm targets. From-SVN: r257175
Kyrylo Tkachov committed -
gcc/testsuite PR target/83828 * gcc.target/i386/avx512bitalg-vpopcntb-1.c: Fix test. * gcc.target/i386/avx512bitalg-vpopcntw-1.c: Ditto. * gcc.target/i386/avx512bitalgvl-vpopcntb-1.c: Ditto. * gcc.target/i386/avx512bitalgvl-vpopcntw-1.c: Ditto. From-SVN: r257173
Kirill Yukhin committed -
PR testsuite/81010 * gcc.target/powerpc/pr56605.c: Update various dg- directives to better match other tests which require vsx. Verify the zero extension is part of the test in the combiner dump. From-SVN: r257172
Jeff Law committed -
CL 84555 added support for the SuperH architecture, but didn't add the randomTrap definition to be used for the getrandom syscall on Linux. Add it now. Reviewed-on: https://go-review.googlesource.com/90535 From-SVN: r257171
Ian Lance Taylor committed -
From-SVN: r257170
GCC Administrator committed
-
- 29 Jan, 2018 10 commits
-
-
PR libgomp/84096 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t instead of omp_lock_t. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r257167
Christoph Spiel committed -
2018-01-29 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/81550 * config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): If DFmode and SFmode can go in Altivec registers (-mcpu=power7 for DFmode, -mcpu=power8 for SFmode) don't set the PRE_INCDEC or PRE_MODIFY flags. This restores the settings used before the 2017-07-24. Turning off pre increment/decrement/modify allows IVOPTS to optimize DF/SF loops where the index is an int. From-SVN: r257166
Michael Meissner committed -
The compiler skips the escape analysis pass if it has seen any errors. The write barrier pass, especially the check-escapes portion, relies on escape analysis running. So don't run this pass if there have been any errors, as it may cause further unreliable error reports. Reviewed-on: https://go-review.googlesource.com/90575 From-SVN: r257163
Ian Lance Taylor committed -
* cvt.c (cp_convert_to_pointer): Always build a CONVERT_EXPR when !dofold. From-SVN: r257161
Jason Merrill committed -
PR c++/83996 * constexpr.c (cxx_fold_indirect_ref): Compute ((foo *)&fooarray)[1] => fooarray[1] in offset_int. * g++.dg/ext/pr83996.C: New test. From-SVN: r257160
Marek Polacek committed -
PR c/83966 * c-format.c (check_function_format): Check current_function_decl. * gcc.dg/format/Wsuggest-attribute-1.c: New test. From-SVN: r257159
Marek Polacek committed -
gcc/ChangeLog: 2018-01-29 Richard Biener <rguenther@suse.de> Kelvin Nilsen <kelvin@gcc.gnu.org> PR bootstrap/80867 * tree-vect-stmts.c (vectorizable_call): Don't call targetm.vectorize_builtin_md_vectorized_function if callee is NULL. Co-Authored-By: Kelvin Nilsen <kelvin@gcc.gnu.org> From-SVN: r257158
Richard Biener committed -
gcc/ChangeLog: 2018-01-22 Carl Love <cel@us.ibm.com> * doc/extend.tex: Fix typo in second arg in __builtin_bcdadd_{lt|eq|gt|ov}, and __builtin_bcdsub_{lt|eq|gt|ov}. From-SVN: r257156
Carl Love committed -
* cvt.c (ocp_convert): Call mark_rvalue_use. From-SVN: r257155
Jason Merrill committed -
re PR libgomp/84086 ([8 Regresssion] segfault in instantiate_scev_r for libgomp.fortran/examples-4/simd-2.f90 -O1) 2018-01-29 Richard Biener <rguenther@suse.de> PR tree-optimization/84086 * tree-ssanames.c: Include cfgloop.h and tree-scalar-evolution.h. (flush_ssaname_freelist): When SSA names were released reset the SCEV hash table. From-SVN: r257152
Richard Biener committed
-