> On 17 Jun 2025, at 4:18 pm, Dhruv Chawla wrote:
>
> On 17/06/25 06:10, Kugan Vivekanandarajah wrote:
>> External email: Use caution opening links or attachments
>> Hi,
>> As discusses earlier, get_original_name is used to match profile binary
>> names to
>> the symbol names in the IR during
Hi!
When writing the libstdc++ patch, I've noticed I've missed adding any
testsuite coverage for __builtin_is_nothrow_relocatable trait.
And got wrong the implementation as well, I thought type2 in that
case should be the rvalue reference type to type1, but it seems it
it has to be a TREE_VEC wit
On 17/06/25 06:10, Kugan Vivekanandarajah wrote:
External email: Use caution opening links or attachments
Hi,
As discusses earlier, get_original_name is used to match profile binary names to
the symbol names in the IR during auto-profile pass.
I think it could be good to add a link to the mai
On Mon, Jun 16, 2025, 10:57 PM Jakub Jelinek wrote:
> Hi!
>
> The following testcase ICEs, because optimize_crc_loop inserts a call
> statement before labels instead of after labels.
>
> Fixed thusly (plus fixed other issues noticed around it),
> bootstrapped/regtested on x86_64-linux and i686-li
Hi!
The following testcase ICEs, because optimize_crc_loop inserts a call
statement before labels instead of after labels.
Fixed thusly (plus fixed other issues noticed around it),
bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk/15.2?
2025-06-17 Jakub Jelinek
PR t
On 16/06/25 22:31, Jan Hubicka wrote:
External email: Use caution opening links or attachments
gcc/ChangeLog:
* auto-profile.cc (AUTO_PROFILE_VERSION): Bump from 2 to 3.
(string_table::get_real_name): Define new member function.
(string_table::get_file_name): Likewise.
LGTM
On Tue, Jun 17, 2025 at 10:14 AM wrote:
>
> From: Pan Li
>
> This patch would like to introduce the combine of vec_dup + vmin.vv
> into vmin.vx on the cost value of GR2VR. The late-combine will take
> place if the cost of GR2VR is zero, or reject the combine if non-zero
> like 1, 2, 15 in
On 16/06/25 21:44, Jan Hubicka wrote:
External email: Use caution opening links or attachments
Hi,
Introduction
Per PR120229 (gcc.gnu.org/PR120229), the auto-profile pass cannot distinguish
profile information for `function_instance's with the same base name, when
suffixes are re
PIE may cause some code gen difference in the testcases, that will cause
problem when we configure toolchain with `--enable-default-pie`.
So adding -fno-pie flags to the testcases to avoid this issue.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/jump-table-large-code-model.c: Adding
Hi, I've come across a question regarding the branch cost of gcc. In the link
https://gcc.godbolt.org/z/hnddevd5h, gcc fails to recognize the optimization
branch judgment, while llvm does. I eventually discovered that the value of the
branch
cost was too small. Moreover, in that link, if I add "-m
I checked Wikipedia and Wiktionary and it knows gibibyte but not
gigibyte.
The contribution guidelines say "you must perform make info and make dvi
and correct any errors".
Since I only did a sparse checkout of /contrib and /gcc, I couldn't do
that. Because I only changed a single letter in two p
On 6/11/25 2:47 AM, Umesh Kalappa wrote:
gcc/ChangeLog:
* config/riscv/sync.md (lrsc_atomic_exchange):
Use the scratch reg for rd.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/zalrsc.c: New test.
I was about to push this to the trunk when I realized the test isn't
On 6/16/25 4:00 PM, Iain Sandoe wrote:
Hi Jason
On 11 Jun 2025, at 23:50, Jason Merrill wrote:
On 6/9/25 4:12 PM, Iain Sandoe wrote:
There was some discussion of this in the PR116775 comments. In the
end I have matched what clang does in this circumstance, since that
seems reasonable - and
On 6/16/25 12:56 PM, Iain Sandoe wrote:
+ 0 signalling that both the body and the ramp have completed (i.e. the body
+ ran to completion before the ramp was re-entered).
I had figured that the ramp would set the reference count to 1 initially, and
decrement it in a cleanup, and the actor wo
Committed to trunk, thanks.
Jiawei
在 2025/6/16 11:21, Jiawei 写道:
Add b-ext in RVA/B23 as independent extension flags and add supm in
RVA23.
gcc/ChangeLog:
* common/config/riscv/riscv-common.cc: Add b-ext and supm.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/arch-53.c: Update
From: Pan Li
Add asm dump check and run test for vec_duplicate + vmin.vv
combine to vmin.vx, with the GR2VR cost is 0, 2 and 15.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/autovec/vx_vf/vx-1-i16.c: Add asm check.
* gcc.target/riscv/rvv/autovec/vx_vf/vx-1-i32.c: Ditto.
From: Pan Li
This patch would like to introduce the combine of vec_dup + vmin.vv
into vmin.vx on the cost value of GR2VR. The late-combine will take
place if the cost of GR2VR is zero, or reject the combine if non-zero
like 1, 2, 15 in test. There will be two cases for the combine:
Case 0:
|
From: Pan Li
Add asm dump check test for vec_duplicate + vmin.vv combine to
vmin.vx, with the GR2VR cost is 0, 1 and 2.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/autovec/vx_vf/vx-4-i16.c: Add asm check
for vmin.vx combine.
* gcc.target/riscv/rvv/autovec/vx_vf/vx-4-
From: Pan Li
This patch would like to combine the vec_duplicate + vmin.vv to the
vmin.vx. From example as below code. The related pattern will depend
on the cost of vec_duplicate from GR2VR. Then the late-combine will
take action if the cost of GR2VR is zero, and reject the combination
if the
Hi,
As discusses earlier, get_original_name is used to match profile binary names to
the symbol names in the IR during auto-profile pass.
Hence, we want to strip the compiler added suffixes for names
that are generated after auto-profile pass.
Names we should strip:
* SRA clones (of the form foo.
Hi,
This is the 5th version of the patch set to extend "counted_by" attribute
to pointer fields of structures.
compared to the 4rd version:
https://gcc.gnu.org/pipermail/gcc-patches/2025-May/683538.html
https://gcc.gnu.org/pipermail/gcc-patches/2025-May/683539.html
https://gcc.gnu.org/pipermail
This patch extends our vec_cmp expander to support partial FP modes.
We use a predicate mode that is narrower the operation's VPRED to govern
unpacked FP operations under flag_trapping_math, so the expansion must
handle cases where the comparison's target and governing predicates have
different mo
For example:
struct PP {
size_t count2;
char other1;
char *array2 __attribute__ ((counted_by (count2)));
int other2;
} *pp;
specifies that the "array2" is an array that is pointed by the
pointer field, and its number of elements is given by the field
"count2" in the same structure.
gcc/c
Current array bound checker only instruments ARRAY_REF, and the INDEX
information is the 2nd operand of the ARRAY_REF.
When extending the array bound checker to pointer references with
counted_by attributes, the hardest part is to get the INDEX of the
corresponding array ref from the offset comput
gcc/ChangeLog:
* tree-object-size.cc (access_with_size_object_size): Handle pointers
with counted_by.
(collect_object_sizes_for): Likewise.
gcc/testsuite/ChangeLog:
* gcc.dg/pointer-counted-by-4.c: New test.
* gcc.dg/pointer-counted-by-5.c: New test.
On Wed, 2025-06-11 at 11:57 -0400, Jason Merrill wrote:
> On 6/3/25 7:02 PM, David Malcolm wrote:
> > On Sat, 2025-05-31 at 23:25 -0400, Jason Merrill wrote:
> > > + if (kind == DK_POP)
> > > + opt += offset;
> >
> > I'm wondering why the offset is applied to "opt" here? That feels
> > wrong
Here is a V2 of patch 04/14 from the unpacked FP patch series [1], with the
changes discussed in that thread applied. The tests are also now based on VLA
codegen.
Bootstrapped & regtested on aarch64-linux-gnu. OK for master?
Thanks,
Spencer
[1]
https://inbox.sourceware.org/gcc-patches/2025060
Hi Jason
> On 11 Jun 2025, at 23:50, Jason Merrill wrote:
>
> On 6/9/25 4:12 PM, Iain Sandoe wrote:
>> There was some discussion of this in the PR116775 comments. In the
>> end I have matched what clang does in this circumstance, since that
>> seems reasonable - and we may ignore the attributes
Am Montag, dem 16.06.2025 um 14:27 -0500 schrieb Segher Boessenkool:
> On Mon, Jun 16, 2025 at 08:34:23PM +0200, Martin Uecker wrote:
> > Am Montag, dem 16.06.2025 um 12:56 -0500 schrieb Segher Boessenkool:
> > > So, now the warning no longer does what the name says, or what its
> > > documentation
On Mon, Jun 16, 2025 at 08:34:23PM +0200, Martin Uecker wrote:
> Am Montag, dem 16.06.2025 um 12:56 -0500 schrieb Segher Boessenkool:
> > So, now the warning no longer does what the name says, or what its
> > documentation says. Please update the documentation at least!
>
> It still does what the
Am Montag, dem 16.06.2025 um 12:56 -0500 schrieb Segher Boessenkool:
> Hi!
>
> On Sun, Jun 15, 2025 at 04:18:36PM +0200, Martin Uecker wrote:
> > Instead of adding it to -Wextra, here is my attempt to improve this
> > warning as discussed in the PR and make it suitable for -Wall.
> > There were o
Am 16.06.25 um 02:18 schrieb Steve Kargl:
Harald,
I did a quick glance at the patch and did not see anything that
jumped out as needing a change. OK to commit.
Earlier today I came to the same conclusion that -1 on overflow is
probably the right thing to do. Gfortran would need a way to
suppl
On Mon, Jun 16, 2025 at 08:14:53PM +0200, Josef Melcr wrote:
> Certainly :) I am sorry about my lack of activity in the last two months,
> I've been really busy, first with the thesis and now with studying for the
> state finals. I will hopefully wrap up these academic duties this Thursday
> and I
Hi Jerry,
Am 16.06.25 um 00:13 schrieb Jerry D:
On 6/15/25 1:22 PM, Harald Anlauf wrote:
Am 15.06.25 um 21:25 schrieb Harald Anlauf:
Dear all,
the attached patch fixes a rejects-valid: in an ALLOCATE statement with
MOLD= present, if the allocate-object has an explicit-shape-spec, the
compatib
On 6/16/25 18:25, Jan Hubicka wrote:
On Mon, Jun 16, 2025 at 05:49:19PM +0200, Jan Hubicka wrote:
On Wed, Apr 30, 2025 at 08:56:57AM +0200, Jakub Jelinek wrote:
On Mon, Apr 28, 2025 at 07:27:31PM +0200, Josef Melcr wrote:
As for the attribute, I am honestly not too sure about what to do, as c
Hi!
On Sun, Jun 15, 2025 at 04:18:36PM +0200, Martin Uecker wrote:
> Instead of adding it to -Wextra, here is my attempt to improve this
> warning as discussed in the PR and make it suitable for -Wall.
> There were only two tests I had to add -Wno-jump-misses-init.
>
> Bootstrapped and regressio
I eventually wonder if it is such a big deal to add the new symbols for
_GLIBCXX_DEBUG mode.
Here is the patch doing this. It avoids to add many const_cast which is
what we are trying to achieve here.
I've updated the PR keeping 2 commits so that if this last step is not
good I can just drop
> > I don't think you kept this logic in the new code?
I really apologize for late reply. I missed that you wait for it.
>
> To be honest, I didn't really follow the logic here. Thinking about the
> single-exit case (which the current code is designed to handle), both
> the body of the if and the
> gcc/ChangeLog:
> * auto-profile.cc (AUTO_PROFILE_VERSION): Bump from 2 to 3.
> (string_table::get_real_name): Define new member function.
> (string_table::get_file_name): Likewise.
> (string_table::get_file_name_idx): Likewise.
> (string_table::real_names_): Define n
>>+ 0 signalling that both the body and the ramp have completed (i.e. the body
>>+ ran to completion before the ramp was re-entered).
>I had figured that the ramp would set the reference count to 1 initially, and
>decrement it in a cleanup, and the actor would increment it after initial
>await
When working on CWG2563 version 4, (using cleanups) I encountered an
issue where the possibility that initialisation of the saved self-handle
would interfere with the use of cleanups to handle exceptional cases.
The original reason for pre-computing the handle was that it is used
in every await_sus
> On Mon, Jun 16, 2025 at 05:49:19PM +0200, Jan Hubicka wrote:
> > > On Wed, Apr 30, 2025 at 08:56:57AM +0200, Jakub Jelinek wrote:
> > > > On Mon, Apr 28, 2025 at 07:27:31PM +0200, Josef Melcr wrote:
> > > > > As for the attribute, I am honestly not too sure about what to do, as
> > > > > clang
>
On Mon, Jun 16, 2025 at 05:49:19PM +0200, Jan Hubicka wrote:
> > On Wed, Apr 30, 2025 at 08:56:57AM +0200, Jakub Jelinek wrote:
> > > On Mon, Apr 28, 2025 at 07:27:31PM +0200, Josef Melcr wrote:
> > > > As for the attribute, I am honestly not too sure about what to do, as
> > > > clang
> > > > is
Hi,
> Introduction
>
>
> Per PR120229 (gcc.gnu.org/PR120229), the auto-profile pass cannot distinguish
> profile information for `function_instance's with the same base name, when
> suffixes are removed. To fix this, source file names should be tracked in the
> GCOV file information t
Hi!
The following patch on top of
https://gcc.gnu.org/pipermail/gcc-patches/2025-June/686210.html
https://gcc.gnu.org/pipermail/gcc-patches/2025-June/686558.html
patches implements the compiler side of the C++26 paper.
Based on the https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119064#c3
feedback, t
> On Wed, Apr 30, 2025 at 08:56:57AM +0200, Jakub Jelinek wrote:
> > On Mon, Apr 28, 2025 at 07:27:31PM +0200, Josef Melcr wrote:
> > > As for the attribute, I am honestly not too sure about what to do, as
> > > clang
> > > is
> > > not consistent in with its own indexing, be it with the unknown v
On 6/10/25 4:40 PM, Daniel Bertalan wrote:
For final target classes of which the source type is a unique non-
virtual base, we know that the dynamic_cast succeeding is equivalent to
the vptr pointing to the target's vtable. So check this if possible
instead of calling the more expensive `__dynami
On Sat, 14 Jun 2025, Jason Merrill wrote:
> On 6/13/25 1:36 PM, Patrick Palka wrote:
> > On Fri, 13 Jun 2025, Jason Merrill wrote:
> >
> > > Tested x86_64-pc-linux-gnu, any comments? Bikeshedding?
> > >
> > > -- 8< --
> > >
> > > We already error about a type definition causing a concept check
On Mon, Jun 16, 2025 at 12:19 AM Jan Hubicka wrote:
>
> >
> > Perhaps someone is interested in the following thread from LKML:
> >
> > "[PATCH v2] x86: prevent gcc from emitting rep movsq/stosq for inlined ops"
> >
> > https://lore.kernel.org/lkml/20250605164733.737543-1-mjgu...@gmail.com/
> >
> >
Ping
On Tue, May 20, 2025 at 09:22:55AM +0200, Stefan Schulze Frielinghaus wrote:
> This is a follow-up to
> https://gcc.gnu.org/pipermail/gcc-patches/2025-January/672941.html
> with basically the only change of adding more tests like for aarch64 and
> the y constraint or for i386 and constraints
Hi, I just noticed that in this version, the patch set 1 and set 2 have some
mess up.
I will fix the mess up and resend the patch sets one more time.
Ignore this thread.
Sorry for the inconvenience.
Qing
> On Jun 13, 2025, at 14:33, Qing Zhao wrote:
>
> Hi,
>
> This is the 5th version of th
Ping.
Matthieu Longo writes:
> GCS (Guarded Control Stack, an Armv9.4-a extension) requires some caution at
> runtime. The runtime linker needs to reason about the compatibility of a set
> of relocable object files that might not have been compiled with the same
> compiler. Up until now, those metada
On 2025-06-11 16:28, Richard Sandiford wrote:
Matthieu Longo writes:
GCS (Guarded Control Stack, an Armv9.4-a extension) requires some
caution at runtime. The runtime linker needs to reason about the
compatibility of a set of relocable object files that might not
have been compiled with the sam
On 2025-06-11 16:12, Richard Sandiford wrote:
Matthieu Longo writes:
The code emitting the GNU properties was moved to a separate file to
improve modularity and "releave" the 31000-lines long aarch64.cc file
from a few lines.
It introduces a new namespace "aarch64::" for AArch64 backend which
GCS (Guarded Control Stack, an Armv9.4-a extension) requires some
caution at runtime. The runtime linker needs to reason about the
compatibility of a set of relocable object files that might not
have been compiled with the same compiler.
Up until now, those metadata, used for the previously mention
The code emitting the GNU properties was moved to a separate file to
improve modularity and "releave" the 31000-lines long aarch64.cc file
from a few lines.
It introduces a new namespace "aarch64::" for AArch64 backend which
reduce the length of function names by not prepending 'aarch64_' to
each
GCS (Guarded Control Stack, an Armv9.4-a extension) requires some caution at
runtime. The runtime linker needs to reason about the compatibility of a set of
relocable object files that might not have been compiled with the same
compiler. Up until now, those metadata, used for the previously ment
On Tue, Jun 10, 2025 at 07:43:20PM +0100, Richard Sandiford wrote:
> Spencer Abson writes:
> > On Mon, Jun 09, 2025 at 02:48:58PM +0100, Richard Sandiford wrote:
> >> Spencer Abson writes:
> >> > On Thu, Jun 05, 2025 at 09:24:27PM +0100, Richard Sandiford wrote:
> >> >> Spencer Abson writes:
> >
On 6/13/25 2:57 PM, Marek Polacek wrote:
On Wed, Jun 04, 2025 at 09:18:45PM +0800, yxj-github-437 wrote:
This line seems wrongly indented, should be only two spaces more
than the if line:
if (check_for_bare_parameter_packs (expression))
expression = error_mark_node;
The patch LGTM other
On 6/14/25 8:13 AM, Iain Sandoe wrote:
Hi Jason,
+ point to the closing brace. */
+ input_location = fn_end;
If we're going to have the loc variable at all, how about adjusting it here...
Done.
resume_fn_ptr, zero_resume);
...so you don't need to chan
On 6/14/25 8:19 AM, Iain Sandoe wrote:
Hi Jason,
It seems that we had not been marking typeid expressions as unevaluated
so that is also added here.
This seems to be https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68604
But only some typeid expressions are unevaluated; the
https://eel.is/c+
The case 0 for vx combine def functions are most the same across
the different test files. Thus, re-arrange them in one place to
avoid code duplication.
OK.
--
Regards
Robin
From: Dhruv Chawla
Introduction
Per PR120229 (gcc.gnu.org/PR120229), the auto-profile pass cannot distinguish
profile information for `function_instance's with the same base name, when
suffixes are removed. To fix this, source file names should be tracked in the
GCOV file informatio
From: Dhruv Chawla
This patch modifies the auto-profile pass to read file names from GCOV. A
function is only annotated with a set of profile counts if its file name
matches the file name that the function in the GCOV file was recorded
with. It also bumps the GCOV version to 3 as the file format
On 2025-06-11 15:59, Richard Sandiford wrote:
Matthieu Longo writes:
GNU properties are emitted to provide some information about the features
used in the generated code like BTI, GCS, or PAC. However, no debug
comment are emitted in the generated assembly even if -dA is provided.
It makes unde
Hello, Georg-Johann,
On Jun 14, 2025, Georg-Johann Lay wrote:
> This patch introduces an ICE in lra-eliminations.cc:1200 for
> an existing test case.
You've responded to the patch that is supposed to *fix* that ICE, and
that I haven't even installed yet.
But I failed to change the subject when
Drop this patch since
https://gcc.gnu.org/pipermail/gcc-patches/2025-June/686830.html could
be a better alternative.
On Tue, Jun 10, 2025 at 9:50 AM Hongtao Liu wrote:
>
> Ping
>
> On Mon, May 19, 2025 at 10:06 AM liuhongt wrote:
> >
> > From: "hongtao.liu"
> >
> > AutoFDO profile is a scaled p
On Mon, Jun 16, 2025 at 4:30 PM Hongtao Liu wrote:
>
> >+enum redundant_load_kind
> >+{
> >+ LOAD_CONST0_VECTOR,
> >+ LOAD_CONSTM1_VECTOR,
> >+ LOAD_VECTOR
> >+};
> Perhaps rename to x86_cse_kind, X86_CSE_CONST0_VECTOR,
> X86_CSE_CONSTM1_VECTOR, X86_CSE_VEC_DUP?
> LOAD sounds a bit ambiguous.
>
Hi,
Currently afdo reads the profile and anotates basic blocks containing
statements which have samples in profile data. For basic blocks which has been
fully optimized out (for example, basic blocks controlling loops that has been
fully unrolled) it has no data which it then tries to determine in
On Wed, Apr 30, 2025 at 08:56:57AM +0200, Jakub Jelinek wrote:
> On Mon, Apr 28, 2025 at 07:27:31PM +0200, Josef Melcr wrote:
> > As for the attribute, I am honestly not too sure about what to do, as clang
> > is
> > not consistent in with its own indexing, be it with the unknown values, or
> > wit
>+enum redundant_load_kind
>+{
>+ LOAD_CONST0_VECTOR,
>+ LOAD_CONSTM1_VECTOR,
>+ LOAD_VECTOR
>+};
Perhaps rename to x86_cse_kind, X86_CSE_CONST0_VECTOR,
X86_CSE_CONSTM1_VECTOR, X86_CSE_VEC_DUP?
LOAD sounds a bit ambiguous.
Similar to ix86_get_vector_load_mode -> ix86_get_vector_cse_mode?
>+
We generated inefficient code for bitfield references to Advanced
SIMD structure modes. In RTL, these modes are just extra-long
vectors, and so inserting and extracting an element is simply
a vec_set or vec_extract operation.
For the record, I don't think these modes should ever become fully
fled
73 matches
Mail list logo