Re: Fix use after free in vector_size change

2019-10-22 Thread Richard Biener
On Tue, Oct 22, 2019 at 9:25 AM Richard Sandiford wrote: > > I noticed yesterday that r277235 was a bit too mechanical and ended up > introducing use after free bugs in both loop and SLP vectorisation. > Sorry for the stupid mistake. :-( > > Moving "next_size += 1" down isn't part of the fix, but

Re: [PATCH] Prevent LTO section collision for a symbol name starting with '*'.

2019-10-22 Thread Martin Liška
@Honza: PING^1 On 9/18/19 12:14 PM, Martin Liška wrote: > On 9/11/19 1:38 PM, Martin Liška wrote: >> The inline_clone manipulation happens in cgraph_node::find_replacement where >> we manipulate the clone_of. > > I fixed that but there's a similar situation which goes other way around: > >

Re: [PATCH] Improve debug info in ivopts optimized loops (PR debug/90231)

2019-10-22 Thread Jakub Jelinek
On Mon, Oct 21, 2019 at 01:24:30PM +0200, Jakub Jelinek wrote: > So I wonder if for correctness I don't need to add: > > if (!use->iv->no_overflow > && !cand->iv->no_overflow > && !integer_pow2p (cstep)) > return NULL_TREE; > > with some of the above as comment explaining why.

[PATCH] [ARC] Fix movsi_ne pattern.

2019-10-22 Thread Claudiu Zissulescu
From: Shahab Vahedi Hi Andrew, The movsi_ne variants are in a wrong order, leading to wrong computation of the internal attribute "cond". Hence, to errors when outputting annul-true or annul-false instructions. Testcase added. The patch needs to go for trunk and gcc9 branch. OK to apply?

Re: [PATCH V3] Loop split upon semi-invariant condition (PR tree-optimization/89134)

2019-10-22 Thread Feng Xue OS
Hi, Michael, Since gcc 10 release is coming, that will be good if we can add this patch before that. Thanks Feng. From: Michael Matz Sent: Wednesday, October 16, 2019 12:01 AM To: Philipp Tomsich Cc: Feng Xue OS; Richard Biener;

[PATCH 3/3] [ARC] Don't split ior/mov predicated insns.

2019-10-22 Thread Claudiu Zissulescu
Do not split immediate constants for predicated instructions. gcc/ -xx-xx Claudiu Zissulescu * config/arc/arc.c (arc_split_ior): Add asserts. (arc_split_mov_const): Likewise. (arc_check_ior_const): Do not match known short immediate values. *

[PATCH 2/3] [ARC] Update mea option documentation

2019-10-22 Thread Claudiu Zissulescu
Update -mea option documentation. gcc/ -xx-xx Claudiu Zissulescu * config/arc/arc.opt (mea): Update help string. * doc/invoke.texi(ARC): Update mea option info. --- gcc/config/arc/arc.opt | 2 +- gcc/doc/invoke.texi| 2 +- 2 files changed, 2 insertions(+), 2

Re: [PATCH V3] Loop split upon semi-invariant condition (PR tree-optimization/89134)

2019-10-22 Thread Michael Matz
Hello, I've only noticed a couple typos, and one minor remark. From my perspective it's okay, but you still need the okay of a proper reviewer, for which you might want to state the testing/regression state of this patch relative to trunk. The remarks follow: On Tue, 22 Oct 2019, Feng Xue

[PATCH] Fix PR92173

2019-10-22 Thread Richard Biener
The following fixes an ICE when vectorizable_reduction asks for the optab for a shift but passes optab_default. Simply pass optab_vector since that's what it code-generates later. As optimization if its own code-generator fails try the regular one. Bootstrapped and tested on

Fix use after free in vector_size change

2019-10-22 Thread Richard Sandiford
I noticed yesterday that r277235 was a bit too mechanical and ended up introducing use after free bugs in both loop and SLP vectorisation. Sorry for the stupid mistake. :-( Moving "next_size += 1" down isn't part of the fix, but it seemed odd to keep it where it was after moving the "next_size ==

Re: [PATCH] Fix incorrect merge of conflictant names in `dump_graphviz`

2019-10-22 Thread Richard Biener
On Tue, Oct 22, 2019 at 1:00 AM Giuliano Belinassi wrote: > > Hi, > > When using lto-dump -callgraph with two or more .o files containing distinct > functions with the same name, dump_graphviz incorrectly merged those functions > into a single node. This patch fixes this issue by calling

Re: [PATCH][GCC][Arm][libsanitizer] Fix arm libsanitizer bootstrap failure

2019-10-22 Thread Jakub Jelinek
On Tue, Oct 22, 2019 at 10:00:39AM +, Tamar Christina wrote: > Glibc has recently introduced changed to the mode field in ipc_perm > in commit 2f959dfe849e0646e27403f2e4091536496ac0f0. For Arm this > means that the mode field no longer has the same size. > > This causes an assert failure

[wwwdocs] projects/gupc.html - adjust upc.gwu.edu references

2019-10-22 Thread Gerald Pfeifer
The most current version still using GCC 5 is an indication we may want/need to remove this at one point. For now I opted to keep it. Committed. Gerald commit 1d67809c07a5e60220f2d2e03a4ff2de33302721 Author: Gerald Pfeifer Date: Tue Oct 22 08:38:17 2019 +0200 Replace (or remove)

[PATCH][GCC][Arm][libsanitizer] Fix arm libsanitizer bootstrap failure

2019-10-22 Thread Tamar Christina
Hi All, Glibc has recently introduced changed to the mode field in ipc_perm in commit 2f959dfe849e0646e27403f2e4091536496ac0f0. For Arm this means that the mode field no longer has the same size. This causes an assert failure against libsanitizer's internal copy of ipc_perm. Since this change

Re: [SVE] PR91272

2019-10-22 Thread Richard Sandiford
Prathamesh Kulkarni writes: > diff --git a/gcc/tree-vect-stmts.c b/gcc/tree-vect-stmts.c > index acdd90784dc..dfd33b142ed 100644 > --- a/gcc/tree-vect-stmts.c > +++ b/gcc/tree-vect-stmts.c > @@ -10016,25 +10016,26 @@ vectorizable_condition (stmt_vec_info stmt_info, > gimple_stmt_iterator *gsi, >

[PATCH 0/3][ARC] Bug fixes, cleanups and doc update.

2019-10-22 Thread Claudiu Zissulescu
Hi Andrew, Please find a set of three patches for trunk as fallows: [ARC] Cleanup sign/zero extend patterns This is just insn patterns cleanup. [ARC] Update mea option documentation Update -mea option documentation. [ARC] Don't split ior/mov predicated insns. Found

[PATCH 1/3] [ARC] Cleanup sign/zero extend patterns

2019-10-22 Thread Claudiu Zissulescu
Cleanup sign/zero extend patterns (corrects the asm output string and constraint letters). gcc/ -xx-xx Claudiu Zissulescu * config/arc/arc.md (zero_extendqihi2_i): Cleanup pattern. (zero_extendqisi2_ac): Likewise. (zero_extendhisi2_i): Likewise.

Update aarch64 baseline symbols

2019-10-22 Thread Andreas Schwab
Installed as obvious. * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. diff --git a/libstdc++-v3/config/abi/post/aarch64-linux-gnu/baseline_symbols.txt b/libstdc++-v3/config/abi/post/aarch64-linux-gnu/baseline_symbols.txt index 53c87f115e0..99fd027827c 100644 ---

Re: [C++ PATCH] Implement P1073R3: Immediate functions (PR c++/88335)

2019-10-22 Thread Jakub Jelinek
On Mon, Oct 21, 2019 at 04:44:22PM -0400, Jason Merrill wrote: > Perhaps we should bypass the existing virtual function call mechanism for > consteval, and instead find the complete object directly and call > non-virtually. Maybe, but can that be done incrementally? > > The finish_function was

Re: gcc-wwwdocs branch master updated. cdc7bf90357701877546f8bac160d0fb9e20b334

2019-10-22 Thread Andreas Schwab
On Okt 21 2019, Joseph Myers wrote: > I've seen some versions of plain "git push" in the past warn about changed > defaults for what it pushes, so being explicit avoids confusing people > with that warning. Though it seems that warning was removed from git in > 2016, so maybe avoiding it is

[PATCH] [ARC] Fix legitimize pic address.

2019-10-22 Thread Claudiu Zissulescu
Hi Andrew, There are cases when an pic address gets complicated, and it needs to be resolved via force_reg function found in prepare_move_operands. When this happens, we need to disambiguate the pic address and re-legitimize it. Testcase added as well. The patch needs to be applied to trunk and

Fix PR90796

2019-10-22 Thread Michael Matz
Hi, this was still collecting dust on my disk, so here it is. See the extensive comment in the patch for what happens, in short invariant IVs are affine but still have to be handled more conservative than other affine IVs in transformations that reorder instructions. Making our dependence

Re: [PATCH v5] Missed function specialization + partial devirtualization

2019-10-22 Thread Martin Liška
On 9/27/19 9:13 AM, luoxhu wrote: > Thanks for your time of so many round of reviews. You're welcome. One last request would be please to make gimple_ic_transform a void function. See attached patch. I'll remind the patch today to Honza. Thanks, Martin diff --git a/gcc/value-prof.c

Re: [C++ PATCH] Drop ECF_LEAF from __cxa_guard_{acquire,release} (PR tree-optimization/85887)

2019-10-22 Thread Jason Merrill
OK. On Tue, Oct 22, 2019 at 9:04 AM Jakub Jelinek wrote: > > Hi! > > As noticed by Richi, > FAIL: g++.dg/guality/pr55665.C -O2 line 23 p == 40 > FAIL: g++.dg/guality/pr55665.C -O2 line 23 p == 40 > FAIL: g++.dg/guality/pr55665.C -O3 -g line 23 p == 40 > FAIL: g++.dg/guality/pr55665.C

[PATCH] Do not ICE in IPA inliner.

2019-10-22 Thread Martin Liška
Hi. We should not call to_gcov_type on a count that is uninitialized. That's the case for a THUNK cgraph_node that we inline. Patch can bootstrap on x86_64-linux-gnu and survives regression tests. Ready to be installed? Thanks, Martin gcc/ChangeLog: 2019-10-22 Martin Liska PR

GCC 10.0 Status Report (2019-10-22), Stage 1 to end Nov 16th

2019-10-22 Thread Richard Biener
Status == GCC trunk is open for general development, stage 1. Stage 1 tentatively ends at the end of Saturday, Nov. 16th, after which we enter general bugfixing, Stage 3 which is expected to last two months, closing with finalizing the transition to git. Please make sure to get features

[arm] Match subtraction from carry_operation

2019-10-22 Thread Richard Earnshaw (lists)
On Arm we have both carry and borrow operations, but borrow is essentially '~carry'. Of course, with boolean logic ~carry is also 1-carry. GCC transforms (1 - X - LTU (cc, 0)) into (GEU (cc, 0) - X) Now the former matches a real insn in Arm state, using the RSC

Re: [C++ PATCH] Implement P1073R3: Immediate functions (PR c++/88335)

2019-10-22 Thread Jason Merrill
On Tue, Oct 22, 2019 at 3:15 AM Jakub Jelinek wrote: > > On Mon, Oct 21, 2019 at 04:44:22PM -0400, Jason Merrill wrote: > > Perhaps we should bypass the existing virtual function call mechanism for > > consteval, and instead find the complete object directly and call > > non-virtually. > > Maybe,

Re: Fix PR90796

2019-10-22 Thread Richard Biener
On Tue, Oct 22, 2019 at 11:36 AM Michael Matz wrote: > > Hi, > > this was still collecting dust on my disk, so here it is. See the > extensive comment in the patch for what happens, in short invariant IVs > are affine but still have to be handled more conservative than other > affine IVs in

Re: [C++ PATCH] Implement P1073R3: Immediate functions (PR c++/88335)

2019-10-22 Thread Jakub Jelinek
On Tue, Oct 22, 2019 at 09:52:44AM -0400, Jason Merrill wrote: > Sounds good. > > > (the latter perhaps just if !processing_template_decl)? > > I'd think we would want to be consistent with other immediate > invocations in template context. The other ones just call it regardless of

[C++ PATCH] Drop ECF_LEAF from __cxa_guard_{acquire,release} (PR tree-optimization/85887)

2019-10-22 Thread Jakub Jelinek
Hi! As noticed by Richi, FAIL: g++.dg/guality/pr55665.C -O2 line 23 p == 40 FAIL: g++.dg/guality/pr55665.C -O2 line 23 p == 40 FAIL: g++.dg/guality/pr55665.C -O3 -g line 23 p == 40 FAIL: g++.dg/guality/pr55665.C -O3 -g line 23 p == 40 aren't a mere wrong-debug, but actually wrong-code

Re: [PATCH 1/2][vect]PR 88915: Vectorize epilogues when versioning loops

2019-10-22 Thread Richard Biener
On Tue, 22 Oct 2019, Andre Vieira (lists) wrote: > Hi Richi, > > See inline responses to your comments. > > On 11/10/2019 13:57, Richard Biener wrote: > > On Thu, 10 Oct 2019, Andre Vieira (lists) wrote: > > > >> Hi, > >> > > > > > + > > + /* Keep track of vector sizes we know we can

Re: [C++ PATCH] Implement P1073R3: Immediate functions (PR c++/88335)

2019-10-22 Thread Jason Merrill
On Mon, Oct 21, 2019 at 1:59 PM Jason Merrill wrote: > On 10/15/19 1:04 PM, Jakub Jelinek wrote: > > Unlike the previous implementation, this doesn't invoke consteval function > > already during parsing, but later on, so there aren't issues with say > > consteval constructors or consteval in

Re: [PATCH 1/2][vect]PR 88915: Vectorize epilogues when versioning loops

2019-10-22 Thread Andre Vieira (lists)
Hi Richi, See inline responses to your comments. On 11/10/2019 13:57, Richard Biener wrote: On Thu, 10 Oct 2019, Andre Vieira (lists) wrote: Hi, + + /* Keep track of vector sizes we know we can vectorize the epilogue with. */ + vector_sizes epilogue_vsizes; }; please don't enlarge

[PATCH] Fix PR92166

2019-10-22 Thread Richard Biener
The following patch fixes an ICE when vectorizing shifts with the simplified SLP operand code by adjusting the type of the shift argument in vectorizable_shift. I took the liberty to enable more SLP shift vectorization for originally not "scalar" (same) but constant shift amounts as we do as

[arm] make arm_carry_operation and arm_borrow_operation duals

2019-10-22 Thread Richard Earnshaw (lists)
Arm_carry_operation and arm_borrow_operation are duals: given that we have a comparison that returns a result that relies solely in the carry flag one is the inverse of the other. So there's no reason for one to have a CC mode that the other does not have. This patch restores that

Re: [PATCH 11/29] [arm] Reduce cost of insns that are simple reg-reg moves.

2019-10-22 Thread Richard Earnshaw (lists)
On 21/10/2019 16:46, Richard Earnshaw (lists) wrote: On 19/10/2019 17:17, Segher Boessenkool wrote: Yes, but combine should have removed the move in a 2->1 combination already, if it is beneficial: both 18->7 and 7->22 should have combined just fine.  This also points to a potential target

[PATCH] Remove redundant std::allocator members for C++20

2019-10-22 Thread Jonathan Wakely
C++20 removes a number of std::allocator members that have correct defaults provided by std::allocator_traits, so aren't needed. Several extensions including __gnu_cxx::hash_map and tr1 containers are no longer usable with std::allocator in C++20 mode. They need to be updated to use

[PATCH] Restore use of tr1::unordered_map in testsuite

2019-10-22 Thread Jonathan Wakely
My recent change to this file broke running the testsuite with -std=c++98 because std::unordered_map isn't available. This fixes it. * testsuite/util/testsuite_abi.h: Restore use of tr1/unordered_map when compiled as C++98. Tested x86_64-linux, committed to trunk. commit

[PATCH] Do not declare std::uses_allocator before C++11

2019-10-22 Thread Jonathan Wakely
* include/bits/memoryfwd.h (uses_allocator): Do not declare for C++98. * testsuite/17_intro/names.cc: Check uses_allocator in C++98. Tested powerpc64le-linux, committed to trunk. This should be backported too, as it should never have been declared for C++98. commit

Re: {PATCH v3, rs6000] Replace X-form addressing with D-form addressing in new pass for Power9

2019-10-22 Thread Kelvin Nilsen
On 10/17/19 5:57 PM, Segher Boessenkool wrote: > Hi Kelvin, > > On Wed, Oct 09, 2019 at 03:28:45PM -0500, Kelvin Nilsen wrote: >> This new pass scans existing rtl expressions and replaces them with rtl >> expressions that favor selection of the D-form instructions in contexts for >> which

Re: [PATCH] Fix constexpr-dtor3.C FAIL on arm

2019-10-22 Thread Jason Merrill
On Thu, Oct 17, 2019 at 6:22 PM Jakub Jelinek wrote: > > On Wed, Oct 16, 2019 at 04:36:07PM -0400, Jason Merrill wrote: > > > As for CLEANUP_STMT, I've tried it (the second patch), but it didn't > > > change > > > anything, the diagnostics was still > > > constexpr-dtor3.C:16:23: in

Re: Fix PR90796

2019-10-22 Thread Rainer Orth
Hi Michael, > this was still collecting dust on my disk, so here it is. See the > extensive comment in the patch for what happens, in short invariant IVs > are affine but still have to be handled more conservative than other > affine IVs in transformations that reorder instructions. Making

Ping*2: Add a simulate_enum_decl langhook

2019-10-22 Thread Richard Sandiford
Ping*2 Richard Sandiford writes: > Ping > > To give a bit more rationale: some of the functions handled by > https://gcc.gnu.org/ml/gcc-patches/2019-10/msg01002.html operate > on structs and enums. There are already langhooks for creating the > necessary struct types, but there's no direct way

Re: [PATCH] Remove redundant std::allocator members for C++20

2019-10-22 Thread Jonathan Wakely
On 22/10/19 22:40 +0100, Jonathan Wakely wrote: C++20 removes a number of std::allocator members that have correct defaults provided by std::allocator_traits, so aren't needed. Several extensions including __gnu_cxx::hash_map and tr1 containers are no longer usable with std::allocator in C++20

[Committed] PR fortran/92174

2019-10-22 Thread Steve Kargl
Committed as not so-obvious as I don't use UBSAN when fixing bugs. The patch pushes the F2018:C822 check down a layer to prevent a segfault when UBSAN is used. 2019-10-22 Steven G. Kargl PR fortran/92174 * decl.c (attr_decl1): Move check for F2018:C822 from here ... * array.c

Re: [C++ PATCH] Implement P1073R3: Immediate functions (PR c++/88335)

2019-10-22 Thread Jason Merrill
On Tue, Oct 22, 2019 at 10:41 AM Jakub Jelinek wrote: > > On Tue, Oct 22, 2019 at 09:55:06AM -0400, Jason Merrill wrote: > > On Mon, Oct 21, 2019 at 1:59 PM Jason Merrill wrote: > > > On 10/15/19 1:04 PM, Jakub Jelinek wrote: > > > > > > Unlike the previous implementation, this doesn't invoke

[PATCH, arm] Backport -- Fix multilibs for Armv7-R

2019-10-22 Thread Mihail Ionescu
Hi, This is a backport from trunk for GCC9. SVN revision: r277156. Built and tested on arm-none-eabi (comparted -march=armv7e-m+fp/-mfloat-abi=hard to -march=armv7-r+fp.sp/-mfloat-abi=hard). gcc/ChangeLog: 2019-10-21 Mihail Ionescu Backport from mainline 2019-10-18

Re: [PATCH][PR91979] Incorrect mangling for non-template-argument nullptr expression

2019-10-22 Thread kamlesh kumar
attached patch file. On Tue, Oct 22, 2019 at 10:00 PM kamlesh kumar wrote: > > bootstrap and regtested on x86_64. > > Changelog: > gcc > -- > 2019-10-22 Kamlesh Kumar > > PR c++/91979 - mangling nullptr expression > * mangle.c (write_template_arg_literal): Handle nullptr

Re: [PATCH, arm] Backport -- Fix multilibs for Armv7-R

2019-10-22 Thread Mihail Ionescu
Hi, I previously did not properly attach the diff. Regards, Mihail On 10/22/2019 05:06 PM, Mihail Ionescu wrote: Hi, This is a backport from trunk for GCC9. SVN revision: r277156. Built and tested on arm-none-eabi (comparted -march=armv7e-m+fp/-mfloat-abi=hard to

[PATCH][PR91979] Incorrect mangling for non-template-argument nullptr expression

2019-10-22 Thread kamlesh kumar
bootstrap and regtested on x86_64. Changelog: gcc -- 2019-10-22 Kamlesh Kumar PR c++/91979 - mangling nullptr expression * mangle.c (write_template_arg_literal): Handle nullptr mangling. * testsuite/g++.dg/cpp0x/nullptr27.C: Modify Test. *

Re: [PATCH][PR91979] Incorrect mangling for non-template-argument nullptr expression

2019-10-22 Thread Marek Polacek
On Tue, Oct 22, 2019 at 10:00:19PM +0530, kamlesh kumar wrote: > diff --git a/gcc/cp/mangle.c b/gcc/cp/mangle.c > index a9333b8..780da9f 100644 > --- a/gcc/cp/mangle.c > +++ b/gcc/cp/mangle.c > @@ -3400,7 +3400,8 @@ write_template_arg_literal (const tree value) >case INTEGER_CST: >

Re: [C++ PATCH] Implement P1073R3: Immediate functions (PR c++/88335)

2019-10-22 Thread Jakub Jelinek
On Tue, Oct 22, 2019 at 09:55:06AM -0400, Jason Merrill wrote: > On Mon, Oct 21, 2019 at 1:59 PM Jason Merrill wrote: > > On 10/15/19 1:04 PM, Jakub Jelinek wrote: > > > > Unlike the previous implementation, this doesn't invoke consteval function > > > already during parsing, but later on, so

[C++ PATCH] Partial fix for a recent regression (PR c++/90947)

2019-10-22 Thread Jakub Jelinek
Hi! The following patch is just a partial fix for a regression introduced in the PR90947 changes, the testcase is fixed for just C++17/20. type_initializer_zero_p has been added to the generic code, supposedly because similar initializer_zerop is in generic code too, but that means it has a

Re: [C++ PATCH] Implement P1073R3: Immediate functions (PR c++/88335)

2019-10-22 Thread Jakub Jelinek
On Tue, Oct 22, 2019 at 10:57:42AM -0400, Jason Merrill wrote: > > So, do you prefer to do it the other way during build_cxx_call? > > It seems more straightforward. Ok. > > The issues that need to be resolved are the default arguments, > > which from my understanding are not full expressions

C++ PATCH for c++/91363 - P0960R3: Parenthesized initialization of aggregates

2019-10-22 Thread Marek Polacek
This patch implements C++20 P0960R3: Parenthesized initialization of aggregates (; see R0 for more background info). Essentially, if you have an aggregate, you can now initialize it by (x, y), similarly to {x, y}. E.g. struct A { int x, y; // no A(int, int) ctor (see paren-init14.C

Re: [C++ PATCH] Implement P1073R3: Immediate functions (PR c++/88335)

2019-10-22 Thread Jason Merrill
On Tue, Oct 22, 2019 at 11:20 AM Jakub Jelinek wrote: > > On Tue, Oct 22, 2019 at 10:57:42AM -0400, Jason Merrill wrote: > > > So, do you prefer to do it the other way during build_cxx_call? > > > > It seems more straightforward. > > Ok. > > > > The issues that need to be resolved are the default

Re: [PATCH][PR91979] Incorrect mangling for non-template-argument nullptr expression

2019-10-22 Thread kamlesh kumar
diff --git a/gcc/cp/mangle.c b/gcc/cp/mangle.c index a9333b8..334610c 100644 --- a/gcc/cp/mangle.c +++ b/gcc/cp/mangle.c @@ -3400,7 +3400,8 @@ write_template_arg_literal (const tree value) case INTEGER_CST: gcc_assert (!same_type_p (TREE_TYPE (value), boolean_type_node)

Re: [PATCH 1/2][vect]PR 88915: Vectorize epilogues when versioning loops

2019-10-22 Thread Richard Sandiford
Thanks for doing this. Hope this message doesn't cover too much old ground or duplicate too much... "Andre Vieira (lists)" writes: > @@ -2466,15 +2476,65 @@ vect_do_peeling (loop_vec_info loop_vinfo, tree > niters, tree nitersm1, >else > niters_prolog = build_int_cst (type, 0); > >

[PATCH] Refactor rust-demangle to be independent of C++ demangling.

2019-10-22 Thread Eduard-Mihai Burtescu
This way, rust-demangle is closer to the official "rustc-demangle" Rust demangler, which also doesn't require full C++ demangling for the legacy format (implemented here), and only recognizes simple "_ZN"..."E" paths with identifier components that the format uses. The new code also has fewer

Re: [PATCH] Refactor rust-demangle to be independent of C++ demangling.

2019-10-22 Thread Ian Lance Taylor via gcc-patches
On Tue, Oct 22, 2019 at 11:08 AM Eduard-Mihai Burtescu wrote: > > @@ -160,27 +159,20 @@ cplus_demangle (const char *mangled, int options) >if ((options & DMGL_STYLE_MASK) == 0) > options |= (int) current_demangling_style & DMGL_STYLE_MASK; > > + /* The Rust demangling is implemented

[C++ Patch] Improve build_x_unary_op locations

2019-10-22 Thread Paolo Carlini
Hi, at the moment I'm going through more typeck.c and typeck2.c functions: the below are some straightforward changes for build_x_unary_op (fwiw, the resulting locations are also consistent with clang) Tested x86_64-linux. Thanks, Paolo. /cp 2019-10-22 Paolo

Re: [PATCH][PR91979] Incorrect mangling for non-template-argument nullptr expression

2019-10-22 Thread kamlesh kumar
On Tue, Oct 22, 2019 at 10:53 PM kamlesh kumar wrote: > > diff --git a/gcc/cp/mangle.c b/gcc/cp/mangle.c > index a9333b8..334610c 100644 > --- a/gcc/cp/mangle.c > +++ b/gcc/cp/mangle.c > @@ -3400,7 +3400,8 @@ write_template_arg_literal (const tree value) >case INTEGER_CST: >

Re: [C++ Patch] Improve build_x_unary_op locations

2019-10-22 Thread Marek Polacek
On Tue, Oct 22, 2019 at 08:48:30PM +0200, Paolo Carlini wrote: > Hi, > > at the moment I'm going through more typeck.c and typeck2.c functions: the > below are some straightforward changes for build_x_unary_op (fwiw, the > resulting locations are also consistent with clang) > > Tested

Re: [PATCH] V6, #2 of 17: Minor code reformat

2019-10-22 Thread Segher Boessenkool
Hi! On Wed, Oct 16, 2019 at 09:38:54AM -0400, Michael Meissner wrote: > This patch tweaks the code formatting that I noticed in making the previous > patch for some of the 128-bit mode move instructions. Originally this was > part > of V5 patch #2, but it has been moved to a separate patch. >

Re: [PATCH] Define [range.cmp] comparisons for C++20

2019-10-22 Thread Tam S. B.
> commit b948d3f92d7bbe4d53237cb20ff40a15fa123988 > Author: Jonathan Wakely > Date: Thu Oct 17 15:20:38 2019 +0100 > > Define [range.cmp] comparisons for C++20 > > Define std::identity, std::ranges::equal_to, std::ranges::not_equal_to, > std::ranges::greater,

[PATCH target/89071] Fix false dependence of scalar operations vrcp/vsqrt/vrsqrt/vrndscale

2019-10-22 Thread Hongtao Liu
Hi uros: This patch fixes false dependence of scalar operations vrcp/vsqrt/vrsqrt/vrndscale. Bootstrap ok, regression test on i386/x86 ok. It does something like this: - For scalar instructions with both xmm operands: op %xmmN,%xmmQ,%xmmQ > op %xmmN, %xmmN, %xmmQ for scalar

Re: [PATCH] V6, #1 of 17: Use ADJUST_INSN_LENGTH for prefixed instructions

2019-10-22 Thread Segher Boessenkool
Hi! On Wed, Oct 16, 2019 at 09:35:33AM -0400, Michael Meissner wrote: > This patch uses the target hook ADJUST_INSN_LENGTH to change the length of > instructions that contain prefixed memory/add instructions. That made this amazingly hard to review. But it might well be worth it, thankfully :-)

Re: [PATCH] V6, #3 of 17: Update lwa_operand for prefixed PLWA

2019-10-22 Thread Segher Boessenkool
On Wed, Oct 16, 2019 at 09:42:16AM -0400, Michael Meissner wrote: > 2019-10-15 Michael Meissner > > * config/rs6000/predicates.md (lwa_operand): If the bottom two > bits of the offset for the memory address are non-zero, use PLWA > if prefixed instructions are available.

Re: [PATCH 2/2] gcc/riscv: Add a mechanism to remove some calls to _riscv_save_0

2019-10-22 Thread Jim Wilson
On Mon, Oct 21, 2019 at 5:26 AM Andrew Burgess wrote: > Below is a new versions of this patch, I believe that this addresses > the review comments from the earlier version. In addition this has > been tested using Jim's idea of forcing -msave-restore (if the flag is > not otherwise given) and I

[PATCH] Add support for C++2a stop_token

2019-10-22 Thread Thomas Rodgers
0001-Add-support-for-C-2a-stop_token.patch Description: le patch

[[PATCH][PR91979] handle mangling of nullptr expression ] updated the fix

2019-10-22 Thread Kamlesh Kumar
--- gcc/cp/mangle.c| 3 ++- gcc/testsuite/g++.dg/cpp0x/nullptr27.C | 2 +- gcc/testsuite/g++.dg/cpp0x/pr91979.C | 15 +++ libiberty/cp-demangle.c| 10 ++ libiberty/testsuite/demangle-expected | 4 5 files changed, 32

Re: [PATCH target/89071] Fix false dependence of scalar operations vrcp/vsqrt/vrsqrt/vrndscale

2019-10-22 Thread Hongtao Liu
Update patch: Add m constraint to define_insn (sse_1_round): Change constraint x to xm since vround support memory operand. * (*sse4_1_round): Ditto. Bootstrap and regression test ok. On Wed, Oct 23, 2019 at 9:56 AM Hongtao Liu wrote: > > Hi uros: > This patch fixes false

Re: [PATCH V3] Loop split upon semi-invariant condition (PR tree-optimization/89134)

2019-10-22 Thread Feng Xue OS
Michael, > I've only noticed a couple typos, and one minor remark. Typos corrected. > I just wonder why you duplicated these three loops instead of integrating > the real body into the existing LI_FROM_INNERMOST loop. I would have > expected your "if (!optimize_loop_for_size_p &&