Re: [C++ Patch] PR 90909 ("[10 Regression] call devirtualized to pure virtual")

2019-06-27 Thread Jason Merrill
On 6/24/19 4:52 AM, Paolo Carlini wrote: Hi, On 23/06/19 19:45, Jason Merrill wrote: On 6/23/19 7:53 AM, Paolo Carlini wrote: ... hi again ;) The other day I was having a look at using declarations for this issue and noticed that only a few lines below the de-virtualization check we have to

Re: [PATCH] don't trim empty string initializers for pointers (PR 90947)

2019-06-27 Thread Jason Merrill
On 6/23/19 5:51 PM, Martin Sebor wrote: On 6/22/19 9:37 PM, Jason Merrill wrote: On 6/21/19 8:05 PM, Martin Sebor wrote: The solution we implemented in GCC 9 to get the mangling of non-type template arguments of class types containing array members consistent regardless of the form of their ini

[committed] Fix ICE in scan_operand_equal_p (PR tree-optimization/91010)

2019-06-27 Thread Jakub Jelinek
Hi! As the testcase shows, offset{1,2} can be NULL and operand_equal_p doesn't like NULL arguments. If both are NULL, we should return true, if just one, we should return false. Bootstrapped/regtested on x86_64-linux and i686-linux, committed to trunk. 2019-06-27 Jakub Jelinek PR tr

[committed] Fix -Wimplicit-fallthrough with [[{,un}likely]] attributes on labels (PR c++/91024)

2019-06-27 Thread Jakub Jelinek
Hi! The likely/unlikely C++11 attributes on case labels result in GIMPLE_PREDICT statements inserted after the label; we should just ignore such statements, they aren't something executable in between the labels. Bootstrapped/regtested on x86_64-linux and i686-linux, committed to trunk, queued fo

Re: [PATCH] constrain one character optimization to one character stores (PR 90989)

2019-06-27 Thread Jeff Law
On 6/27/19 12:40 PM, Richard Biener wrote: > On June 27, 2019 7:04:32 PM GMT+02:00, Jakub Jelinek wrote: >> On Thu, Jun 27, 2019 at 10:58:25AM -0600, Martin Sebor wrote: >>> The LHS is unsigned short so handle_char_store would not be called >>> because of the check in the caller. You would need s

Re: [PATCH 1/3] C++20 constexpr lib part 1/3

2019-06-27 Thread Ed Smith-Rowland via gcc-patches
On 6/27/19 1:06 PM, Ville Voutilainen wrote: On Thu, 27 Jun 2019 at 19:55, Ed Smith-Rowland via libstdc++ wrote: I don't think this will work in a constant expression: ?? /// Assign @p __new_val to @p __obj and return its previous value. ?? template +?? _GLIBCXX20_CONSTEXPR ?? inline

Re: [PATCH 1/3] C++20 constexpr lib part 1/3

2019-06-27 Thread Jonathan Wakely
On 27/06/19 19:07 -0400, Ed Smith-Rowland wrote: On 6/27/19 1:06 PM, Ville Voutilainen wrote: On Thu, 27 Jun 2019 at 19:55, Ed Smith-Rowland via libstdc++ wrote: I don't think this will work in a constant expression: ?? /// Assign @p __new_val to @p __obj and return its previous value. ?? tem

Re: [PATCH] Add --disable-tm-clone-registry libgcc configure option.

2019-06-27 Thread Jim Wilson
On Thu, Jun 20, 2019 at 12:50 PM Jim Wilson wrote: > This looks OK to me. It is worth pointing out that ARM already ships > compilers built this way, but they didn't bother adding a configure > option. They just override Makefile variables in their build scripts. > I think this is much cleaner a

Add support for PowerPC prefixed memory instructions and pc-relative support (Intro)

2019-06-27 Thread Michael Meissner
To keep things organized, I'm going to start submitting the patches for for a possible future PowerPC machine's prefixed addressing (including pc-relative suport) as threads under this message. There are two patches that I've already submitted that are needed for the rest of the patches: Patch #1

[PATCH] PowerPC Prefixed Memory, Patch #3, Update predicates

2019-06-27 Thread Michael Meissner
This patch updates the predicates for prefixed addressing. This patch deletes a predicate that I had originally added, but the code no longer uses. This patch changes how local symbols for pc-relative addressing are marked. Previously, we had used a machine dependent bit in the SYMBOL_REF node.

Re: [PATCH] constrain one character optimization to one character stores (PR 90989)

2019-06-27 Thread Jeff Law
On 6/27/19 10:12 AM, Jakub Jelinek wrote: > On Thu, Jun 27, 2019 at 09:15:41AM -0600, Jeff Law wrote: >> Actually it was trivial to create with store merging. >> >> char x[20]; >> foo() >> { >> x[0] = 0x41; >> x[1] = 0x42; >> } >> >> MEM [(char *)&x] = 16961; >> >> So clearly we can get this

Re: [PATCH] Enable GCC support for AVX512_VP2INTERSECT.

2019-06-27 Thread Hongtao Liu
On Thu, Jun 27, 2019 at 5:38 PM Rainer Orth wrote: > > Hi Hongtao, > > > On Thu, Jun 27, 2019 at 5:02 PM Rainer Orth > > wrote: > >> > >> Hi Hongtao, > >> > >> >> as usual, the new effective-target keyword needs documenting in > >> >> sourcebuild.texi. > >> > Like this? > >> > >> a couple of ni

Re: introduce EH_ELSE tree and gimplifier

2019-06-27 Thread Alexandre Oliva
On Jun 27, 2019, Richard Biener wrote: > On Thu, Jun 27, 2019 at 10:18 AM Alexandre Oliva wrote: >> @@ -909,6 +909,13 @@ DEFTREECODE (TRY_CATCH_EXPR, "try_catch_expr", >> tcc_statement, 2) >> The second operand is a cleanup expression which is evaluated >> on any exit (normal, exception, or ju

[PATCH] Builtin function roundeven folding implementation

2019-06-27 Thread Tejas Joshi
Hi. This patch includes implementation of new function roundeven along with two utility functions. The patch bootstraps on x86_64-linux-gnu and passes regression tests. Thanks, Tejas gcc/ChangeLog: 2019-06-12 Tejas Joshi * builtins.c (mathfn_built_in_2): Added CASE_MATHFN for ROUNDEVEN.

Re: [PATCH][middle-end/88784] Middle end is missing some optimizations about unsigned

2019-06-27 Thread Li Jia He
On 2019/6/27 11:48 PM, Jeff Law wrote: On 6/27/19 12:11 AM, Li Jia He wrote: Hi, According to the optimizable case described by Qi Feng on issue 88784, we can combine the cases into the following: 1. x > y && x != XXX_MIN --> x > y 2. x > y && x == XXX_MIN --> false 3. x <= y &

<    1   2