Re: [PATCH] Canonicalize fancy ways of expressing blend operation into COND_EXPR (PR tree-optimization/92834)

2019-12-09 Thread Jakub Jelinek
On Mon, Dec 09, 2019 at 10:54:34AM +0100, Marc Glisse wrote: > On Fri, 6 Dec 2019, Jakub Jelinek wrote: > > > --- gcc/match.pd.jj 2019-12-06 14:07:26.877749065 +0100 > > +++ gcc/match.pd2019-12-06 15:06:08.042953309 +0100 > > @@ -2697,6 +2697,31 @@ (define_op

Re: [PATCH] Fix unrecognizable insn of pr92865

2019-12-10 Thread Jakub Jelinek
On Tue, Dec 10, 2019 at 01:47:50PM +0800, Hongtao Liu wrote: > This patch is to enable integer mask cmp/cmov under AVX512F even > with TARGET_XOP . > Bootstrap and regression test on i386/x86_64 backend is ok. > > Changelog: > PR target/92865 > * gcc/config/i386/i386-expand.c (ix86_val

[committed] Fix some i386.c comment typos

2019-12-10 Thread Jakub Jelinek
Hi! Last night when working on -fstack-protector* improvement to be posted, I've noticed a few typos. Fixed thusly, committed to trunk as obvious. 2019-12-10 Jakub Jelinek * config/i386/i386.c (IX86_LEA_PRIORITY): Fix comment typos. --- gcc/config/i386/i386.c.jj 2019-12-09

[committed] Fix up i386/avx512f-vmovntp?-2.c tests

2019-12-10 Thread Jakub Jelinek
stack-protector-strong, they go into different phases (res being an array so goes into phase 1 and s being a union/record containing arrays goes into phase 2) and so res remained only 8-byte aligned. Fixed thusly, tested on x86_64-linux, committed to trunk as obvious. 2019-12-10 Jakub Je

[PATCH] Improve -fstack-protector-strong (PR middle-end/92825)

2019-12-10 Thread Jakub Jelinek
;= 8 byte (or whatever the ssp-buffer-size param is). Bootstrapped/regtested on x86_64-linux and i686-linux, in addition regtested (just check-gcc, check-c++-all and check-target-libstdc++-v3) with --target_board=unix/-fstack-protector-strong on both. Ok for trunk? 2019-12-10 Jakub Jelinek

[PATCH] Oprimize stack_protect_set_1_ followed by a move to the same register (PR target/92841)

2019-12-10 Thread Jakub Jelinek
2 testing 6344 times. Ok for trunk? 2019-12-10 Jakub Jelinek PR target/92841 * config/i386/i386.md (*stack_protect_set_2_, *stack_protect_set_3): New define_insns and corresponding define_peephole2s. * gcc.target/i386/pr92841.c: New test. --- gcc/co

Re: [PATCH] Oprimize stack_protect_set_1_ followed by a move to the same register (PR target/92841)

2019-12-10 Thread Jakub Jelinek
On Tue, Dec 10, 2019 at 11:02:39AM +0100, Andreas Schwab wrote: > On Dez 10 2019, Jakub Jelinek wrote: > > > --- gcc/testsuite/gcc.target/i386/pr92841.c.jj 2019-12-09 > > 19:38:29.572759215 +0100 > > +++ gcc/testsuite/gcc.target/i386/pr92841.c 2019-12-09 19:40

[PATCH] Fix propagate_vr_across_jump_function (PR ipa/92883)

2019-12-10 Thread Jakub Jelinek
f the spots do that correctly, but the second hunk fixes a spot that called it but ignored the newly computed value_range and used the non-converted one anyway. Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 2019-12-10 Jakub Jelinek PR ipa/92883 * ipa

[committed] Fix some comment typos

2019-12-10 Thread Jakub Jelinek
Hi! While working on the PR92883 patch I've noticed some typos, fixed thusly, bootstrapped/regtested on x86_64-linux and i686-linux, committed to trunk as obvious. 2019-12-10 Jakub Jelinek * ipa-param-manipulation.c (ipa_param_body_adjustments::register_replacement)

[PATCH] Fix ICE in regstat_bb_compute_calls_crossed (PR rtl-optimization/92882)

2019-12-10 Thread Jakub Jelinek
it really doesn't need DF_INSN_INFO_GET for anything, so I think it is best not to get it. Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 2019-12-10 Jakub Jelinek PR rtl-optimization/92882 * regstat.c (regstat_bb_compute_calls_crossed): Don't ch

[C++ PATCH] Fix -std=c++17 and earlier handling of CLASSTYPE_NON_AGGREGATE (PR c++/92869)

2019-12-10 Thread Jakub Jelinek
add !CLASSTYPE_NON_AGGREGATE check because type_has_user_provided_or_explicit_constructor -> user_provided_p ICEd on inherited ctors represented as USING_DECLs. Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 2019-12-10 Jakub Jelinek PR c++/92869 * class.c (finish_

[PATCH] Fix vect rotate pattern recog (PR target/92723)

2019-12-10 Thread Jakub Jelinek
al_def, and the patch just keeps using the type of the amount operand the rotate had for the shifts too. Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 2019-12-10 Jakub Jelinek PR target/92723 * tree-vect-patterns.c (vect_recog_rotate_pattern): If

[C++ PATCH] Improve C++ error recovery (PR c++/59655)

2019-12-10 Thread Jakub Jelinek
Or do you want to use an additional bit for that? 2019-12-10 Jakub Jelinek PR c++/59655 * pt.c (push_tinst_level_loc): If limit_bad_template_recursion, set TREE_NO_WARNING on tldcl. * decl2.c (no_linkage_error): Treat templates with TREE_NO_WARNING as defi

[PATCH] Fix ICE in compute_objsize (PR tree-optimization/92891)

2019-12-10 Thread Jakub Jelinek
19-12-10 Jakub Jelinek PR tree-optimization/92891 * builtins.c (gimple_call_alloc_size): Convert size to sizetype before returning it. * gcc.c-torture/compile/pr92891.c: New test. --- gcc/builtins.c.jj 2019-12-09 19:50:24.733953169 +0100 +++ gcc/builtins.c

Re: [PATCH] Fix unrecognizable insn of pr92865

2019-12-10 Thread Jakub Jelinek
On Wed, Dec 11, 2019 at 09:55:24AM +0800, Hongtao Liu wrote: > Changelog > gcc/ > PR target/92865 > * config/i386/i386-expand.c (ix86_valid_mask_cmp_mode): Enable > integer mask cmov when available even with TARGET_XOP. > > gcc/testsuite > * gcc/testsuite/gcc.target/i386/pr92865-1.

Re: [PATCH]Add tune option for integer mask cmov, enable this tune for m_CORE_AVX512

2019-12-11 Thread Jakub Jelinek
On Wed, Dec 11, 2019 at 06:18:31PM +0800, Hongtao Liu wrote: > Hi: > This patch is about to add tune option for integer mask cmov, for > some targets has both integer mask register and sse mask register, > this tune indicates to use integer one. Currently it's default on for > m_CORE_AVX512. > >

Re: [Patch, committed] libgomp – spelling fixes, incl. omp_lib.h.in

2019-12-11 Thread Jakub Jelinek
On Wed, Dec 11, 2019 at 12:48:10PM +0100, Tobias Burnus wrote: > --- libgomp/ChangeLog (revision 279217) > +++ libgomp/ChangeLog (revision 279218) > @@ -1,5 +1,25 @@ > 2019-12-11 Tobias Burnus > > + * omp_lib.h.in: Fix spelling of function declaration > + omp_get_cancell(l)ation. > -

Re: [PATCH] hash-table.h: support non-zero empty values in empty_slow

2019-12-11 Thread Jakub Jelinek
On Wed, Dec 11, 2019 at 10:44:58AM -0500, David Malcolm wrote: > Is it OK for a hash_map key to have a "empty" value that isn't > all-zeroes (and thus the same for a hash_table entry)? > > Is the following patch OK for trunk? I'd say that it is important to analyze the generated code for the comm

Re: [PATCH] Fix vect rotate pattern recog (PR target/92723)

2019-12-11 Thread Jakub Jelinek
tonight (though just on x86_64/i686): 2019-12-11 Jakub Jelinek PR target/92723 * tree-vect-patterns.c (vect_recog_rotate_pattern): If dt is not vect_internal_def, use oprnd1 as is, without trying to cast it. Formatting fix. * gcc.dg/vect/pr92

[PATCH] Fix simplify-rtx.c handling of avx512 vector comparisons (PR target/92908)

2019-12-11 Thread Jakub Jelinek
result it duplicates the 0 or -1 into all elements, etc., so this patch adds handling for this case there too. Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 2019-12-11 Jakub Jelinek PR target/92908 * simplify-rtx.c (simplify_relational_operation): For

[committed] Small -ftree-loop-distribute-patterns fixes

2019-12-11 Thread Jakub Jelinek
and updates invoke.texi to match that change. Bootstrapped/regtested on x86_64-linux and i686-linux, committed to trunk as obvious. 2019-12-11 Jakub Jelinek * opts.c (default_options_table): Move -ftree-loop-distribute-patterns entry from -O3 or later section to -O2 or later sect

[committed] Fix OpenMP fortran atomic swap with casts (PR fortran/92899)

2019-12-11 Thread Jakub Jelinek
i686-linux, committed to trunk, queued for 9/8 backports. 2019-12-11 Jakub Jelinek PR fortran/92899 * trans-openmp.c (gfc_trans_omp_atomic): For GFC_OMP_ATOMIC_SWAP, do look through conversion on expr2 if any. * testsuite/libgomp.fortran/atomic1.f90: New test

Re: [PATCH] Fix simplify-rtx.c handling of avx512 vector comparisons (PR target/92908)

2019-12-12 Thread Jakub Jelinek
On Thu, Dec 12, 2019 at 09:22:47AM +, Richard Sandiford wrote: > > So there's no whole vector equality RTX but we have to pun to integer > > modes for that? The eq:SImode would suggest that. Guess we should have > > used a BImode vector representation... Probably something like V2BImode/V4BI

Re: [PATCH] Fix simplify-rtx.c handling of avx512 vector comparisons (PR target/92908)

2019-12-12 Thread Jakub Jelinek
On Thu, Dec 12, 2019 at 04:59:40PM +0100, Richard Biener wrote: > >If it starts being ambiguous somewhere, could we use some target macro > >or > >target hook to decide? > > Ambiguous IL is bad :/ IL semantics dependent on a target hook, too. Just > look at SHIFT_COUNT_TRUNCATED... The compar

[PATCH] Fix x86_64 va_arg (ap, __int128) handling (PR target/92904)

2019-12-12 Thread Jakub Jelinek
ux and after a while release branches? 2019-12-12 Jakub Jelinek PR target/92904 * config/i386/i386.c (ix86_gimplify_va_arg): If need_intregs and not need_temp, decrease alignment of the read because the GPR save area only guarantees 8-byte alignment. * g

Re: [PATCH] Fix simplify-rtx.c handling of avx512 vector comparisons (PR target/92908)

2019-12-12 Thread Jakub Jelinek
OUNT_TRUNCATED... This is something I've also successfully bootstrapped/regtested on x86_64-linux and i686-linux: 2019-12-11 Jakub Jelinek PR target/92908 * simplify-rtx.c (simplify_relational_operation): Punt for vector cmp_mode and scalar mode, if simpli

Re: [PATCH 16/45] analyzer: new builtins

2019-12-13 Thread Jakub Jelinek
On Fri, Dec 13, 2019 at 01:11:05PM -0500, David Malcolm wrote: > gcc/ChangeLog: > * builtins.def (BUILT_IN_ANALYZER_BREAK): New builtin. > (BUILT_IN_ANALYZER_DUMP): New builtin. > (BUILT_IN_ANALYZER_DUMP_EXPLODED_NODES): New builtin. > (BUILT_IN_ANALYZER_DUMP_NUM_HEAP_REGION

[PATCH] Fix out of bounds array access in the preprocessor (PR preprocessor/92919)

2019-12-14 Thread Jakub Jelinek
he following patch fixes it by just checking for this condition and punting. I think it is undesirable to print further error. Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 2019-12-13 Jakub Jelinek PR preprocessor/92919 * charset.c (wide_str_t

[PATCH] Fix up handling of __builtin_apply in ipa-pure-const (PR tree-optimization/92930)

2019-12-14 Thread Jakub Jelinek
different spots and I think from the other one the arguments of the __builtin_apply call aren't available. 2019-12-14 Jakub Jelinek PR tree-optimization/92930 * ipa-pure-const.c (special_builtin_state): Don't handle BUILT_IN_APPLY. Formatting fixes. (

[PATCH] Fix ipa_fn_summary_write for offloading LTO streaming (PR ipa/92357)

2019-12-14 Thread Jakub Jelinek
k for trunk? Note, there is another issue unrelated to this that still needs fixing. 2019-12-14 Jakub Jelinek PR ipa/92357 * ipa-fnsummary.c (ipa_fn_summary_write): Use lto_symtab_encoder_iterator with lsei_start_function_in_partition and lsei_next_function_in

Re: [committed] avoid assuming array indices are zero-based (PR 92952)

2019-12-16 Thread Jakub Jelinek
On Mon, Dec 16, 2019 at 03:28:29PM -0700, Martin Sebor wrote: > PR middle-end/92952 - gfortran.dg/lto/pr87689 FAILs > > gcc/ChangeLog: > > PR middle-end/92952 > * builtins.c (compute_objsize): Adjust offset by the array low bound. > > Index: gcc/builtins.c > =

[PATCH] Some compute_objsize/gimple_call_alloc_size/maybe_warn_overflow cleanups (PR tree-optimization/92868)

2019-12-17 Thread Jakub Jelinek
size_type_node), but could be anything else that passes useless_type_conversion_p). Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 2019-12-17 Jakub Jelinek PR tree-optimization/92868 * builtins.c (gimple_call_alloc_size): If there is only one size argum

[PATCH] Some x86 AMD -march= docs fixes + formatting fixes (PR target/92962)

2019-12-17 Thread Jakub Jelinek
Jakub Jelinek PR target/92962 * common/config/i386/i386-common.c (processor_alias_table): Formatting fixes. * doc/invoke.texi (bdver3, bdver4, znver1): Add missing closing paren. (znver2): Likewise. Add RDPID and WBNOINVD, remove spurious comma

Patch ping (was Re: [PATCH] Oprimize stack_protect_set_1_ followed by a move to the same register (PR target/92841))

2019-12-17 Thread Jakub Jelinek
Hi! I'd like to ping this patch (with the sizeof (c) -> sizeof (c) / sizeof (c[0]) testsuite fix Andreas pointed out). Thanks! On Tue, Dec 10, 2019 at 10:57:35AM +0100, Jakub Jelinek wrote: > 2019-12-10 Jakub Jelinek > > PR target/92841 > *

Re: [PATCH] IPA-CP: Remove bogus static keyword (PR 92971)

2019-12-17 Thread Jakub Jelinek
On Tue, Dec 17, 2019 at 01:50:32PM +0100, Martin Jambor wrote: > Hi, > > as reported in PR 92971, IPA-CP's > cgraph_edge_brings_all_agg_vals_for_node defines one local variable with > the static keyword which is a clear mistake, probabley a cut'n'paste > error when I originally wrote the code. >

C++ Patch Ping (was Re: [C++ PATCH] Improve C++ error recovery (PR c++/59655))

2019-12-17 Thread Jakub Jelinek
Hi! On Tue, Dec 10, 2019 at 10:02:47PM +0100, Jakub Jelinek wrote: > Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? > Or do you want to use an additional bit for that? > > 2019-12-10 Jakub Jelinek > > PR c++/59655 > * pt.c (push

[PATCH] Avoid suspicious -Wduplicate-branches warning in lto-wrapper.c (PR lto/92972)

2019-12-17 Thread Jakub Jelinek
otstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 2019-12-17 Jakub Jelinek PR lto/92972 * lto-wrapper.c (merge_and_complain): Use just "-fno-pie" instead of big ? "-fno-pie" : "-fno-pie". Formatting fixes. Fix comment t

[C++ PATCH] Avoid weird inform without previos error during SFINAE (PR c++/92965)

2019-12-17 Thread Jakub Jelinek
x, ok for trunk? BTW, is the testcase valid in C++17 mode? GCC 7/8/9/trunk accept it, but clang++ rejects it. 2019-12-17 Jakub Jelinek PR c++/92965 * pt.c (invalid_nontype_parm_type_p): Call structural_type_p with explain=true only if emitting error. * g++

[C++ PATCH] Fix bad defaulted comparison operator error recovery (PR c++/92966)

2019-12-17 Thread Jakub Jelinek
ts in better error recovery. Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 2019-12-17 Jakub Jelinek PR c++/92966 * method.c (early_check_defaulted_comparison): Don't set DECL_MAYBE_DELETED when returning false. * g++.dg/cpp2a/space

[C++ PATCH] Disallow defaulted comparison operators in C++11-17 modes (PR c++/92973)

2019-12-17 Thread Jakub Jelinek
Hi! As discussed on IRC, defaulted comparison operators were added only in C++2a, so we shouldn't accept it in older standard modes. Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 2019-12-17 Jakub Jelinek PR c++/92973 * met

Re: [PATCH] Some compute_objsize/gimple_call_alloc_size/maybe_warn_overflow cleanups (PR tree-optimization/92868)

2019-12-18 Thread Jakub Jelinek
On Tue, Dec 17, 2019 at 09:53:43AM -0700, Martin Sebor wrote: > I appreciate a cleanup but I don't have the impression this patch > does clean anything up. Because of all the formatting changes and > no tests the effect of the changes isn't as clear as it should be. > (I wish you would resist the

Re: [LTO] PR 86416 – improve lto1 diagnostic if a mode does not exist (esp. for offloading targets)

2019-12-18 Thread Jakub Jelinek
On Fri, Dec 13, 2019 at 03:34:56PM +0100, Tobias Burnus wrote: > --- a/gcc/lto-streamer-in.c > +++ b/gcc/lto-streamer-in.c > @@ -1700,7 +1700,19 @@ lto_input_mode_table (struct lto_file_decl_data > *file_data) > } > /* FALLTHRU */ > default: > - fatal_

Re: [PATCH] analyzer: remove __analyzer builtins

2019-12-18 Thread Jakub Jelinek
On Wed, Dec 18, 2019 at 09:36:55AM -0500, David Malcolm wrote: > This patch eliminates the builtins in favor of a header file in the > DejaGnu testsuite. > > Jakub: do you prefer this approach? (eliminating the builtins in favor of > "magic" function names for use just using analyzer DejaGnu tests

Re: [LTO] PR 86416 – improve lto1 diagnostic if a mode does not exist (esp. for offloading targets)

2019-12-18 Thread Jakub Jelinek
On Wed, Dec 18, 2019 at 05:39:51PM +0100, Tobias Burnus wrote: > Hence, one can write a much cleaner patch which is about as long as the hack > but not hackish :-) > > Bootstrapped + regtested on x86-64-gnu-linux w/o offloading and with nvptx > offloading. > OK? LGTM. > 2019-12-18 Tobias Burnus

[PATCH] Partially fix libgomp/testsuite/libgomp.c/pr86416-*.c

2019-12-18 Thread Jakub Jelinek
ested on x86_64-linux and i686-linux, committed to trunk. 2019-12-18 Jakub Jelinek PR middle-end/86416 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than q or none. * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than L or

[committed] Avoid some Fortran FE opts in OpenMP atomics (PR fortran/92977)

2019-12-18 Thread Jakub Jelinek
, but the code isn't prepared to be able to do that and furthermore there is still risk of breaking the EXEC_OMP_ATOMIC expectations. Fixed thusly, bootstrapped/regtested on x86_64-linux and i686-linux, committed to trunk so far. 2019-12-19 Jakub Jelinek PR fortran/92977

[C++ PATCH] Don't ignore side-effects on decltype(nullptr) typed args passed to ... (PR c++/92992)

2019-12-18 Thread Jakub Jelinek
Hi! While looking at PR92666, I've spotted a wrong-code issue where we ignore any side-effects on arguments passed to ellipsis if they have decltype(nullptr) type. Fixed thusly, bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk and release branches? 2019-12-19 Jakub Je

[C++ PATCH] Fix -Wunused-but-set-* false positives in arg passing to ... (PR c++/92666)

2019-12-18 Thread Jakub Jelinek
lling decay_conversion, for floating point or decltype(nullptr) args there is nothing that would shut up -Wunused-but-set-* warning (and I guess equally also handle lambda captures). Fixed thusly, bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 2019-12-19 Jakub Jelinek PR c++/

[committed] Small tweak for the PR92977 patch

2019-12-19 Thread Jakub Jelinek
Hi! Bernhard mentioned on IRC that || would be better here, while it doesn't make a difference for the generated code, consistency is good and the compiler will turn it into | itself. Committed to trunk. 2019-12-19 Jakub Jelinek PR fortran/92977 * frontend-pas

Re: Patch ping (was Re: [PATCH] Oprimize stack_protect_set_1_ followed by a move to the same register (PR target/92841))

2019-12-19 Thread Jakub Jelinek
On Thu, Dec 19, 2019 at 04:01:31PM +0100, Jan Hubicka wrote: > I now get build failure of Firefox with LTO due to: > > movabsq $.LC12, %rax > > which is output by: > > (insn:TI 468 3 849 2 (parallel [ > > (set (mem/v/f/c:DI (plus:DI (r

Re: Patch ping (was Re: [PATCH] Oprimize stack_protect_set_1_ followed by a move to the same register (PR target/92841))

2019-12-19 Thread Jakub Jelinek
onight. 2019-12-19 Jakub Jelinek PR target/92841 * config/i386/i386.md (*stack_protect_set_3): For pic_32bit_operand always use lea{q}, no matter what value which_alternative has. * gcc.target/i386/pr92841-2.c: New test. --- gcc/config/i386/i386.md.jj

Re: [PATCH] Add --with-diagnostics-urls configuration option and GCC_URLS env var

2019-12-19 Thread Jakub Jelinek
On Thu, Dec 19, 2019 at 03:24:19PM -0500, David Malcolm wrote: > Currently -fdiagnostics-urls defaults to "auto" and this works > (e.g. for recent gnome-terminal, and is gracefully discarded by > konsole5), but there have been reports of incompatibilities of the > feature with various other termina

Re: Patch ping (was Re: [PATCH] Oprimize stack_protect_set_1_ followed by a move to the same register (PR target/92841))

2019-12-19 Thread Jakub Jelinek
On Thu, Dec 19, 2019 at 06:23:59PM +0100, Jakub Jelinek wrote: > On Thu, Dec 19, 2019 at 04:50:40PM +0100, Jan Hubicka wrote: > > Outputting the move as RIP relative movq would work. > > LC12 is string "s" and has nothing to do with stack protecting. > > This should

[PATCH] Optimize decl %eax; cmpl $-1, %eax; jne .Lxx into subl $1, %eax; jnc .Lxx using peephole2 (PR target/93002)

2019-12-19 Thread Jakub Jelinek
Hi! The following patch optimizes decl %eax; cmpl $-1, %eax; jne .Lxx; into shorter and even possible to be fused: subl $1, %eax; jnc .Lxx; Bootstrapped/regtested on x86_64-linux and i686-linux, during which this peephole2 triggered 7825 times, ok for trunk? 2019-12-19 Jakub Jelinek

Backports to 9.x

2019-12-20 Thread Jakub Jelinek
Hi! I've backported following 25 patches from trunk to 9.x, bootstrapped/regtested on x86_64-linux and i686-linux, committed to gcc-9-branch. Jakub 2019-12-20 Jakub Jelinek Backported from mainline 2019-11-21 Jakub Jelinek Jason Me

[C++ PATCH] Fix up parsing of T (__attribute__(()) fn) (int) in C++17 mode (PR c++/92438)

2019-12-20 Thread Jakub Jelinek
used to be considered as constructor and rejected for quite a while. Fixed thusly, bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 2019-12-20 Jakub Jelinek PR c++/92438 * parser.c (cp_parser_constructor_declarator_p): If open paren is followed by

[PATCH] Fix wrong-code x86 issue with avx512{f,vl} fma (PR target/93009)

2019-12-20 Thread Jakub Jelinek
0, %1, %3}" where for the second alternative, we'd just use %1 instead of %2, but what I think is actually cleaner is just use a single alternative and make the two multiplication operands commutative, which they really are. Bootstrapped/regtested on x86_64-linux and i686-linux, ok for

Re: *Ping* Introduce -finline-arg-packing

2019-12-20 Thread Jakub Jelinek
* trans-array.c (gfc_conv_array_parameter): Use - flag_inline_arg_packing instead of checking for optimize and - optimize_size. + * gfortran.dg/inline_pack_25.f90: New test. 2019-12-20 Tobias Burnus --- fortran/ChangeLog (revision 279686) +++ fortran/ChangeLog (revision 2796

Re: [C++ PATCH] Avoid weird inform without previos error during SFINAE (PR c++/92965)

2019-12-20 Thread Jakub Jelinek
On Fri, Dec 20, 2019 at 06:18:04PM -0500, Jason Merrill wrote: > > BTW, is the testcase valid in C++17 mode? GCC 7/8/9/trunk accept it, > > but clang++ rejects it. > > No, non-template parameters of class types are a C++20 feature. Trunk accepts it since r276248 aka PR91923 in -std=c++17 mode.

Re: [PATCH 1/1] libgomp: Add destructor to delete runtime env keys

2019-12-27 Thread Jakub Jelinek
On Tue, Dec 24, 2019 at 07:21:53PM +0530, Ayush Mittal wrote: > [BUG: 93065] libgomp: destructor missing to delete goacc_cleanup_key > libgomp constructor creates goacc_cleanup_key on dlopen but doesn't delete > key on dlclose. > dlopen and dlclose of libgomp.so exhausts pthread keys, which resul

Re: [ PATCH ] [ C++ ] [ libstdc++ ] P1208r6 Merge source_location

2019-12-27 Thread Jakub Jelinek
ding the patch so that others can pick up on what might need to > change about the __builtin_source_location implementation (CC: > Jonathan Wakely, Jakub Jelinek). > > 2019-12-27 JeanHeyd "ThePhD" Meneide > > * include/Makefile.in: add source_location

[committed] Unbreak build with nvptx offloading and --without-cuda-driver

2019-12-28 Thread Jakub Jelinek
x to nvptx-none offloading, committed to trunk. 2019-12-28 Jakub Jelinek PR bootstrap/93074 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare. (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2. --- libgomp/plugin/cuda/cuda.h.jj 2019-0

[PATCH] Allow {nearby,r}int{,f} vectorization on x86 with sse4.1 and later (PR target/93078)

2019-12-28 Thread Jakub Jelinek
{,v}rounds{s,d} for SF/DF mode. Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 2019-12-28 Jakub Jelinek PR target/93078 * config/i386/sse.md (nearbyint2, rint2): New expanders with VF iterator. * gcc.target/i386/sse4_1-pr93078.c: New test

Re: [PATCH] Allow {nearby,r}int{,f} vectorization on x86 with sse4.1 and later (PR target/93078)

2019-12-28 Thread Jakub Jelinek
On Sat, Dec 28, 2019 at 11:48:12AM +0100, Uros Bizjak wrote: > On Sat, Dec 28, 2019 at 10:33 AM Jakub Jelinek wrote: > > > > Hi! > > > > In i386.md, we have nearbyint2 and rint2 patterns that expand > > SF/DF/XF mode patterns to rounding instructions. For pre-sse

Re: [PATCH] Allow {nearby,r}int{,f} vectorization on x86 with sse4.1 and later (PR target/93078)

2019-12-29 Thread Jakub Jelinek
l try to do incrementally, while it will be less important than rint which didn't have the 512-bit cases implemented, it will still result in fewer decls that need to be created. > Your patch with stuff removed from ix86_builtin_vectorized_function is OK. Thanks, here is what I&

[PATCH] Fix vextract* masked patterns (PR target/93069)

2019-12-29 Thread Jakub Jelinek
e them, the patch is actually 16 lines longer sse.md, but still shorter tmp-mddump.md. Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk (and is the shorter patch ok for backports)? 2019-12-30 Jakub Jelinek PR target/93069 * config/i386/subst.md (s

Re: [C++ PATCH] PR c++/92745 - bogus error when initializing array of vectors.

2019-12-29 Thread Jakub Jelinek
i686}-linux, committed to trunk as obvious. The -w in there is for targets which don't use -Wno-psabi for their ABI warnings. 2019-12-30 Jakub Jelinek PR c++/92745 * g++.dg/cpp0x/initlist118.C: Add -Wno-psabi -w to dg-options. --- gcc/testsuite/g++.dg/cpp0x/initlist118.C.

[PATCH] popcount{64,32}c pattern matching fixes (PR tree-optimization/93098)

2019-12-31 Thread Jakub Jelinek
cause we expand the double word popcount using 2 word popcounts + addition. Shall the match.pd case handle that case too by allowing the optimization even if there is a type with half precision for which direct_internal_fn_supported_p? 2019-12-31 Jakub Jelinek PR tree-optimization/93098

[C++ PATCH] Fix up building of GCC 8 and earlier with GCC 9/10 (PR c/90677)

2019-12-31 Thread Jakub Jelinek
((__nonnull__ (m))) |^ ... ) and finally building GCC 8 with patched trunk, which succeeded. Ok for trunk/9.3? 2019-12-31 Jakub Jelinek PR c/90677 * cp-objcp-common.c (identifier_global_tag): Return NULL_TREE if name

Re: [PATCH] popcount{64,32}c pattern matching fixes (PR tree-optimization/93098)

2019-12-31 Thread Jakub Jelinek
On Tue, Dec 31, 2019 at 05:47:54PM +0100, Richard Biener wrote: > >Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? > > Ok. Thanks. > >One thing I haven't done anything about yet is that there is > >FAIL: gcc.dg/tree-ssa/popcount4ll.c scan-tree-dump-times optimized > >".POPC

[committed] Update copyright years

2020-01-01 Thread Jakub Jelinek
Hi! Happy New Year to everyone! 2020-01-01 Jakub Jelinek * gcc.c (process_command): Update copyright notice dates. * gcov-dump.c (print_version): Ditto. * gcov.c (print_version): Ditto. * gcov-tool.c (print_version): Ditto. * gengtype.c (create_file

[committed] Tweak update-copyright.py

2020-01-01 Thread Jakub Jelinek
Hi! I needed the following to successfully run update-copyright.py --this-year. Committed as obvious to trunk. 2020-01-01 Jakub Jelinek * update-copyright.py: Add Mentor Graphics Corporation and Yoshinori Sato as external authors. Skip LICENSE.txt files. --- contrib/update

[committed] contrib/update-copyright.py --this-year

2020-01-01 Thread Jakub Jelinek
Hi! S

[PATCH] Fix up -Wsuggest-attribute=cold (PR ipa/93087)

2020-01-01 Thread Jakub Jelinek
;, DECL_ATTRIBTES (current_function_decl)) == NULL_TREE) guarding condition for the other warn_function_cold call. 2020-01-01 Jakub Jelinek PR ipa/93087 * predict.c (compute_function_frequency): Don't call warn_function_cold on functions that already have cold attribut

Re: [C++ PATCH] PR c++/92745 - bogus error when initializing array of vectors.

2020-01-02 Thread Jakub Jelinek
On Thu, Jan 02, 2020 at 03:41:30PM +0100, Christophe Lyon wrote: > The new test fails on aarch64: > g++.dg/cpp0x/initlist118.C -std=c++14 (internal compiler error) > g++.dg/cpp0x/initlist118.C -std=c++14 (test for excess errors) > g++.dg/cpp0x/initlist118.C -std=c++17 (internal compi

Re: [C++ PATCH] Fix up building of GCC 8 and earlier with GCC 9/10 (PR c/90677)

2020-01-02 Thread Jakub Jelinek
On Thu, Jan 02, 2020 at 10:52:38AM -0500, Nathan Sidwell wrote: > On 12/31/19 6:05 AM, Jakub Jelinek wrote: > > My PR90677 fix actually made building older GCCs with newer ones worse. > > The problem is that identifier_global_value used earlier returned either the > > ty

Re: [ PATCH ] [ C++ ] [ libstdc++ ] P1208r6 Merge source_location

2020-01-02 Thread Jakub Jelinek
On Thu, Jan 02, 2020 at 04:57:01PM -0500, JeanHeyd Meneide wrote: > +#if defined(_GLIBCXX_HAVE_BUILTIN_SOURCE_LOCATION) > +# define __cpp_lib_source_location 201907L > +#elif defined(_GLIBCXX_HAVE_BUILTIN_LINE) && > defined(_GLIBCXX_HAVE_BUILTIN_COLUMN) > +# define __cpp_lib_is_constant_evaluated

Re: [Patch, committed, Fortran] PR68020 – Fix implied-shape handling for rank > 2

2020-01-02 Thread Jakub Jelinek
ble +UNRESOLVED: gfortran.dg/implied_shape_5.f90 -O3 -g compilation failed to produce executable +UNRESOLVED: gfortran.dg/implied_shape_5.f90 -Os compilation failed to produce executable Fixed thusly, tested on x86_64-linux, committed to trunk as obvious. 2020-01-03 Jakub Jelinek

[PATCH] Improve (x >> c) << c match.pd optimization (PR tree-optimization/93118)

2020-01-03 Thread Jakub Jelinek
for arithmetic shift or e.g. for ((unsigned long long)(int)(x >> 32))<<32 Still, the upper 32 bits don't really matter on the result and can be anything. Fixed thusly, bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 2019-01-03 Jakub Jelinek PR t

[PATCH] Fix x86 abs2 expander for ia32 (PR target/93110)

2020-01-03 Thread Jakub Jelinek
-mno-stv -mno-sse, -m32 -msse2 -mstv and -m64 modes, ok for trunk? 2020-01-03 Jakub Jelinek PR target/93110 * config/i386/i386.md (abs2): Use expand_simple_binop instead of emitting ASHIFTRT, XOR and MINUS by hand. Use gen_int_mode with QImode instead of gen_int

[PATCH] Allow prefer-vector-width= in target attribute (PR target/93089)

2020-01-03 Thread Jakub Jelinek
x, ok for trunk? 2020-01-03 Jakub Jelinek PR target/93089 * config/i386/i386.opt (x_prefer_vector_width_type): Remove TargetSave entry. (mprefer-vector-width=): Add Save. * config/i386/i386-options.c (ix86_target_string): Add PVW argument,

[PATCH] Override prefer-vector-width= in x86 simd clones (PR target/93089)

2020-01-03 Thread Jakub Jelinek
Hi! As mentioned in the previous mail, this is what I intend to commit if/when the prefer-vector-width= in target attribute patch makes it in. Bootstrapped/regtested on x86_64-linux and i686-linux. 2020-01-03 Jakub Jelinek PR target/93089 * config/i386/i386-options.c

[PATCH] Fix endless loop in find_single_def_src (PR rtl-optimization/93088)

2020-01-03 Thread Jakub Jelinek
most 128 copies (I don't think we need a param for that). Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 2020-01-03 Jakub Jelinek PR rtl-optimization/93088 * loop-iv.c (find_single_def_src): Punt after looking through 128 reg copies for

Re: [Patch, Fortran] OpenMP/OpenACC – fix more issues with OPTIONAL

2020-01-03 Thread Jakub Jelinek
On Tue, Dec 10, 2019 at 06:54:19PM +0100, Tobias Burnus wrote: > 2019-12-10 Tobias Burnus > > gcc/fortran/ > * trans-openmp.c (gfc_omp_check_optional_argument): Always return a > Boolean expression; handle unallocated/disassociated actual arguments > as absent if passed

[C++ PATCH] Avoid bogus errors due to -Wredundant-tags (PR c++/93138)

2020-01-03 Thread Jakub Jelinek
lookup for enums if the warning is disabled (by default), for struct/class/union we already don't perform it if both warnings are disabled. Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 2020-01-04 Jakub Jelinek PR c++/93138 * parser.c (cp_parser_

[C++ PATCH] Fix up cp-gimplify.c ICE (PR c++/93046)

2020-01-03 Thread Jakub Jelinek
on x86_64-linux and i686-linux, ok for trunk? 2010-01-04 Jakub Jelinek PR c++/93046 * cp-gimplify.c (cp_gimplify_init_expr): Don't look through TARGET_EXPR if it has been gimplified already. * g++.dg/ext/cond4.C: New test. --- gcc/cp/cp-gimplify.c.jj

[PATCH] Improve __builtin_add_overflow on x86 for double-word types (PR target/93141)

2020-01-03 Thread Jakub Jelinek
2020-01-04 Jakub Jelinek PR target/93141 * config/i386/i386.md (SWIDWI): New mode iterator. (DWI, dwi): Add TImode variants. (addv4): Use SWIDWI iterator instead of SWI. Use instead of . Use CONST_SCALAR_INT_P instead of CONST_INT_P.

Re: [PATCH] Improve __builtin_add_overflow on x86 for double-word types (PR target/93141)

2020-01-04 Thread Jakub Jelinek
On Sat, Jan 04, 2020 at 12:13:50PM +0100, Uros Bizjak wrote: > LGTM, but I wonder if *addcarry_1 gets overmacroized, the insn > condition is really hard to comprehend. Perhaps it should be written > as a separate pattern for SImode and DImode instead? > > +(define_insn "*addcarry_1" > > + [(set (

[C++ PATCH] Avoid caching constexpr calls that allocate something that they don't deallocate or vice versa (PR c++/91369)

2020-01-05 Thread Jakub Jelinek
otstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 2020-01-05 Jakub Jelinek PR c++/91369 * constexpr.c (struct constexpr_global_ctx): Add heap_alloc_count member, initialize it to zero in ctor. (cxx_eval_call_expression): Bump heap_dealloc_coun

[PATCH] Fix PowerPC -fstack-clash-protection -mprefixed-addr ICE (PR target/93122)

2020-01-06 Thread Jakub Jelinek
last insn Is that what you want to do instead? 2020-01-06 Jakub Jelinek PR target/93122 * config/rs6000/rs6000-logue.c (rs6000_emit_probe_stack_range_stack_clash): Only use gen_addr3_insn if add_cint_operand predicate matches. Use rs instead of doing GE

[committed] Fix UB in gfc_trans_omp_clauses (PR fortran/93162)

2020-01-06 Thread Jakub Jelinek
also allows it), that is no longer the case. Not really sure if the code doesn't need further changes (how will e.g. var%comp(:) be handled in the mapping clauses?), but this conditional is clearly wrong. Bootstrapped/regtested on x86_64-linux and i686-linux, committed to trunk. 2020-01-07 Jak

[PATCH] Small ccp optimization for x * x (PR tree-optimization/93156)

2020-01-06 Thread Jakub Jelinek
Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 2020-01-07 Jakub Jelinek PR tree-optimization/93156 * tree-ssa-ccp.c (bit_value_binop): For x * x note that the second least significant bit is always clear. * gcc.dg/tree-ssa/pr93156.c: New test.

Patch ping

2020-01-07 Thread Jakub Jelinek
Hi! I'd like to ping a few patches: PR target/93009 - avx512* wrong-code fix http://gcc.gnu.org/ml/gcc-patches/2019-12/msg01488.html PR target/93069 - avx512* rejects-valid fix (rejected by assembler) http://gcc.gnu.org/ml/gcc-patches/2019-12/msg01606.html PR tree-optimization/92868 - compu

[PATCH] Fix ia32 ICE while compiling glibc (PR target/93174)

2020-01-07 Thread Jakub Jelinek
o add, I don't see the point of doing in the predicates/constraints anything other than what add does. Fixed thusly, bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 2020-01-07 Jakub Jelinek PR target/93174 * config/i386/i386.md (addcar

[PATCH] Fix x86 ICE when peepholing2 @stack_protect_set_1_ with *lea (PR target/93187)

2020-01-08 Thread Jakub Jelinek
operand is general_operand. Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 2020-01-07 Jakub Jelinek PR target/93187 * config/i386/i386.md (*stack_protect_set_2_ peephole2, *stack_protect_set_3 peephole2): Also check that the second insns source

[PATCH] Improve __builtin_sub_overflow with signed double-word operands (PR target/93141)

2020-01-08 Thread Jakub Jelinek
ons somehow try harder to reuse the original instruction, or if usub4 should not use compare:CC of the operands and instead use some obfuscation to only set CCCmode to prevent ifcvt from punting on it. Anyway, this part works, bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 20

Re: [committed] Fix UB in gfc_trans_omp_clauses (PR fortran/93162)

2020-01-08 Thread Jakub Jelinek
On Wed, Jan 08, 2020 at 09:14:10AM +0100, Tobias Burnus wrote: > Especially in light of the OpenMP 4.5's structure element mapping (for C/C++ > since GCC 7, for Fortran still unsupported), I had preferred some > consolidation like taking the last reference in that check instead of just > checking t

Re: [PATCH] avoid warning on vectorized past-the-end stores (PR 93200)

2020-01-09 Thread Jakub Jelinek
On Wed, Jan 08, 2020 at 09:24:48PM -0700, Jeff Law wrote: > On Wed, 2020-01-08 at 17:23 +, Martin Sebor wrote: > > A recent improvement to the vectorizer (r278334 if my bisection > > is right) can transform multiple stores to adjacent struct members > > into single vectorized assignments that w

[committed] Don't ICE on invalid h modifier use in inline-asm (PR inline-asm/93202)

2020-01-09 Thread Jakub Jelinek
in the PR, committed to trunk. 2020-01-09 Jakub Jelinek PR inline-asm/93202 * config/riscv/riscv.c (riscv_print_operand_reloc): Use output_operand_lossage instead of gcc_unreachable. * doc/md.texi (riscv f constraint): Fix typo. * gcc.target/riscv

Re: [PATCH PR92926]Fix wrong code caused by ctor node translation unit wide sharing

2020-01-09 Thread Jakub Jelinek
On Thu, Jan 09, 2020 at 02:20:23PM +0800, Bin.Cheng wrote: > > On December 20, 2019 2:13:47 AM GMT+01:00, "Bin.Cheng" > > wrote: > > >On Fri, Dec 13, 2019 at 11:26 AM bin.cheng > > > wrote: > > >> > > >> Hi, > > >> > > >> As reported in PR92926, constant ctor is shared translation unit wide > > >

<    1   2   3   4   5   6   7   8   9   10   >