Re: [PATCH] c++: Fix up reshape_* RAW_DATA_CST handling [PR118214]

2025-01-15 Thread Jakub Jelinek
On Wed, Jan 15, 2025 at 10:27:56AM -0500, Jason Merrill wrote: > > @@ -7432,12 +7426,18 @@ reshape_init_r (tree type, reshape_iter > > { > > vec *v = 0; > > CONSTRUCTOR_APPEND_ELT (v, NULL_TREE, init); > > - tree raw_init = cp_maybe_split_raw_data (d); > > + bool inc_cur; >

Re: [PATCH] c++: Implement mangling of RAW_DATA_CST [PR118278]

2025-01-15 Thread Jason Merrill
On 1/3/25 3:52 AM, Jakub Jelinek wrote: Hi! As the following testcases show (mangle80.C only after reversion of the temporary reversion of C++ large array speedup commit), RAW_DATA_CST can be seen during mangling of some templates and we ICE because the mangler doesn't handle it. The following

Re: [PATCH v6 5/6] OpenMP: Update "declare target"/OpenMP context interaction

2025-01-15 Thread Tobias Burnus
Sandra Loosemore wrote: The code and test case previously implemented the OpenMP 5.0 spec, which said in section 2.3.1: "For functions within a declare target block, the target trait is added to the beginning of the set..." In OpenMP 5.1, this was changed to "For device routines, the target tra

[PATCH, committed] Fortran: reject NULL as source-expr in ALLOCATE with SOURCE= or MOLD= [PR71884]

2025-01-15 Thread Harald Anlauf
Dear all, I've committed the attached obvious patch to reject an invalid NULL in ALLOCATE after it was OK'ed in the PR by Steve. Regtested on x86_64-pc-linux-gnu. Pushed as r15-6925-g892304f1fe . Thanks, Harald From 892304f1fe3e808b9f498353c144f1ae0591 Mon Sep 17 00:00:00 2001 From: H

Re: [PATCH v6 2/6] OpenMP: C++ support for metadirectives and dynamic selectors.

2025-01-15 Thread Tobias Burnus
Sandra Loosemore wrote: Additional shared C/C++ testcases are included in a subsequent patch in this series. LGTM. Thanks, Tobias gcc/cp/ChangeLog PR middle-end/112779 PR middle-end/113904 * cp-tree.h (struct saved_scope): Add new field x_processing_omp_trait

[PATCH 1/2] forwprop: Eliminate redundant calls to to_constant()

2025-01-15 Thread Christoph Müllner
When extracting the amount of vector elements, we currently first check if the value is a contant with is_constant(), followed by obtaining the value with to_constant(), which internally calls is_constant() again. We can address this by using is_constant (T*), which also provides the constant value

[PATCH 2/2] forwprop: Ensure that shuffle masks are VECTOR_CSTs

2025-01-15 Thread Christoph Müllner
As reported in PR118487, it is possible that the mask parameter of a __builtin_shuffle() is not a VECTOR_CST. If this is the case and checking is enabled then an ICE is triggered. Let's add a check to fix this issue. PR tree-optimization/118487 gcc/ChangeLog: * tree-ssa-forwprop.

Re: [PATCH v3 1/4] RISC-V: Add Zicfiss ISA extension.

2025-01-15 Thread Kito Cheng
OK with one minor comment On Wed, Jan 15, 2025 at 3:57 PM Monk C > --- /dev/null > +++ b/libgcc/config/riscv/shadow-stack-unwind.h > @@ -0,0 +1,74 @@ > +/* _Unwind_Frames_Extra with shadow stack. > + Copyright (C) 2016-2024 Free Software Foundation, Inc. 2025 rather than 2016-2024.

[PATCH] Annotate dbg_line_numbers table

2025-01-15 Thread Richard Biener
The following adds /* */ to dbg_line_numbers so there's the chance to more easily lookup the ID of the match.pd line number used for dumping when you want to debug a speicific replacement. It also cuts the lines down to 10 entries. static int dbg_line_numbers[1267] = { /* 0 */ 161, 164

[PATCH 2/2] LoongArch: Improve reassociation for bitwise operation and left shift [PR 115921]

2025-01-15 Thread Xi Ruoyao
For things like (x | 0x101) << 11 It's obvious to write: ori $r4,$r4,257 slli.d $r4,$r4,11 But we are actually generating something insane: lu12i.w $r12,524288>>12 # 0x8 ori $r12,$r12,2048 slli.d $r4,$r4,11 or

[PATCH 1/2] LoongArch: Simplify using bstr{ins, pick} instructions for and

2025-01-15 Thread Xi Ruoyao
For bstrins, we can merge it into and3 instead of having a separate define_insn. For bstrpick, we can use the constraints to ensure the first source register and the destination register are the same hardware register, instead of emitting a move manually. This will simplify the next commit where

[PATCH] tailc, v2: Virtually undo IPA-VRP return value optimization for tail calls [PR118430]

2025-01-15 Thread Jakub Jelinek
On Wed, Jan 15, 2025 at 10:42:12AM +0100, Richard Biener wrote: > Yes. I'll note there's a PR (or a bunch of) which are about > > x = FOO (y, ..); > > > vs. > > FOO (y, ..); > > > for FOO returning an argument (like for example memcpy). Where neither > form is best in all cases. For your e

[PATCH] tree-ssa-propagate: Special case lhs of musttail calls in may_propagate_copy [PR118430]

2025-01-15 Thread Jakub Jelinek
Hi! And here is incremental (for now tested just on the new testcases) patch to avoid VRP etc. to replace lhs of musttail call with something else. 2025-01-15 Jakub Jelinek PR tree-optimization/118430 * tree-ssa-propagate.cc (may_propagate_copy): Return false if dest i

Re: [PATCH] tailc, v2: Virtually undo IPA-VRP return value optimization for tail calls [PR118430]

2025-01-15 Thread Jakub Jelinek
On Wed, Jan 15, 2025 at 11:46:28AM +0100, Jakub Jelinek wrote: > BTW, I think we don't optimize returns-arg stuff like that at least right > now, and if we did, it wouldn't be through IPA-VRP, most of the returns-arg > functions actually return a pointer, not integer and for prange we just > track

Re: [PATCH] D, Darwin: Restore bootstrap.

2025-01-15 Thread Iain Sandoe
> On 14 Jan 2025, at 20:45, Iain Buclaw wrote: > > Excerpts from Iain Sandoe's message of Januar 14, 2025 9:10 pm: >> Tested on x86_64, i686 darwin17 and aarch64 darwin21, >> OK for trunk, or alternate solution? >> thanks, >> Iain >> > Could a pull request be made upstream here? > > https:/

Re: [PATCH] c++: Fix up reshape_* RAW_DATA_CST handling [PR118214]

2025-01-15 Thread Jakub Jelinek
On Wed, Jan 15, 2025 at 04:33:26PM +0100, Jakub Jelinek wrote: > I vaguely remember from writing the original patch (which introduced > cp_maybe_split_raw_data) that here it actually mattered whether > in the error case we move the reshape_iter or not and that it broke > some tests, but I no longer

Re: [PATCH]AArch64: have -mcpu=native detect architecture extensions for unknown non-homogenous systems [PR113257]

2025-01-15 Thread Tamar Christina
Re-reading again I realize I misread cache size from your question with cache line size. Cache size can be whatever yes. Cache line size must match. But that doesn't change the fact that this patch is correct. Thanks, Tamar From: Tamar Christina Sent: Wednesday

PING **(6./7.): [patch, Fortran] -fc-prototypes fixes.

2025-01-15 Thread Thomas Koenig
Am 09.01.25 um 14:36 schrieb Thomas Koenig: Am 09.01.25 um 14:34 schrieb Thomas Koenig: This patch fixes and reorganizes dumping C prototypes. And here is the "five seconds later, I realized I had forgotten to attach the patch" e-mail... ... with the original text: Hello world, This patch

Re: [PATCH] c++: bogus error with nested lambdas [PR117602]

2025-01-15 Thread Jason Merrill
On 1/15/25 12:55 PM, Marek Polacek wrote: On Wed, Jan 15, 2025 at 09:39:41AM -0500, Jason Merrill wrote: On 11/15/24 9:08 AM, Marek Polacek wrote: Bootstrapped/regtested on x86_64-pc-linux-gnu, ok for trunk? -- >8 -- The error here should also check that we aren't nested in another lambda; in

Re: [PATCH] c++/modules: Fix linkage checks for exported using-decls

2025-01-15 Thread Jason Merrill
On 1/15/25 10:19 AM, yxj-github-437 wrote: On Fri, Jan 03, 2025 at 05:18:55PM +, xxx wrote: From: yxj-github-437 <2457369...@qq.com> This patch attempts to fix an error when build module std. The reason for the error is __builrin_va_list (aka struct __va_list) is an internal linkage. so att

Re: [PATCH] c++: RESULT_DECL replacement in constexpr call result [PR105440]

2025-01-15 Thread Jason Merrill
On 1/15/25 10:13 AM, Patrick Palka wrote: On Mon, 1 May 2023, Jason Merrill wrote: On 4/28/23 15:40, Patrick Palka wrote: On Fri, 28 Apr 2023, Patrick Palka wrote: On Fri, 28 Apr 2023, Patrick Palka wrote: After mechanically replacing RESULT_DECL within a constexpr call result (for sake of R

[PATCH] c++: Change c++2b and gnu++2b to c++23 and gnu++23 in C++ diagnostics

2025-01-15 Thread Jakub Jelinek
Hi! This is something we should have done when -std=c++23 was made the primary option and -std=c++2b turned into undocumented alias. Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 2025-01-15 Jakub Jelinek gcc/cp/ * parser.cc (cp_parser_lambda_declarator_opt,

[PATCH] vec.h: Properly destruct elements in auto_vec auto storage [PR118400]

2025-01-15 Thread Jakub Jelinek
Hi! For T with non-trivial destructors, we were destructing objects in the vector on release only when not using auto storage of auto_vec. The following patch calls truncate (0) instead of m_vecpfx.m_num clearing, and truncate takes care of that destruction: unsigned l = length (); gcc_checki

[committed] libstdc++: Fix reversed args in unreachable assumption [PR109849]

2025-01-15 Thread Jonathan Wakely
libstdc++-v3/ChangeLog: PR libstdc++/109849 * include/bits/vector.tcc (vector::_M_range_insert): Fix reversed args in length calculation. --- Tested x86_64-linux, pushed to trunk. Backport to gcc-14 to follow after testing. libstdc++-v3/include/bits/vector.tcc | 2 +- 1

[PATCH] c++, v2: Fix up reshape_* RAW_DATA_CST handling [PR118214]

2025-01-15 Thread Jakub Jelinek
On Wed, Jan 15, 2025 at 10:27:56AM -0500, Jason Merrill wrote: > > @@ -7432,12 +7426,18 @@ reshape_init_r (tree type, reshape_iter > > { > > vec *v = 0; > > CONSTRUCTOR_APPEND_ELT (v, NULL_TREE, init); > > - tree raw_init = cp_maybe_split_raw_data (d); > > + bool inc_cur; >

[PATCH] match: Simplify `1 >> x` into `x == 0` [PR102705]

2025-01-15 Thread Andrew Pinski
This in this PR we have missed optimization where we miss that, `1 >> x` and `(1 >> x) ^ 1` can't be equal. There are a few ways of optimizing this, the easiest and simpliest is to simplify `1 >> x` into just `x == 0` as those are equivalant (if we ignore out of range values for x). we already have

[PATCH] docs: Fix up inline asm documentation

2025-01-15 Thread Jakub Jelinek
Hi! When writing the gcc-15/changes.html patch posted earlier, I've been wondering where significant part of the Basic asm chapter went and the problem was the insertion of a new @node in the middle of the Basic Asm @node, plus not mentioning the new @node in the @menu. So the asm constexpr node

Re: [PATCH] c++: Only prune capture proxies for constant variables at instantiation time [PR114292]

2025-01-15 Thread Jason Merrill
On 12/12/24 2:07 PM, Simon Martin wrote: We currently ICE upon the following valid (under -Wno-vla) code === cut here === void f(int c) { constexpr int r = 4; [&](auto) { int t[r * c]; }(0); } === cut here === The problem is that when parsing the lambda body, and more specifically the mul

Re: [PATCH] c++: Make sure fold_sizeof_expr returns the correct type [PR117775]

2025-01-15 Thread Jason Merrill
On 11/29/24 9:33 AM, Simon Martin wrote: We currently ICE upon the following code, that is valid under -Wno-pointer-arith: === cut here === int main() { decltype( [](auto) { return sizeof(void); } ) x; return x.operator()(0); } === cut here === The problem is that "fold_sizeof_expr (sizeo

Re: [PATCH] c++: Make sure fold_sizeof_expr returns the correct type [PR117775]

2025-01-15 Thread Jakub Jelinek
On Wed, Jan 15, 2025 at 04:48:59PM -0500, Jason Merrill wrote: > > --- a/gcc/cp/decl.cc > > +++ b/gcc/cp/decl.cc > > @@ -11686,6 +11686,7 @@ fold_sizeof_expr (tree t) > > false, false); > > if (r == error_mark_node) > > r = size_one_node; > > + r = cp_fold

<    1   2