> Am 05.04.2024 um 21:59 schrieb Jørgen Kvalsvik :
>
> Hi,
>
> I propose these fixes for the current issues with the condition
> coverage.
>
> Rainer, I propose to simply delete the test with __sigsetjmp. I don't
> think it actually detects anything reasonable any more, I kept it around
>
> Am 05.04.2024 um 15:46 schrieb H.J. Lu :
>
> On Fri, Apr 5, 2024 at 1:21 AM Richard Biener wrote:
>>
>> There's no default bitmap obstack during global CTORs, so allocate the
>> bitmap locally.
>>
>> Bootstrap and regtest running on x
On Fri, 5 Apr 2024, Richard Biener wrote:
> The following makes sure to only compute upper bounds for the number
> of iterations of loops from undefined behavior invoked by stmts when
> those are executed in each loop iteration, in particular also in the
> last one. The l
The following makes sure to only compute upper bounds for the number
of iterations of loops from undefined behavior invoked by stmts when
those are executed in each loop iteration, in particular also in the
last one. The latter cannot be guaranteed if there's possible
infinite loops or calls with
The following adds another get_loop_body variant, one to get blocks
in RPO.
Bootstrapped on x86_64-unknown-linux-gnu, testing in progress.
* cfgloop.h (get_loop_body_in_rpo): Declare.
* cfgloop.cc (get_loop_body_in_rpo): Compute loop body in RPO.
---
gcc/cfgloop.cc | 68
The following passes down whether a stmt is always executed from
infer_loop_bounds_from_undefined to infer_loop_bounds_from_array.
The parameters were already documented. The patch doesn't remove
possibly redundant checks from idx_infer_loop_bounds yet.
Boostrapped on x86_64-unknown-linux-gnu,
On Tue, Apr 2, 2024 at 1:16 PM Richard Biener
wrote:
>
> On Tue, Apr 2, 2024 at 11:14 AM Thor Preimesberger via Gcc
> wrote:
> >
> > Forgot to CC the mailing list - mea culpa.
> >
> > -- Forwarded message -
> > From: Thor Preimesberger
On Fri, Apr 5, 2024 at 1:59 PM Pierrick Philippe
wrote:
>
> Hi all,
>
> I do have a question regarding ssa_name and result_decl.
>
> For example on the following gimple function:
>
> int f ()
> {
> int x;
> int D.2747;
> int _2;
>
>:
> x_1 = 42;
> _2 = x_1;
>
>:
> :
> return
On Fri, Apr 5, 2024 at 2:28 PM Manolis Tsamis wrote:
>
> If we consider code like:
>
> if (bar1 == x)
> return foo();
> if (bar2 != y)
> return foo();
> return 0;
>
> We would like the ifcombine pass to convert this to:
>
> if (bar1 == x || bar2 != y)
> return
ttribute__((noipa)) int
> +foo (float x, float y)
> +{
> + float a[8][56];
> + __builtin_memset (a, 0, sizeof (a));
> +
> + for (int j = 0; j < 8; j++)
> +for (int k = 0; k < 56; k++)
> + {
> + float b = k * y;
> + if (b < 0.)
> + b = 0.;
https://gcc.gnu.org/g:9ab8fdfeef5b1a47b358e08a98177b2fad65fed9
commit r14-9803-g9ab8fdfeef5b1a47b358e08a98177b2fad65fed9
Author: Richard Biener
Date: Fri Apr 5 10:16:41 2024 +0200
middle-end/114599 - fix bitmap allocation for
check_ifunc_callee_symtab_nodes
There's no default
dg/gcov.exp.jj 2024-04-04 21:45:56.025155257 +0200
> +++ gcc/testsuite/gdc.dg/gcov.exp 2024-04-05 10:20:23.678682559 +0200
> @@ -1,4 +1,4 @@
> -# Copyright (C) 1997-2023 Free Software Foundation, Inc.
> +# Copyright (C) 1997-2024 Free Software Foundation, Inc.
>
> # This program is free software; you can redistribute it and/or modify
> # it under the terms of the GNU General Public License as published by
>
> Jakub
>
>
--
Richard Biener
SUSE Software Solutions Germany GmbH,
Frankenstrasse 146, 90461 Nuernberg, Germany;
GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)
There's no default bitmap obstack during global CTORs, so allocate the
bitmap locally.
Bootstrap and regtest running on x86_64-unknown-linux-gnu.
Richard.
PR middle-end/114599
* symtab.cc (ifunc_ref_map): Do not use auto_bitmap.
(is_caller_ifunc_resolver): Optimize
On Thu, 4 Apr 2024, Tamar Christina wrote:
> Hi All,
>
> The report shows that we end up in a situation where the code has been peeled
> for gaps and we have an early break.
>
> The code for peeling for gaps assume that a scalar loop needs to perform at
> least one iteration. However this
The following speeds up stack variable conflict detection by recognizing
that the all-to-all conflict recording is only necessary for CFG merges
as it's the unioning of the live variable sets that doesn't come with
explicit mentions we record conflicts for.
If we employ this optimization we have
https://gcc.gnu.org/g:85621f98d245004a6c9787dde21e0acc17ab2c50
commit r14-9786-g85621f98d245004a6c9787dde21e0acc17ab2c50
Author: Richard Biener
Date: Thu Apr 4 10:00:51 2024 +0200
tree-optimization/114485 - neg induction with partial vectors
We can't use
t (T, f);
> +}
> +}
> +
> +struct A { signed char b : 1 = 0; signed char c : 7 = 0; };
> +struct D { unsigned char e; };
> +constexpr unsigned char f = std::bit_cast (A{}).e;
> +static_assert (f == 0);
>
> Jakub
>
>
--
Richard Biener
SUSE Software Solutions Germany GmbH,
Frankenstrasse 146, 90461 Nuernberg, Germany;
GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)
t; +/* { dg-options "-std=c23 -O -fno-tree-forwprop" } */
> +
> +#if __BITINT_MAXWIDTH__ >= 4139
> +struct S { _BitInt(31) : 6; _BitInt(513) b : 241; } s;
> +_BitInt(4139) a;
> +#endif
> +
> +void
> +foo (void)
> +{
> +#if __BITINT_MAXWIDTH__ >= 4139
> + int i = 0;
> + a -= s.b << i;
> +#endif
> +}
>
> Jakub
>
>
--
Richard Biener
SUSE Software Solutions Germany GmbH,
Frankenstrasse 146, 90461 Nuernberg, Germany;
GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)
We can't use vect_update_ivs_after_vectorizer for partial vectors,
the following fixes vect_can_peel_nonlinear_iv_p accordingly.
Bootstrap and regtest running on x86_64-unknown-linux-gnu.
We could handle this case by vectorizing the live lane but that's
a different thing and might be tackled
https://gcc.gnu.org/g:e152177b362143465e2b9d721ea632cae3f13445
commit r14-9781-ge152177b362143465e2b9d721ea632cae3f13445
Author: Richard Biener
Date: Wed Apr 3 14:53:30 2024 +0200
tree-optimization/114551 - loop splitting and undefined overflow
When loop splitting hoists a guard
When loop splitting hoists a guard computation it needs to make sure
that can be safely evaluated at this place when it was previously
only conditionally evaluated. The following fixes this for the
case of undefined overflow.
Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed.
On Wed, 3 Apr 2024, Tobias Burnus wrote:
> Found when working with -save-temps and looking at 'mkoffload'
> with a GCC configured for both nvptx and gcn offloading.
>
> Before (for 'a.out') for mkoffload:a.offload_args now:
> a.amdgcn-amdhsa.offload_args and a.nvptx-none.offload_args
> OK for
On Thu, Mar 28, 2024 at 4:03 AM Eugene Rozenfeld
wrote:
>
> auto-profile currently doesn't guarantee that it will set probabilities
> on all edges because of zero basic block counts. Normally those edges
> just have probabilities set by the preceding profile_estimate pass but
> under -O0
The following avoids re-walking and re-combining the instructions
between i2 and i3 when the pattern of i2 doesn't change.
Bootstrap and regtest running ontop of a reversal of
r14-9692-g839bc42772ba7a.
It brings down memory use frmo 9GB to 400MB and compile-time from
80s to 3.5s.
>
> Given that the two patches here (for
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111632) were considered obvious
> - and are needed on release branches.
>
> OK for backporting?
OK.
> (Gerald has volunteered to do the earlier ones, I have already made/tested
> t
On Wed, 3 Apr 2024, Jan Beulich wrote:
> On 03.04.2024 10:45, Jakub Jelinek wrote:
> > On Wed, Apr 03, 2024 at 10:22:24AM +0200, Christophe Lyon wrote:
> >> Any concerns/objections?
> >
> > I'm all for it, in fact I've been sending it like that myself for years
> > even when the policy said not
6793 +0200
> +++ gcc/testsuite/gcc.c-torture/execute/pr114552.c2024-04-02
> 16:03:49.829963659 +0200
> @@ -0,0 +1,24 @@
> +/* PR middle-end/114552 */
> +
> +struct __attribute__((packed)) S { short b; int c; };
> +struct T { struct S b; int e; };
> +static const struct T
On Wed, Apr 3, 2024 at 9:25 AM Jakub Jelinek wrote:
>
> Hi!
>
> The following patch attempts to implement P2809R3, which has been voted
> in as a DR.
>
> The middle-end has its behavior documented:
> '-ffinite-loops'
> Assume that a loop with an exit will eventually take the exit and
>
https://gcc.gnu.org/g:e7b7188b1cf8c174f0e890d4ac279ff480b51043
commit r14-9767-ge7b7188b1cf8c174f0e890d4ac279ff480b51043
Author: Richard Biener
Date: Tue Apr 2 12:31:04 2024 +0200
tree-optimization/114557 - reduce ehcleanup peak memory use
The following reduces peak memory use
On Tue, 2 Apr 2024, Richard Biener wrote:
> The following reduces peak memory use for the PR114480 testcase at -O1
> which is almost exclusively spent by the ehcleanup pass in allocating
> PHI nodes. The free_phinodes cache we maintain isn't very effective
> since it has effective
The following reduces peak memory use for the PR114480 testcase at -O1
which is almost exclusively spent by the ehcleanup pass in allocating
PHI nodes. The free_phinodes cache we maintain isn't very effective
since it has effectively two slots, one for 4 and one for 9 argument
PHIs and it is only
the host and the
> +# It sets various shell variables based on the host and the
> # configuration options. You can modify this shell script without needing
> # to rerun autoconf/aclocal/etc. This file is "sourced" not executed.
> #
> --- libvtv/vtv_rts.cc.jj
@endunless target-libstdc++-v3-bootstrap
> +@unless target-libatomic-bootstrap
> +all-target-libgm2: maybe-all-target-libatomic
> +@endunless target-libatomic-bootstrap
> +@unless target-libstdc++-v3-bootstrap
> +configure-target-libgrust: maybe-all-target-libstdc++-v3
> +@endunless target-libstdc++-v3-bootstrap
> +@unless target-libbacktrace-bootstrap
> +configure-target-libgfortran: maybe-all-target-libbacktrace
> +@endunless target-libbacktrace-bootstrap
> +@unless target-libbacktrace-bootstrap
> +configure-target-libgo: maybe-all-target-libbacktrace
> +@endunless target-libbacktrace-bootstrap
> +@endif gcc-bootstrap
> +
> @unless gcc-bootstrap
> all-gnattools: maybe-all-target-libstdc++-v3
> configure-libcc1: maybe-configure-gcc
>
>
> Jakub
>
>
--
Richard Biener
SUSE Software Solutions Germany GmbH,
Frankenstrasse 146, 90461 Nuernberg, Germany;
GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)
'll edit the
> plan a bit to emphasize interworking with tree-pretty-print, and
> checking the bugs that mention easyhack.
>
> Best,
> Thor Preimesberger
>
>
> On Tue, Apr 2, 2024 at 4:20 PM Richard Biener
> wrote:
> >
> > On Mon, Apr 1, 2024 at 6:23 PM Tho
C repository that adds an additional dump
> option (-fdump-generic-nodes) for the GENERIC intermediate
> representation that preserves it's tree structure before it is lowered
> to GIMPLE. We want to initially target JSON, and then provide a
> human-readable translation into HTML.
>
>
On Mon, Apr 1, 2024 at 3:36 PM Qing Zhao wrote:
>
> This is a bug in tree-ssa-math-opts.c, when applying the widening mul
> optimization, the compiler needs to check whether the operand is in a
> ABNORMAL PHI, if YES, we should avoid the transformation.
>
> PR tree-optimization/111407
>
>
On Sat, Mar 30, 2024 at 9:11 PM Tom Tromey wrote:
>
> Investigating GDB PR d/31580 showed that the libiberty demangler
> doesn't automatically demangle D mangled names. However, I think it
> should -- like C++ and Rust (new-style), D mangled names are readily
> distinguished by the leading "_D",
On Thu, Mar 28, 2024 at 8:35 PM Tom Tromey wrote:
>
> When debugging gcc, I tried calling debug_dwarf_die and I saw this
> output:
>
> DW_AT_location: location descriptor:
> (0x7fffe9c2e870) DW_OP_dup 0, 0
> (0x7fffe9c2e8c0) DW_OP_bra location descriptor (0x7fffe9c2e640)
> ,
https://gcc.gnu.org/g:0bad303944a1d2311c07d59912b4dfa7bff988c8
commit r14-9701-g0bad303944a1d2311c07d59912b4dfa7bff988c8
Author: Richard Biener
Date: Wed Mar 27 16:19:01 2024 +0100
middle-end/114480 - IDF compute is slow
The testcase in this PR shows very slow IDF compute
On Wed, 27 Mar 2024, Michael Matz wrote:
> Hey,
>
> On Wed, 27 Mar 2024, Jakub Jelinek wrote:
>
> > > @@ -1712,12 +1711,9 @@ compute_idf (bitmap def_blocks, bitmap_head *dfs)
> > >gcc_checking_assert (bb_index
> > > < (unsigned) last_basic_block_for_fn (cfun));
> >
> Am 27.03.2024 um 18:37 schrieb Peter0x44 :
>
>
>>
>>> >> > Another way would be to have a portable solution to truncate a file
>>> >> > (maybe even removing it would work). I don't think we should override
>>> >> > SHELL.
> I've been thinking harder about this, these files get unlinked
The testcase in this PR shows very slow IDF compute:
tree SSA rewrite : 76.99 ( 31%)
24.78%243663 cc1plus cc1plus [.] compute_idf
which can be mitigated to some extent by refactoring the bitmap
operations to simpler variants. With the patch below
On Wed, 27 Mar 2024, Jakub Jelinek wrote:
> On Wed, Mar 27, 2024 at 12:48:29PM +0100, Richard Biener wrote:
> > > The following patch attempts to fix the (view_convert (convert@0 @1))
> > > optimization. If TREE_TYPE (@0) is a _BitInt type with padding bits
> > >
On Wed, Mar 27, 2024 at 1:20 PM Xi Ruoyao wrote:
>
> On Wed, 2024-03-27 at 08:54 +0100, Richard Biener wrote:
> > On Tue, Mar 26, 2024 at 10:52 AM Xi Ruoyao wrote:
> > >
> > > The latency of LA464 and LA664 division instructions depends on the
> > > input
https://gcc.gnu.org/g:0b02da5b99e89347f5f8bf875ec8318f84adff18
commit r14-9687-g0b02da5b99e89347f5f8bf875ec8318f84adff18
Author: Richard Biener
Date: Wed Mar 27 11:37:16 2024 +0100
tree-optimization/114057 - handle BB reduction remain defs as LIVE
The following makes sure
The following makes sure to record the scalars we add to the BB
reduction vectorization result as scalar uses for the purpose of
computing live lanes. This restores vectorization in the
bondfree.c TU of 435.gromacs.
Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed.
PR
+ ok = (TYPE_PRECISION (type0)
> + == tree_to_uhwi (TYPE_SIZE (type0)));
> + }
> + }
> + else if (TYPE_PRECISION (type0) > TYPE_PRECISION (type1)
> +&& TYPE_UNSIGNED (type1))
> +
On Wed, Mar 27, 2024 at 10:13 AM peter0x44 wrote:
>
> On 2024-03-27 01:58, Richard Biener wrote:
> > On Wed, Mar 27, 2024 at 9:13 AM Peter0x44
> > wrote:
> >>
> >> I accidentally replied off-list. Sorry.
> >>
> >> 27 Mar 2024 8:09:30 am Pet
On Wed, Mar 27, 2024 at 9:13 AM Peter0x44 wrote:
>
> I accidentally replied off-list. Sorry.
>
> 27 Mar 2024 8:09:30 am Peter0x44 :
>
>
> 27 Mar 2024 7:51:26 am Richard Biener :
>
> > On Tue, Mar 26, 2024 at 11:37 PM Peter Damianov
> > wrote:
> >>
On Tue, Mar 26, 2024 at 10:52 AM Xi Ruoyao wrote:
>
> The latency of LA464 and LA664 division instructions depends on the
> input. When I updated the costs in r14-6642, I unintentionally set the
> division costs to the best-case latency (when the first operand is 0).
> Per a recent discussion
On Tue, Mar 26, 2024 at 11:37 PM Peter Damianov wrote:
>
> lto-wrapper generates Makefiles that use the following:
> touch -r file file.tmp && mv file.tmp file
> to truncate files.
> If there is no suitable "touch" or "mv" available, then this errors with
> "The system cannot find the file
__) / 2U;
> + unsigned b = 1U;
> + unsigned c = (a * 2U > b * 2U ? a * 2U : b * 2U) * 2U;
> + if (c != 0U)
> +__builtin_abort ();
> + int d = (-__INT_MAX__ - 1) / 2;
> + int e = 10;
> + int f = (d * 2 > e * 5 ? d * 2 : e * 5) * 6;
> + if (f != 120)
Target is amdgcn-unknown-amdhsa
Host is x86_64-pc-linux-gnu
=== gcc tests ===
Running target amdgcn-amdhsa-run/-march=gfx1036
FAIL: gcc.c-torture/execute/20210505-1.c -O0 (test for excess errors)
UNRESOLVED: gcc.c-torture/execute/20210505-1.c -O0 compilation failed to
https://gcc.gnu.org/g:f4e92d62dccb96ade753f3a8f49be1b5f61c31f1
commit r14-9666-gf4e92d62dccb96ade753f3a8f49be1b5f61c31f1
Author: Richard Biener
Date: Tue Mar 26 09:11:00 2024 +0100
tree-optimization/114471 - ICE with mismatching vector types
The following fixes too lax
The following fixes too lax verification of vector type compatibility
in vectorizable_operation. When we only have a single vector size then
comparing the number of elements is enough but with SLP we mix those
and thus for operations like BIT_AND_EXPR we need to verify compatible
element types as
https://gcc.gnu.org/g:226a220d0056396e825e12435cc0da52cbd5ac56
commit r14-9665-g226a220d0056396e825e12435cc0da52cbd5ac56
Author: Richard Biener
Date: Tue Mar 26 09:39:30 2024 +0100
tree-optimization/114464 - verify types in recurrence vectorization
The following adds missing
The following adds missing verification of vector type compatibility
to recurrence vectorization.
Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed.
PR tree-optimization/114464
* tree-vect-loop.cc (vectorizable_recurr): Verify the latch
vector type is compatible
* { dg-options "-fsanitize=thread -fdump-tree-optimized -ffat-lto-objects"
> } */
> +/* { dg-final { scan-tree-dump-not "__tsan_read" "optimized" } } */
> +/* { dg-final { scan-tree-dump-not "__tsan_write" "optimized" } } */
> +
> +#ifdef __x86_6
On Tue, Mar 26, 2024 at 9:43 AM Stefan Schulze Frielinghaus
wrote:
>
> This fixes the test on s390x. I'm also seeing test failures for
> riscv64-suse-linux-gnu, m68k-unknown-linux-gnu, pru-unknown-elf, and
> powerpc64le-unknown-linux-gnu. However, I didn't check them so this
> might or might
https://gcc.gnu.org/g:66090b8f438daff7b529f9adae0d6d5be7aa2a1f
commit r13-8497-g66090b8f438daff7b529f9adae0d6d5be7aa2a1f
Author: Richard Biener
Date: Tue Mar 26 09:46:06 2024 +0100
tree-optimization/114027 - fix testcase
The following fixes out-of-bounds read in the testcase
https://gcc.gnu.org/g:4470611e20f3217ee81647b01fda65b6a62229aa
commit r14-9662-g4470611e20f3217ee81647b01fda65b6a62229aa
Author: Richard Biener
Date: Tue Mar 26 09:46:06 2024 +0100
tree-optimization/114027 - fix testcase
The following fixes out-of-bounds read in the testcase
The following fixes out-of-bounds read in the testcase.
Pushed to trunk and branch.
PR tree-optimization/114027
* gcc.dg/vect/pr114027.c: Fix iteration count.
---
gcc/testsuite/gcc.dg/vect/pr114027.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git
On Mon, Mar 25, 2024 at 9:54 PM Eugene Rozenfeld via Gcc
wrote:
>
> Hello,
>
> I've been the AutoFDO maintainer for the last 1.5 years. I've resurrected
> autoprofiledbootstrap build and made a number of other fixes/improvements
> (e.g., discriminator support).
>
> The tools for AutoFDO
On Mon, 25 Mar 2024, Richard Biener wrote:
> Add support for the gfx1036 RDNA2 APU integrated graphics devices. The ROCm
> documentation warns that these may not be supported, but it seems to work
> at least partially.
>
> x86 host bootstrap/regtest running, target-
https://gcc.gnu.org/g:78b56a12dd028b9b4051422c6bad6260055e4465
commit r14-9654-g78b56a12dd028b9b4051422c6bad6260055e4465
Author: Richard Biener
Date: Mon Mar 25 11:24:08 2024 +0100
amdgcn: Add gfx1036 target
Add support for the gfx1036 RDNA2 APU integrated graphics devices
On Mon, 25 Mar 2024, Tobias Burnus wrote:
> Richard Biener wrote:
> > I'll follow up with the libgomp testing test summary for archival
> > purposes. I still see linker errors for testcases using -g
> > (the ld: ^[[0;31merror: ^[[0mincompatible mach:
> > /tmp/ccr0
On Mon, 25 Mar 2024, Andre Vieira (lists) wrote:
> Hi,
>
> After the backport off PR target/112787 a failure was reported against x86_64,
> this would be fixed by backporting:
> * tree-optimization/91838 - fix FAIL of g++.dg/opt/pr91838.C
> (d1c072a1c3411a6fe29900750b38210af8451eeb)
> *
Add support for the gfx1036 RDNA2 APU integrated graphics devices. The ROCm
documentation warns that these may not be supported, but it seems to work
at least partially.
x86 host bootstrap/regtest running, target-libgomp testing for the
offload produces results comparable to those of gfx1030.
rmations that works on loop nests. It
> -includes loop interchange, scaling, skewing and reversal and they are
> -all geared to the optimization of data locality in array traversals
> -and the removal of dependencies that hamper optimizations such as loop
> -parallelization and vectorizatio
On Mon, 25 Mar 2024, Chenghui Pan wrote:
> Current document of Tree SSA passes contains many parts that is not
> updated for many years.
>
> This patch removes some info that is outdated and not existed in
> current GCC codebase, and fixes some wrong code location descriptions
> based on current
> Am 23.03.2024 um 08:59 schrieb Jakub Jelinek :
>
> Hi!
>
> We ICE on the following testcase, because handle_cast was incorrectly
> testing !m_first to see whether it should use m_data[m_bitfld_load + 1]
> or fresh SSA_NAME for a PHI result.
> Now, m_first is in the routine sometimes
> Am 23.03.2024 um 08:56 schrieb Jakub Jelinek :
>
> Hi!
>
> The task of the build_bitint_stmt_ssa_conflicts hook for
> tree-ssa-coalesce.cc next to special casing the
> multiplication/division/modulo is to ignore statements with
> large/huge _BitInt lhs which isn't in names bitmap and on
> Am 23.03.2024 um 08:49 schrieb Jakub Jelinek :
>
> Hi!
>
> On the following testcases, there is no overlap between data references
> within a single iteration, but the data references have size which is twice
> as large as the step, which means the data references overlap with the next
>
On Fri, Mar 22, 2024 at 5:20 AM Andrew Pinski wrote:
>
> This another one of these ICE after error issues with the
> gimplifier and a fallout from r12-3278-g823685221de986af.
> This case happens when we are trying to fold memcpy/memmove.
> There is already code to try to catch ERROR_MARKs as
On Thu, Mar 21, 2024 at 8:56 PM Jeff Law wrote:
>
>
>
> On 3/21/24 11:19 AM, Vineet Gupta wrote:
>
> >>
> >> So if we go back to Robin's observation that scheduling dramatically
> >> increases the instruction count, perhaps we try a run with
> >> -fno-schedule-insns -fno-schedule-insns2 and see
On Thu, Mar 21, 2024 at 5:07 PM Andrew Stubbs wrote:
>
> On 21/03/2024 15:18, Richard Biener wrote:
> > On Thu, Mar 21, 2024 at 3:23 PM Andrew Stubbs wrote:
> >>
> >> My previous patch to fix this problem with xor was rejected because we
> >> want to fi
/* { dg-final { scan-tree-dump-not "p_\[0-9]*.D. \[=!]= 0" "optimized" } } */
> +
> +#ifdef __x86_64__
> +#define SEG __seg_fs
> +#else
> +#define SEG __seg_gs
> +#endif
> +
> +int
> +foo (int SEG *p, int *q)
> +{
> + return *p;
> +}
> +
> +__attribute__((no_sanitize("alignment"))) int
> +bar (int SEG *p, int *q)
> +{
> + return *p;
> +}
>
> Jakub
>
>
--
Richard Biener
SUSE Software Solutions Germany GmbH,
Frankenstrasse 146, 90461 Nuernberg, Germany;
GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)
n_abort ();
> + a = y >> (22658 - 22656);
> + s6.b = a;
> + f6 ();
> + if (s6.b != a - 6)
> +__builtin_abort ();
> + a = x >> (22658 - 22593);
> + s7.b = a;
> + f7 ();
> + if (s7.b != a - 7)
> +__builtin_abort ();
> + a = y >> (22658
On Thu, Mar 21, 2024 at 3:23 PM Andrew Stubbs wrote:
>
> My previous patch to fix this problem with xor was rejected because we
> want to fix these issues only at the point of use. That patch produced
> slightly better code, in this example, but this works too
>
> These patches fix up a
https://gcc.gnu.org/g:42d5985e9884299c8d837ad1588fb47b211b4baf
commit r13-8485-g42d5985e9884299c8d837ad1588fb47b211b4baf
Author: Richard Biener
Date: Wed Dec 13 14:23:31 2023 +0100
tree-optimization/112793 - SLP of constant/external code-generated twice
The following makes
https://gcc.gnu.org/g:04fffbaa87997ac893a9aa68b674c938ba3ecddb
commit r13-8486-g04fffbaa87997ac893a9aa68b674c938ba3ecddb
Author: Richard Biener
Date: Tue Mar 5 10:55:56 2024 +0100
tree-optimization/114231 - use patterns for BB SLP discovery root stmts
The following makes sure
https://gcc.gnu.org/g:ac664905b837095b15099e44e83471672eee7aa9
commit r13-8484-gac664905b837095b15099e44e83471672eee7aa9
Author: Richard Biener
Date: Wed Jan 31 09:09:50 2024 +0100
tree-optimization/113670 - gather/scatter to/from hard registers
The following makes sure we're
https://gcc.gnu.org/g:d4c0800aab864bb95260e12342d18695c6ebbec8
commit r13-8483-gd4c0800aab864bb95260e12342d18695c6ebbec8
Author: Richard Biener
Date: Mon Jan 29 09:47:31 2024 +0100
middle-end/113622 - allow .VEC_SET and .VEC_EXTRACT for global hard regs
The following expands
https://gcc.gnu.org/g:a9a425df628ab80374cc6a132d39e470bc78c8bc
commit r13-8480-ga9a425df628ab80374cc6a132d39e470bc78c8bc
Author: Richard Biener
Date: Fri Feb 23 16:06:05 2024 +0100
middle-end/114070 - folding breaking VEC_COND expansion
The following properly guards
https://gcc.gnu.org/g:9a19811ea1e9b3024c0f41b074d71679088bb2d7
commit r13-8478-g9a19811ea1e9b3024c0f41b074d71679088bb2d7
Author: Richard Biener
Date: Wed Feb 14 12:33:13 2024 +0100
tree-optimization/113910 - huge compile time during PTA
For the testcase in PR113910 we spend a lot
https://gcc.gnu.org/g:a729b1227bc8c84cd91a3b8c9c9d11bc43d415de
commit r13-8482-ga729b1227bc8c84cd91a3b8c9c9d11bc43d415de
Author: Richard Biener
Date: Mon Mar 4 10:38:31 2024 +0100
tree-optimization/114203 - wrong CLZ niter computation
For precision less than int we apply
https://gcc.gnu.org/g:a3ff14ac4804be400a52dcf630f0de2d57cae835
commit r13-8481-ga3ff14ac4804be400a52dcf630f0de2d57cae835
Author: Richard Biener
Date: Thu Feb 29 09:22:19 2024 +0100
middle-end/114070 - VEC_COND_EXPR folding
The following amends the PR114070 fix to optimistically
https://gcc.gnu.org/g:bd276b5340563182f7d95c383196fdd6fb7e6a1d
commit r13-8479-gbd276b5340563182f7d95c383196fdd6fb7e6a1d
Author: Richard Biener
Date: Thu Feb 22 10:50:12 2024 +0100
tree-optimization/114027 - conditional reduction chain
When we classify a conditional reduction
https://gcc.gnu.org/g:dd1948d467dc25b9b462b173ec40b95f6aa51356
commit r13-8477-gdd1948d467dc25b9b462b173ec40b95f6aa51356
Author: Richard Biener
Date: Mon Jan 22 15:42:59 2024 +0100
debug/112718 - reset all type units with -ffat-lto-objects
When mixing -flto, -ffat-lto-objects
https://gcc.gnu.org/g:6d5eb47849bcf9aecefacf7d7e4767750b1ec83b
commit r13-8476-g6d5eb47849bcf9aecefacf7d7e4767750b1ec83b
Author: Richard Biener
Date: Thu Mar 21 08:30:39 2024 +0100
tree-optimization/111736 - avoid address sanitizing of __seg_gs
The following more thoroughly
On Thu, 21 Mar 2024, Jakub Jelinek wrote:
> On Thu, Mar 21, 2024 at 10:50:04AM +0100, Richard Biener wrote:
> > Fixed and pushed. I suppose for address-spaces nested within the
> > generic address space we could instrument the address converted to
> > the generic address spa
On Thu, 21 Mar 2024, Rainer Orth wrote:
> gcc.dg/vect/bb-slp-32.c currently XPASSes on 32 and 64-bit Solaris/SPARC:
>
> XPASS: gcc.dg/vect/bb-slp-32.c -flto -ffat-lto-objects scan-tree-dump slp2
> "vectorization is not profitable"
> XPASS: gcc.dg/vect/bb-slp-32.c scan-tree-dump slp2
On Thu, 21 Mar 2024, Jakub Jelinek wrote:
> On Thu, Mar 21, 2024 at 10:25:24AM +0100, Richard Biener wrote:
> > The following more thoroughly avoids address sanitizing accesses
> > to non-generic address-spaces.
> >
> > Bootstrapped and tested on x86_64-unk
https://gcc.gnu.org/g:134ef2a8cac1a5cc718739bd7d3b3472947c80d6
commit r14-9590-g134ef2a8cac1a5cc718739bd7d3b3472947c80d6
Author: Richard Biener
Date: Thu Mar 21 08:30:39 2024 +0100
tree-optimization/111736 - avoid address sanitizing of __seg_gs
The following more thoroughly
The following more thoroughly avoids address sanitizing accesses
to non-generic address-spaces.
Bootstrapped and tested on x86_64-unknown-linux-gnu.
OK?
Thanks,
Richard.
PR tree-optimization/111736
* asan.cc (instrument_derefs): Do not instrument accesses
to non-generic
On Thu, Mar 21, 2024 at 9:35 AM liuhongt wrote:
>
> wi::from_mpz doesn't take a sign argument, we want it to be wrapped
> instead of saturation, so pass utype and true to it, and it fixes the
> bug.
>
> Bootstrapped and regtested on x86_64-pc-linux-gnu{-m32,}.
> Ok for trunk and backport to
8342628768636932743029911wb) != -1
> + || foo (336225022742818342628768636932743029912uwb,
> + -336225022742818342628768636932743029911wb) != -1
> + || foo (336225022742818342628768636932743029911uwb,
> + -336225022742818342628768636932743029912wb) != 0)
> +__builtin_abort ();
> +#endif
> +#if __BITINT_MAXWIDTH__ >= 192
> + if (bar (336225022742818342628768636932743029911uwb,
> +-336225022742818342628768636932743029911wb) != -1
> + || bar (336225022742818342628768636932743029912uwb,
> + -336225022742818342628768636932743029911wb) != -1
> + || bar (336225022742818342628768636932743029911uwb,
> + -336225022742818342628768636932743029912wb) != 0)
> +__builtin_abort ();
> +#endif
> +}
>
> Jakub
>
>
--
Richard Biener
SUSE Software Solutions Germany GmbH,
Frankenstrasse 146, 90461 Nuernberg, Germany;
GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)
https://gcc.gnu.org/g:9d6ff6f1ea2ae7fc32ec9fbd0554fb06238ed045
commit r14-9589-g9d6ff6f1ea2ae7fc32ec9fbd0554fb06238ed045
Author: Richard Biener
Date: Tue Mar 19 14:50:06 2024 +0100
tree-optimization/113727 - bogus SRA with BIT_FIELD_REF
When SRA analyzes BIT_FIELD_REFs it handles
https://gcc.gnu.org/g:3a1fe1d6d9412430435b9672f3a1967a395d191d
commit 3a1fe1d6d9412430435b9672f3a1967a395d191d
Author: Richard Biener
Date: Wed Mar 20 14:55:08 2024 +0100
Improve combined store node splitting
The following improves on the initial "Avoid splitting store da
_int_cst (integer_type_node, 0);
> + errlen = integer_zero_node;
> }
>
> size = fold_convert (size_type_node, size);
> @@ -1903,7 +1903,7 @@ gfc_deallocate_with_status (tree pointer
> if (descr)
> cond = fold_build2_loc (input_location, EQ_EXPR, boolean_type_node,
> gfc_conv_descriptor_version (descr),
> - build_int_cst (integer_type_node, 1));
> + integer_one_node);
> else
> cond = gfc_omp_call_is_alloc (pointer);
> omp_tmp = builtin_decl_explicit (BUILT_IN_GOMP_FREE);
> @@ -1917,7 +1917,7 @@ gfc_deallocate_with_status (tree pointer
>0));
>if (flag_openmp_allocators && descr)
> gfc_add_modify (_null, gfc_conv_descriptor_version (descr),
> - build_zero_cst (integer_type_node));
> + integer_zero_node);
>
>if (status != NULL_TREE && !integer_zerop (status))
> {
> @@ -1946,7 +1946,7 @@ gfc_deallocate_with_status (tree pointer
> {
> gcc_assert (errlen == NULL_TREE);
> errmsg = null_pointer_node;
> - errlen = build_zero_cst (integer_type_node);
> + errlen = integer_zero_node;
> }
>else
> {
>
> Jakub
>
>
--
Richard Biener
SUSE Software Solutions Germany GmbH,
Frankenstrasse 146, 90461 Nuernberg, Germany;
GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)
801 - 900 of 28319 matches
Mail list logo