/* cost of cheap SSE instruction. */
> + COSTS_N_INSNS (3), /* cost of SSE FP instruction. */
>COSTS_N_INSNS (3), /* cost of ADDSS/SD SUBSS/SD insns. */
>COSTS_N_INSNS (3), /* cost of MULSS instruction. */
>COSTS_N_INSNS (3), /* cost of MULSD instruction. */
> @@ -3913,6 +3944,7 @@ struct processor_costs generic_cost = {
>COSTS_N_INSNS (14),/* cost of FSQRT instruction.
> */
>
>COSTS_N_INSNS (1), /* cost of cheap SSE instruction. */
> + COSTS_N_INSNS (3), /* cost of SSE FP instruction. */
>COSTS_N_INSNS (3), /* cost of ADDSS/SD SUBSS/SD insns. */
>COSTS_N_INSNS (4), /* cost of MULSS instruction. */
>COSTS_N_INSNS (5), /* cost of MULSD instruction. */
> @@ -4042,6 +4074,7 @@ struct processor_costs core_cost = {
>COSTS_N_INSNS (23),/* cost of FSQRT instruction.
> */
>
>COSTS_N_INSNS (1), /* cost of cheap SSE instruction. */
> + COSTS_N_INSNS (3), /* cost of SSE FP instruction. */
>COSTS_N_INSNS (3), /* cost of ADDSS/SD SUBSS/SD insns. */
>COSTS_N_INSNS (4), /* cost of MULSS instruction. */
>COSTS_N_INSNS (5), /* cost of MULSD instruction. */
>
--
Richard Biener
SUSE Software Solutions Germany GmbH,
Frankenstrasse 146, 90461 Nuernberg, Germany;
GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)
On Thu, Apr 17, 2025 at 2:10 PM Eric Botcazou wrote:
>
> > That looks like a good place - can we possibly say sth about signedness a
> > well? IIRC all languages have unsigned bools but vector mask components are
> > signed bools?
>
> Not really the right person to answer the above second ? I'm af
Status
==
We have reached zero P1 regressions and branched for the GCC 15
release. This leaves trunk which is to become GCC 16 next year
open for general development, Stage 1, again. Please refrain
from disrupting git master too much so that last-minute fixes
for GCC 15.1 can be staged there
We have branched for the GCC 15 release. All changes on the releases/gcc-15
branch require release manager approval now.
Quality Data
Priority # Change from last report
--- ---
P1 - 17
P2 580- 2
On Thu, Apr 17, 2025 at 10:19 AM Eric Botcazou wrote:
>
> > LGTM. I do wonder if this could be documented somewhere if not
> > already. Because I suspect there are other places which miss that if
> > TYPE_PRECISION are equal, you might still need a cast for boolean
> > types. Maybe a helper functi
On Wed, Apr 16, 2025 at 10:55 PM Andrew MacLeod wrote:
>
> This was a fun one! An actual bug, and it took a while to sort out.
> After chasing down some red herrings, this turns out to be an issue of
> interaction between the range and value masks and intervening calculations.
>
> The original p
> Am 16.04.2025 um 23:37 schrieb Tamar Christina :
>
> Hi All,
>
> The following testcase shows an incorrect masked codegen:
>
> #define N 512
> #define START 1
> #define END 505
>
> int x[N] __attribute__((aligned(32)));
>
> int __attribute__((noipa))
> foo (void)
> {
> int z = 0;
> for
> Am 16.04.2025 um 15:24 schrieb Eric Botcazou :
>
> Hi,
>
> this is a regression introduced on the mainline and 14 branch by:
> https://gcc.gnu.org/pipermail/gcc-cvs/2023-October/391658.html
>
> The change bypasses int_fits_type_p (essentially) to work around the
> signedness constraints,
> - if (++h == NLOCKS)
> - h = 0;
> - i += WATCH_SIZE;
> + size_t j = h + nlocks - NLOCKS;
> + for (; i < j; ++i)
> + if (locks[i].mutex)
> + ReleaseMutex (locks[i].mutex);
> }
> - while (i < n);
> +
> + for (; i < nlocks; ++i, ++h)
> +if (locks[h].mutex)
> + ReleaseMutex (locks[h].mutex);
> }
>
> Jakub
>
>
--
Richard Biener
SUSE Software Solutions Germany GmbH,
Frankenstrasse 146, 90461 Nuernberg, Germany;
GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)
LOCKS;
>
> - do
> + if (__builtin_expect (h + nlocks > NLOCKS, 0))
> {
> - pthread_mutex_unlock (&locks[h].mutex);
> - if (++h == NLOCKS)
> - h = 0;
> - i += WATCH_SIZE;
> + size_t j = h + nlocks - NLOCKS;
> + for (; i < j; ++i)
> + pthread_mutex_unlock (&locks[i].mutex);
> }
> - while (i < n);
> +
> + for (; i < nlocks; ++i)
> +pthread_mutex_unlock (&locks[h++].mutex);
> }
>
> Jakub
>
>
--
Richard Biener
SUSE Software Solutions Germany GmbH,
Frankenstrasse 146, 90461 Nuernberg, Germany;
GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)
On Tue, Apr 15, 2025 at 4:33 PM Jeff Law wrote:
>
>
>
> On 4/15/25 7:57 AM, Andreas Schwab wrote:
> > * configure.tgt: Set LIBGCOBOL_SUPPORTED for riscv64-*-linux* with
> > 64-bit multilib.
> Can't say I'm happy with the amount of Cobol related churn at this phase
> in our cycle. But
The following tries to address us BB vectorizing a loop body that
swaps consecutive elements of an array like for bubble-sort. This
causes the vector store in the previous iteration to fail to forward
to the vector load in the current iteration since there's a partial
overlap.
We try to detect th
cality:71m1.882s
>
>
> On 2025/4/15 22:38, Kyrylo Tkachov wrote:
> >
> >> On 15 Apr 2025, at 15:42, Richard Biener
> >> wrote:
> >>
> >> On Mon, Apr 14, 2025 at 3:11 PM Kyrylo Tkachov wrote:
> >>> Hi Honza,
> >>>
> &g
; + return 0;
> +}
> diff --git a/gcc/tree-vect-stmts.cc b/gcc/tree-vect-stmts.cc
> index
> 7f874354e75e8d4d3a7196df4e9b559ac641827c..8f67483a943705d89e3f6d744cb2bdb5cf8b44db
> 100644
> --- a/gcc/tree-vect-stmts.cc
> +++ b/gcc/tree-vect-stmts.cc
> @@ -13781,6 +13781,20 @@ vectoriz
arly-break_18.c
> @@ -2,7 +2,7 @@
> /* { dg-do compile } */
> /* { dg-require-effective-target vect_early_break } */
> /* { dg-require-effective-target vect_int } */
> -
> +/* { dg-additional-options "-march=gfx908" { target amdgcn*-*-* } } */
> /* { dg-addition
818,6 +818,11 @@ public:
> elements that should be false in the first mask). */
>tree mask_skip_niters;
>
> + /* If we are using a loop mask to align memory addresses and we're in an
> + early break loop then this variable contains the number of elements that
> + were skipped during the initial iteration of the loop. */
> + tree mask_skip_niters_pfa_offset;
> +
>/* The type that the loop control IV should be converted to before
> testing which of the VF scalars are active and inactive.
> Only meaningful if LOOP_VINFO_USING_PARTIAL_VECTORS_P. */
> @@ -854,6 +859,9 @@ public:
>/* The mask used to check the alignment of pointers or arrays. */
>int ptr_mask;
>
> + /* Indicates whether the loop has any non-linear IV. */
> + bool nonlinear_iv;
> +
>/* Data Dependence Relations defining address ranges that are candidates
> for a run-time aliasing check. */
>auto_vec may_alias_ddrs;
> @@ -1064,6 +1072,7 @@ public:
> #define LOOP_VINFO_MASKS(L)(L)->masks
> #define LOOP_VINFO_LENS(L) (L)->lens
> #define LOOP_VINFO_MASK_SKIP_NITERS(L) (L)->mask_skip_niters
> +#define LOOP_VINFO_MASK_NITERS_PFA_OFFSET(L) (L)->mask_skip_niters_pfa_offset
> #define LOOP_VINFO_RGROUP_COMPARE_TYPE(L) (L)->rgroup_compare_type
> #define LOOP_VINFO_RGROUP_IV_TYPE(L) (L)->rgroup_iv_type
> #define LOOP_VINFO_PARTIAL_VECTORS_STYLE(L) (L)->partial_vector_style
> @@ -1073,6 +1082,7 @@ public:
> #define LOOP_VINFO_DDRS(L) (L)->shared->ddrs
> #define LOOP_VINFO_INT_NITERS(L) (TREE_INT_CST_LOW
> ((L)->num_iters))
> #define LOOP_VINFO_PEELING_FOR_ALIGNMENT(L) (L)->peeling_for_alignment
> +#define LOOP_VINFO_NON_LINEAR_IV(L)(L)->nonlinear_iv
> #define LOOP_VINFO_UNALIGNED_DR(L) (L)->unaligned_dr
> #define LOOP_VINFO_MAY_MISALIGN_STMTS(L) (L)->may_misalign_stmts
> #define LOOP_VINFO_MAY_ALIAS_DDRS(L) (L)->may_alias_ddrs
> @@ -2138,8 +2148,14 @@ unlimited_cost_model (loop_p loop)
> inline bool
> vect_use_loop_mask_for_alignment_p (loop_vec_info loop_vinfo)
> {
> + /* With early break vectorization we don't know whether the accesses will
> stay
> + inside the loop or not. TODO: The early break adjustment code can be
> + implemented the same way as vectorizable_linear_induction. However we
> + can't test this today so reject it. */
>return (LOOP_VINFO_FULLY_MASKED_P (loop_vinfo)
> - && LOOP_VINFO_PEELING_FOR_ALIGNMENT (loop_vinfo));
> + && LOOP_VINFO_PEELING_FOR_ALIGNMENT (loop_vinfo)
> + && !(LOOP_VINFO_NON_LINEAR_IV (loop_vinfo)
> +&& LOOP_VINFO_EARLY_BREAKS (loop_vinfo)));
> }
>
> /* Return the number of vectors of type VECTYPE that are needed to get
>
>
>
--
Richard Biener
SUSE Software Solutions Germany GmbH,
Frankenstrasse 146, 90461 Nuernberg, Germany;
GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)
name might include a list of options; extract the file name.
> set filename [lindex $testcase 0]
> @@ -1048,6 +1056,7 @@ proc check-function-bodies { args } {
> # (name in \1). This may be different from '$config(start)'.
> set start_expected {^(\S+):$}
>
&
0200
> @@ -0,0 +1,24 @@
> +/* PR middle-end/119808 */
> +/* { dg-do run { target { bitint && fstack_protector } } } */
> +/* { dg-options "-O0 -ftree-coalesce-vars -fstack-protector-strong" } */
> +
> +#if __BITINT_MAXWIDTH__ >= 129
> +_BitInt(129)
> +foo ()
> +{
> + _BitInt(129) b = 0;
> + _BitInt(8) a
> +=__builtin_stdc_rotate_right (0x8c82111b5d2d37c57e9ada7213ed95a49uwb, b);
> + return b;
> +}
> +#endif
> +
> +int
> +main ()
> +{
> +#if __BITINT_MAXWIDTH__ >= 129
> + _BitInt(129) x = foo ();
> + if (x)
> +__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)
The following installs gcobol.3 as gcobol-io.3 and applies
program-transform-name to the gcobol-io part. This follows
naming of the pdf and the html variants.
It also uses $(man1ext) and $(man3ext) consistently.
Built and installed on x86_64-unknown-linux-gnu.
OK?
Thanks,
Richard.
PR c
On Mon, Apr 14, 2025 at 3:11 PM Kyrylo Tkachov wrote:
>
> Hi Honza,
>
> > On 13 Apr 2025, at 23:19, Jan Hubicka wrote:
> >
> >> +@opindex fipa-reorder-for-locality
> >> +@item -fipa-reorder-for-locality
> >> +Group call chains close together in the binary layout to improve code code
> >> +localit
On Tue, 15 Apr 2025, Jakub Jelinek wrote:
> On Tue, Apr 15, 2025 at 01:56:25PM +0200, Richard Biener wrote:
> > On Tue, 15 Apr 2025, Jakub Jelinek wrote:
> >
> > > On Mon, Mar 31, 2025 at 03:34:07PM +0200, Martin Jambor wrote:
> > > > This patch just introdu
On Tue, 15 Apr 2025, Tamar Christina wrote:
> > -Original Message-
> > From: Richard Biener
> > Sent: Tuesday, April 15, 2025 12:50 PM
> > To: Tamar Christina
> > Cc: Richard Sandiford ; gcc-patches@gcc.gnu.org;
> > nd
> > Subject: RE: [PATCH]
);
> +
> + /* And then generate the adjustment to avoid the
> +update code from updating this new usage. The
> +multiplicaiton is to get the original IV and the
> +downwards coun
On Tue, 15 Apr 2025, Jakub Jelinek wrote:
> On Mon, Mar 31, 2025 at 03:34:07PM +0200, Martin Jambor wrote:
> > This patch just introduces a form of dumping of widest ints that only
> > have zeros in the lowest 128 bits so that instead of printing
> > thousands of f's the output looks like:
> >
>
l_calls (e->src, &tailcalls, only_musttail,
> +opt_tailcalls, diag_musttail,
> +retry_tsan_func_exit);
> + }
> + }
> }
>if (cfun->has_musttail && diag_musttail)
> {
>
TREE_TYPE (stmt_lhs), stmt_lhs,
> > > + tmp2);
> > > + else
> > > + {
> > > + tmp2
> > > + = gimple_convert (&iv_stmts
> Am 14.04.2025 um 18:19 schrieb Jakub Jelinek :
>
> Hi!
>
> This is a regression on some targets introduced I believe by r6-2055
> which added mode argument to set_src_cost.
>
> The problem here is that in the first iteration, mode is always QImode
> and we get as -Os zero cost set_src_cost
> Am 14.04.2025 um 18:13 schrieb Jakub Jelinek :
>
> Hi!
>
> There seems to be inconsistency in the -fmax-errors option
> naming. It is a generic option in common.opt (so applies
> to all languages) but with the = character in it.
> The gcobol.1 man page in one spot documents the generic
> o
> Am 14.04.2025 um 17:56 schrieb Jakub Jelinek :
>
> Hi!
>
> The comment is incorrect, fsyntax-only is not documented in c.opt,
> but in common.opt:
> fsyntax-only
> Common Var(flag_syntax_only)
> Check for syntax errors, then stop.
> and as such it applies to all languages, so adding CL_Cobo
> Am 14.04.2025 um 17:47 schrieb Jakub Jelinek :
>
> Hi!
>
> Andrew P. mentioned earlier he'd like to see in the dump files a note
> whether it was a failed must tail call or not.
> We already print that on the tailc/musttail pass side, because
> print_gimple_stmt prints [must tail call] afte
> Am 14.04.2025 um 17:59 schrieb Jakub Jelinek :
>
> Hi!
>
> I was looking through options.cc diff between GCC 14 and 15, looking for
> entries with added CL_Cobol where at least one other language is present
> and was present before too. Besides the -fsyntax-only changes this is
> the only
The following makes sure to not mix masked/non-masked stmts when
forming a SLP node.
Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed.
PR tree-optimization/119757
* tree-vect-slp.cc (vect_build_slp_tree_1): Record and compare
whether a stmt uses a maks.
When inlining a call that abnormally transfers control-flow we make
all inlined calls that can possibly transfer abnormal control-flow
do so as well. But we failed to mark the calls as altering
control-flow. This results in inconsistent behavior later and
possibly wrong-code (we'd eventually prun
ot;#define HOST_HAS_PERSONALITY_ADDR_NO_RANDOMIZE 1" >>confdefs.h
> +
> +fi
> +
>
> # C++ Modules would like some networking features to provide the mapping
> # server. You can still use modules without them though.
> @@ -21484,7 +21520,7 @@ else
>lt_dl
On Fri, Apr 11, 2025 at 5:55 PM Eric Botcazou wrote:
>
> Hi,
>
> this applies the same magic to config/i386/gthr-win32.h that was applied to
> gthr-posix.h (https://gcc.gnu.org/cgit/gcc/commit/?id=6a4d1c374eed17) for the
> sake of C++ modules (thanks to Andrew for the pointer!).
>
> Built for {i68
> Am 11.04.2025 um 20:54 schrieb Jakub Jelinek :
>
> Hi!
>
> Here is an optional incremental tweak to the previous patch.
> Instead of
>
> ./xgcc -B ./ -S -O2 -fdump-{tree-tailc,rtl-expand}-details pr119718.c ; grep
> -B1 '^\(;; \)\?Cannot tail-call:' pr119718.c.*
> pr119718.c.222t.tailc-_7
> Am 11.04.2025 um 21:10 schrieb Jakub Jelinek :
>
> Hi!
>
> With --enable-host-pie -freport-bug almost never prepares preprocessed
> source and instead emits
> The bug is not reproducible, so it is likely a hardware or OS problem.
> message even for bogus which are 100% reproducible.
> The w
> Am 11.04.2025 um 21:06 schrieb Jakub Jelinek :
>
> Hi!
>
> The following patch is miscompiled, because during the limited
> SSA name coalescing the bitintlower pass does we incorrectly don't
> register a conflict.
> This is on
> [local count: 1073741824]:
> # b_17 = PHI
> g.4_13 = g;
> _1
> Am 11.04.2025 um 21:00 schrieb Jakub Jelinek :
>
> Hi!
>
> The following patch makes some adjustments so that users can analyze what
> calls weren't tail called even without using musttail attribute (though I'm
> still not convinced it should be a warning, because we don't distinguish
> bet
-31839,7 +31845,7 @@ hash_loc_operands (dw_loc_descr_ref loc,
>break;
> case DW_OP_addr:
> hash_addr:
> - if (loc->dtprel)
> + if (loc->dw_loc_dtprel)
> {
> unsigned char dtprel = 0xd1;
> hstate.add_object (dtprel);
> @@ -31851,7 +31857,7 @@ hash_loc_operands (dw_loc_descr_ref loc,
> case DW_OP_GNU_const_index:
> case DW_OP_constx:
>{
> -if (loc->dtprel)
> + if (loc->dw_loc_dtprel)
>{
> unsigned char dtprel = 0xd1;
> hstate.add_object (dtprel);
> @@ -31998,7 +32004,7 @@ compare_loc_operands (dw_loc_descr_ref x
> {
> case DW_OP_const4u:
> case DW_OP_const8u:
> - if (x->dtprel)
> + if (x->dw_loc_dtprel)
> goto hash_addr;
>/* FALLTHRU */
> case DW_OP_const1u:
> @@ -32162,7 +32168,7 @@ compare_locs (dw_loc_descr_ref x, dw_loc
> {
>for (; x != NULL && y != NULL; x = x->dw_loc_next, y = y->dw_loc_next)
> if (x->dw_loc_opc != y->dw_loc_opc
> - || x->dtprel != y->dtprel
> + || x->dw_loc_dtprel != y->dw_loc_dtprel
> || !compare_loc_operands (x, y))
>break;
>return x == NULL && y == NULL;
>
> Jakub
>
>
--
Richard Biener
SUSE Software Solutions Germany GmbH,
Frankenstrasse 146, 90461 Nuernberg, Germany;
GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)
On Fri, Apr 11, 2025 at 2:14 PM Rainer Orth
wrote:
>
> Andreas Schwab writes:
>
> > On Apr 11 2025, Rainer Orth wrote:
> >
> >> All users of symbols.h fail to compile on Solaris:
> >>
> >> /vol/gcc/src/hg/master/local/gcc/cobol/symbols.h: At global scope:
> >> /vol/gcc/src/hg/master/local/gcc/co
On Fri, Apr 11, 2025 at 12:26 PM Richard Sandiford
wrote:
>
> Richard Sandiford writes:
> > Richard Biener writes:
> >> On Fri, Apr 11, 2025 at 11:10 AM Richard Sandiford
> >> wrote:
> >>>
> >>> Richard Biener writes:
> >>> &
On Fri, Apr 11, 2025 at 12:18 PM Richard Sandiford
wrote:
>
> Richard Biener writes:
> > On Fri, Apr 11, 2025 at 11:10 AM Richard Sandiford
> > wrote:
> >>
> >> Richard Biener writes:
> >> > On Thu, Apr 10, 2025 at 10:10 PM Richard Sandiford
On Fri, Apr 11, 2025 at 11:11 AM Rainer Orth
wrote:
>
> util.cc doesn't compile on Solaris:
>
> /vol/gcc/src/hg/master/local/gcc/cobol/util.cc:2135:7: error: using
> typedef-name ‘timespec_t’ after ‘class’
> 2135 | class timespec_t {
> | ^~
>
> This happens because declares
On Fri, Apr 11, 2025 at 11:10 AM Richard Sandiford
wrote:
>
> Richard Biener writes:
> > On Thu, Apr 10, 2025 at 10:10 PM Richard Sandiford
> > wrote:
> >>
> >> PR119610 is about incorrect CFI output for a stack probe when that
> >> probe is not th
On Fri, Apr 11, 2025 at 11:03 AM Rainer Orth
wrote:
>
> parse.h causes the COBOL build to break on Solaris:
>
> cobol/parse.h:356:5: error: expected identifier before numeric constant
> 356 | OVERFLOW = 305,/* OVERFLOW */
> | ^~~~
>
> The problem is that has
>
On Fri, Apr 11, 2025 at 10:57 AM Rainer Orth
wrote:
>
> When building COBOL on Solaris/sparcv9 with the native assembler, many
> tests FAIL to assemble at -O0 like this:
>
> FAIL: cobol.dg/data1.cob -O0 (test for excess errors)
> Excess errors:
> /usr/ccs/bin/as: "/var/tmp//ccUduuqd.s", line 30
On Thu, Apr 10, 2025 at 10:10 PM Richard Sandiford
wrote:
>
> PR119610 is about incorrect CFI output for a stack probe when that
> probe is not the initial allocation. The main aarch64 stack probe
> function, aarch64_allocate_and_probe_stack_space, implicitly assumed
> that the incoming stack poi
== 0 || tidx != low + 1))
> t = m_data[save_data_cnt];
> else
> t = m_data[save_data_cnt + 1];
> --- gcc/testsuite/gcc.dg/torture/bitint-76.c.jj 2025-04-10
> 16:24:01.677066011 +0200
> +++ gcc/testsuite/gcc.dg/torture/bitint-76.c 2025
The previous change to fix LRA rematerialization broke compare-debug
for i586 bootstrap. Fixed by using prev_nonnote_nondebug_insn
instead of prev_nonnote_insn.
Bootstrapped on i586-linux where the miscompare is gone with this
patch. Bootstrap and regtest running on x86_64-unknown-linux-gnu.
OK
> Am 10.04.2025 um 17:27 schrieb Jennifer Schmitz :
>
> This patch adds a test case to the testsuite for PR119706.
> The bug was already fixed by
> https://gcc.gnu.org/pipermail/gcc-patches/2025-April/680573.html.
>
> OK for mainline?
Ok
Richard
> Signed-off-by: Jennifer Schmitz
>
> gc
The following removes the stmt-based vectorization loop transform code.
This also removes some debug stmt handling (that looked incomplete)
which is also handled during peeling, and special-casing some stmts
that should be killed off early and not left to DCE.
Moving of dump from vect_transform_lo
The following prunes non-SLP iteration and the parts of non-SLP
stmt analysis that is no longer necessary - we need to keep the
parts that bail on stmts not covered by SLP discovery or that
failed SLP discovery. This will only go away when a we can build
a fully covering single-lane SLP graph to f
The following removes the ability to switch back to non SLP-only
operation of the vectorizer - a requirement to start cleaning out
non-SLP paths without risk of regressing that case.
* params.opt (--param=vect-force-slp): Remove.
* doc/invoke.texi (--param=vect-force-slp): Likewise
We currently only INTEGER_CST, but not POLY_INT_CST, which leads
to the situation that when the POLY_INT_CST is only indrectly
present via a SSA def the IL is valid but when propagated it's not.
That's unsustainable.
Bootstrap and regtest running on x86_64-unknown-linux-gnu, will
push after that s
> Am 09.04.2025 um 23:19 schrieb Robert Dubner :
>
> This patch eliminates the error.
>
>cobol: Proper comparison of alphanumeric to refmoded numeric-display
> [PR119682]
Can you add the testcase as part of the fix?
>gcc/cobol
>
>PR cobol/119682
>* genapi.cc
It seems that at least when cross-compiling at least collect2 pulls
in objects from libbacktrace.a which is linked via LIBDEPS. But
libbacktrace for the host is only built -fPIC with --enable-host-shared
but not -fPIE with --enable-host-pie so this fails. The following
teaches libbacktrace about
On Tue, Apr 8, 2025 at 2:25 PM Robin Dapp wrote:
>
> Hi,
>
> in categorize_ctor_elements_1 we do
> VECTOR_CST_NELTS (value).to_constant ()
> but VALUE's type can be a VLA vector (since r15-5780-g17b520a10cdaab).
>
> This patch uses constant_lower_bound instead.
>
> Bootstrapped and regtested on
On Sat, 5 Apr 2025, Jakub Jelinek wrote:
> On Fri, Apr 04, 2025 at 07:51:54PM +0200, Jakub Jelinek wrote:
> > On Fri, Apr 04, 2025 at 03:06:52PM +0100, Richard Sandiford wrote:
> > > > 2025-04-04 Jakub Jelinek
> > > >
> > > > PR rtl-optimization/119594
> > > > * cse.cc (count_re
On Tue, Apr 8, 2025 at 10:53 AM Jakub Jelinek wrote:
>
> Hi!
>
> Here is an incremental fix on top of the
> https://gcc.gnu.org/pipermail/gcc-patches/2025-April/680256.html
> patch. As I said, there were various FAILs in make check-cobol
> when using the cross compiler from 32-bit host to x86_64-
gt; {
> case CF_NONE: cf_protection = "-fcf-protection=none"; break;
> case CF_FULL: cf_protection = "-fcf-protection=full"; break;
>
> Jakub
>
>
--
Richard Biener
SUSE Software Solutions Germany GmbH,
Frankenstrasse 146, 90461 Nuernberg, Germany;
GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)
~ $@
> -gcobol-io.html: $(srcdir)/cobol/gcobol.3
> +$(build_htmldir)/gcobol/gcobol-io.html: $(srcdir)/cobol/gcobol.3
> + $(mkinstalldirs) $(build_htmldir)/gcobol
> mandoc -T html $^ > $@~
> @mv $@~ $@
>
>
> Jakub
>
>
--
Richard Biener
SUSE Software Solutions Germany GmbH,
Frankenstrasse 146, 90461 Nuernberg, Germany;
GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)
1)
> -mdoc2pdf_html "$filename" gcobol.pdf gcobol.html
> + cobol_mdoc2pdf_html "$filename" gcobol.pdf gcobol.html
> ;;
> 3)
> -mdoc2pdf_html "$filename" gcobol_io.pdf gcobol_io.html
> +cobol_mdoc2pdf_html "$filename" gcobol_io.pdf gcobol_io.html
> ;;
> esac
> done
>
> Jakub
>
>
--
Richard Biener
SUSE Software Solutions Germany GmbH,
Frankenstrasse 146, 90461 Nuernberg, Germany;
GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)
On Fri, 4 Apr 2025, Jakub Jelinek wrote:
> On Fri, Apr 04, 2025 at 08:52:10PM +0200, Richard Biener wrote:
> > > Or do you want something further (like
> > > switch (global_options.x_flag_cf_protection & ~CF_SET)
> > > )?
> >
> > Dunno what that CF
When the whole shift is invariant but the shift amount needs
to be converted and a vector shift used we can mess up placement
of vector stmts because we do not make SLP scheduling aware of
the need to insert code for it. The following mitigates this
by more conservative placement of such code in v
t; // { dg-options "-O0" }
>
> struct S { S () {} };
> --- gcc/testsuite/g++.dg/opt/pr119614.C.jj2025-04-05 14:57:16.276551780
> +0200
> +++ gcc/testsuite/g++.dg/opt/pr119614.C 2025-04-05 14:56:46.020954674
> +0200
> @@ -0,0 +1,30 @@
> +// PR tree-
On Sun, Apr 6, 2025 at 10:03 AM Iain Sandoe wrote:
>
> Even when we are using IEC 128b floating point, the quadmath library can
> be pulled in 'as needed'.
LGTM.
> gcc/testsuite/ChangeLog:
>
> * lib/cobol.exp: Add libquadmath paths.
>
> Signed-off-by: Iain Sandoe
> ---
> gcc/testsuite/
On Mon, Apr 7, 2025 at 9:41 AM Simon Sobisch wrote:
>
>
>
> Am 07.04.2025 um 09:30 schrieb Richard Biener:
> > On Mon, Apr 7, 2025 at 9:00 AM Simon Sobisch wrote:
> >>
> >> My question stands on integrating COBOLworx' UAT as-is for now
> >> (C
On Mon, Apr 7, 2025 at 9:00 AM Simon Sobisch wrote:
>
> My question stands on integrating COBOLworx' UAT as-is for now
> (Copyright is all on FSF; built automatically [it is autoconf, which is
> a requirement for VCS checkouts], possibly also hooked into the current
> test target) - with the goal
On Fri, Apr 4, 2025 at 11:50 PM Robert Dubner wrote:
>
> Anybody who might have gotten interested should stand down.
>
> As usual, that analysis got me thinking.
>
> I got focused on where var_decl_return_code was being used. (I was wrong.
> I made the mistake because I had just eliminated two se
> Am 06.04.2025 um 09:44 schrieb Iain Sandoe :
>
> Tested on x86_64, aarch64, powerpc64le - Linux; x86_64, aarch64 Darwin,
> OK for trunk?
Ok
Richard
> thanks
> Iain
>
> --- 8< ---
>
> The discovered paths already include the multilib and so there is
> no need to add an extra library to
> Am 06.04.2025 um 09:42 schrieb Iain Sandoe :
>
> Tested on x86_64, aarch64, powerpc64le - Linux; x86_64, aarch64 Darwin,
> OK for trunk?
Ok
Richard
> thanks
> Iain
>
> --- 8< ---
>
> As discussed in the PR, the options had been added during development
> to handle specific cases, they
On Sat, 15 Mar 2025, Richard Biener wrote:
>
> I do wonder, since gcobol.3 documents parts of the libgcobol API(?),
> whether it should be named libgcobol.3 instead though?
Ping?
> OK?
>
> Thanks,
> Richard.
>
> PR cobol/119302
> gcc/cobo
i = 0; i < scc.length (); i++)
> + for (i = 0; i < scc.length ();)
> if (gimple_bb (scc[i]) == NULL)
> scc.unordered_remove (i);
> + else
> + i++;
>if (scc.is_empty ())
> {
> scc.release ();
>
--
Richard Biener
SUSE Software Solutions Germany GmbH,
Frankenstrasse 146, 90461 Nuernberg, Germany;
GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)
>grp_write;
>access->grp_total_scalarization = 1;
>access->grp_hint = 1;
> - access->grp_same_access_path = path_comparable_for_same_access (expr);
> + access->grp_same_access_path = 0;
>access->reverse = reverse_storage_order_for_component_p (expr);
>
&g
On Fri, Mar 21, 2025 at 4:56 AM Robert Dubner wrote:
>
> I seek benediction. Failing that, I ask for advice.
>
> This patch makes it possible for me to set the environment variable
> 'CXXFLAGS_FOR_TARGET="-ggdb -O0"' at configure time, and end up with a
> debuggable libgcobol.so.
>
> Is this a co
On Mon, 31 Mar 2025, Andreas Schwab wrote:
> On Mär 31 2025, Richard Biener wrote:
>
> > Do we even install libffi.info?
>
> We shouldn't. It would conflict with the standalone libffi library, and
> we don't install anything from the target libffi library anyw
off to see that the routine real_to_target() thinks it is being
> asked to do.
Our mails crossed here. I figured I misunderstood real_to_target. I
have updated the full patch attached to PR119241 and posted an incremental
fix as followup to the mail where you posted the testcase failing.
{
> + [[gnu::musttail]] return foo (x + 1);
> +}
> +
> +int
> +baz (int x)
> +{
> + return foo (x + 1);
> +}
> +
> +int
> +qux (int x)
> +{
> + return foo (x + 2);
> +}
> +
> +int
> +corge (int x)
> +{
> + [[gnu::musttail]] return foo (x + 2);
> +}
>
> Jakub
>
>
--
Richard Biener
SUSE Software Solutions Germany GmbH,
Frankenstrasse 146, 90461 Nuernberg, Germany;
GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)
")))
> +void handler(Callable) {}
> +
> +inline int func()
> +{
> + auto l1 = [](int) {}; // different lambda signature
> + handler([]() {}); // so this one needs a mangling alias
> + return 42;
> +}
> +
> +int g = func();
>
> base-commit: 56145ae79b89b823f306c2c241f6a1fe5d604816
>
--
Richard Biener
SUSE Software Solutions Germany GmbH,
Frankenstrasse 146, 90461 Nuernberg, Germany;
GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)
The following makes sure to reject the attempts to emulate a vector
gather when the discovered index vector type is a vector mask.
Bootstrapped on x86_64-unknown-linux-gnu, testing in progress.
Richard.
PR tree-optimization/119534
* tree-vect-stmts.cc (get_load_store_type): Rejec
> Am 22.03.2025 um 07:59 schrieb Jakub Jelinek :
>
> Hi!
>
> Given the recent PR119406 I've tried to grep for concatenated string
> literals without space at the end of one line and at the start of next line,
> unless it was obviously intentional.
> Furthermore, I've then looked through gcc.p
On Thu, Apr 3, 2025 at 9:04 AM Andrew Pinski wrote:
>
> On Wed, Apr 2, 2025 at 11:52 PM Richard Biener
> wrote:
> >
> > On Thu, Apr 3, 2025 at 7:10 AM Andrew Pinski
> > wrote:
> > >
> > > builtin_unreachable_bb_p exacts empty basic blocks to have on
> Am 02.04.2025 um 18:31 schrieb Jakub Jelinek :
>
> Hi!
>
> Below is an attempt to fix up RTX costing P1 caused by r15-775
> https://gcc.gnu.org/pipermail/gcc-patches/2024-May/thread.html#652446
> @@ -21562,7 +21562,8 @@ ix86_rtx_costs (rtx x, machine_mode mode, int
> outer_code_i, int opno
On Mon, 31 Mar 2025, Jakub Jelinek wrote:
> On Mon, Mar 31, 2025 at 11:12:45AM +0200, Richard Biener wrote:
> > The following disables tail recursion optimization when fixed-point
> > types are involved as we cannot generate -1 for all fixed-point
> > types.
> >
>
> Am 02.04.2025 um 18:10 schrieb Jakub Jelinek :
>
> Hi!
>
> The following testcases FAIL, because EH cleanup is performed only before
> IPA and then right before musttail pass.
> At -O2 etc. (except for -O0/-Og) we handle musttail calls in the tailc
> pass though, and we can fail at that poi
On Tue, Apr 1, 2025 at 9:26 AM Iain Sandoe wrote:
>
> Another misconfigure (Darwin-only) found by a combination of increases
> in system security contraints and the COBOL runtime. We will now fail
> any C++ configure test that needs the binary to run.
>
> Tested on x86_64-darwin17,21,24 and on x8
On Thu, 3 Apr 2025, Jan Hubicka wrote:
> > On Mon, 31 Mar 2025, Martin Jambor wrote:
> >
> > > Hi,
> > >
> > > the testcase in PR 118924, when compiled on Aarch64, contains an
> > > gimple aggregate assignment statement in between different types which
> > > are types_compatible_p but behave dif
Like all other debug info generation this should be with TV_SYMOUT,
otherwise it's recorded as TV_CGRAPH.
Bootstrap and regtest running on x86_64-unknown-linux-gnu, will
push tomorrow.
* cgraphunit.cc (symbol_table::finalize_compilation_unit):
Put early debug generation under TV_S
The following disables tail recursion optimization when fixed-point
types are involved as we cannot generate -1 for all fixed-point
types.
Bootstrapped and tested on x86_64-unknown-linux-gnu. OK?
Thanks,
Richard.
PR tree-optimization/119532
* tree-tailcall.cc (process_assignment
On Mon, Mar 31, 2025 at 3:07 PM Mark Wielaard wrote:
>
> On Mon, 2025-03-31 at 09:12 +, Kyrylo Tkachov wrote:
> >
> > > On 31 Mar 2025, at 09:43, Richard Biener
> > > wrote:
> > >
> > > On Mon, Mar 31, 2025 at 9:41 AM Richard Biener
> &g
On Thu, 20 Mar 2025, Richard Biener wrote:
> The following avoids early runtime initialization of cbl_field_t
> objects which, when using tree to represent the current _Float128
> data, segfaults as tree data like float128_type_node is not yet
> initialized. The solution is to mov
> Am 04.04.2025 um 17:19 schrieb Iain Sandoe :
>
> Nightstrike kindly made an initial review of this patch (offlist) and
> pointed out a few things. This, thus, is version 2 - it does not change
> in basic mechanism but is even shorter.
>
> This is blocking some already-approved patches and t
On Mon, Mar 17, 2025 at 7:45 PM Jose E. Marchesi
wrote:
>
> This patch changes gcc/cobol/cdf-copy.cc to use the new ldirname from
> libibertay rather than the host's dirname. This removes an include
> for libgen.h.
>
> Regtested in x86_64-linux-gnu by running make check-cobol.
OK to both patches
> Am 04.04.2025 um 19:50 schrieb Jakub Jelinek :
>
> Hi!
>
> I can reproduce a really weird error in our distro i686 trunk gcc
> (but haven't managed to reproduce it with vanilla trunk yet).
> echo 'void foo (void) {}' > a.c; gcc -O2 -flto=auto -m32 -march=i686
> -ffat-lto-objects -fhardened
On Mon, Mar 24, 2025 at 3:57 PM Kyrylo Tkachov wrote:
>
> Hi all,
>
> In this testcase GCC tries to expand a VNx4BI vector:
> vector(4) _40;
> _39 = () _24;
> _40 = {_39, _39, _39, _39};
>
> This ends up in a scalarised sequence of bitfield insert operations.
> This is despite the fact that AArch
> Am 04.04.2025 um 19:35 schrieb Jakub Jelinek :
>
> Hi!
>
> Before my PR119376 r15-9145 changes, suitable_for_tail_call_opt_p would
> return the same value in the same caller, regardless of the calls in it.
> If it fails, the caller clears opt_tailcalls which is a reference and
> therefore s
> Am 04.04.2025 um 19:37 schrieb Jakub Jelinek :
>
> Hi!
>
> As the following testcase shows, sometimes we can have debug stmts
> after a musttail call and profile.cc in that case would incorrectly
> allow the edge from that, causing musttail error and -fcompare-debug
> failure (because if th
> Am 04.04.2025 um 19:25 schrieb Jakub Jelinek :
>
> Hi!
>
> In PR119491 r15-9154 I've allowed some useless EH regions for musttail
> calls (if there are no non-debug/clobber stmts before resx which resumes
> external throwing).
> Now, for -O1+ (but not -O0/-Og) there is a cleanup_eh pass aft
} */
> +
> +volatile int v;
> +
> +[[gnu::noinline]] double
> +foo (int x)
> +{
> + v += x;
> + return 0.5;
> +}
> +
> +double
> +bar (int x)
> +{
> + if (x == 42)
> +[[gnu::musttail]] return foo (42);
> + [[gnu::musttail]] return foo (32);
> +}
> +
> +double
> +baz (int x)
> +{
> + if (x == 5)
> +return foo (42);
> + return foo (32);
> +}
>
> Jakub
>
>
--
Richard Biener
SUSE Software Solutions Germany GmbH,
Frankenstrasse 146, 90461 Nuernberg, Germany;
GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)
1 - 100 of 3017 matches
Mail list logo