public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/106186] New: [13 regression] Recent change causing target regressions for uninitialized objects
@ 2022-07-04 15:54 law at gcc dot gnu.org
  2022-07-04 18:56 ` [Bug tree-optimization/106186] " aldyh at gcc dot gnu.org
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: law at gcc dot gnu.org @ 2022-07-04 15:54 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106186

            Bug ID: 106186
           Summary: [13 regression] Recent change causing target
                    regressions for uninitialized objects
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: law at gcc dot gnu.org
  Target Milestone: ---

This change:

commit 4e82205b68024f5c1a9006fe2b62e1a0fa7f1245
Author: Aldy Hernandez <aldyh@redhat.com>
Date:   Fri Jul 1 13:20:42 2022 +0200

    Integrate nonzero bits with irange.

    The nonzero bits and integer ranges compliment each other quite well,
    and it only makes sense to make the mask a first class citizen in the
    irange.  We do a half assed job of keeping ranges and nonzero bits
    somewhat in sync in SSA_NAME_RANGE_INFO, and the goal has always
    been to integrate them properly.  This patch does that, in preparation
    for streaming out full-resolution iranges between passes (think
    SSA_NAME_RANGE_INFO).
[ ... ]

Has caused several targets to start failing this test:

Tests that now fail, but worked before (1 tests):

cris-sim: gcc.dg/auto-init-uninit-4.c (test for excess errors)


>From the gcc.log file:

Excess errors:
/home/jlaw/test/gcc/gcc/testsuite/gcc.dg/uninit-4.c:49:10: warning: 'rprio' may
be used uninitialized [-Wmaybe-uninitialized]

This should be visible with just a cross compiler.


Testcase not explicitly included as it's obvious this is gcc.dg/uninit-4.c in
the testsuite.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug tree-optimization/106186] [13 regression] Recent change causing target regressions for uninitialized objects
  2022-07-04 15:54 [Bug tree-optimization/106186] New: [13 regression] Recent change causing target regressions for uninitialized objects law at gcc dot gnu.org
@ 2022-07-04 18:56 ` aldyh at gcc dot gnu.org
  2022-07-05  7:49 ` rguenth at gcc dot gnu.org
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: aldyh at gcc dot gnu.org @ 2022-07-04 18:56 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106186

--- Comment #1 from Aldy Hernandez <aldyh at gcc dot gnu.org> ---
Hmmm, this patch shouldn't alter current behavior.

I can't reproduce on current trunk on a cross:

  --enable-languages=c --target=cris-sim

abulafia:~/bld/tcris/gcc$ ./cc1 uninit-4.c -O1 -Wuninitialized -quiet
abulafia:~/bld/tcris/gcc$ 

Are you sure it's this patch causing it?

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug tree-optimization/106186] [13 regression] Recent change causing target regressions for uninitialized objects
  2022-07-04 15:54 [Bug tree-optimization/106186] New: [13 regression] Recent change causing target regressions for uninitialized objects law at gcc dot gnu.org
  2022-07-04 18:56 ` [Bug tree-optimization/106186] " aldyh at gcc dot gnu.org
@ 2022-07-05  7:49 ` rguenth at gcc dot gnu.org
  2022-07-05  9:22 ` rguenth at gcc dot gnu.org
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-07-05  7:49 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106186

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rguenth at gcc dot gnu.org
   Target Milestone|---                         |13.0

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
it was also bisected to LC SSA including virtuals

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug tree-optimization/106186] [13 regression] Recent change causing target regressions for uninitialized objects
  2022-07-04 15:54 [Bug tree-optimization/106186] New: [13 regression] Recent change causing target regressions for uninitialized objects law at gcc dot gnu.org
  2022-07-04 18:56 ` [Bug tree-optimization/106186] " aldyh at gcc dot gnu.org
  2022-07-05  7:49 ` rguenth at gcc dot gnu.org
@ 2022-07-05  9:22 ` rguenth at gcc dot gnu.org
  2022-07-05  9:22 ` rguenth at gcc dot gnu.org
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-07-05  9:22 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106186

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |missed-optimization
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2022-07-05
     Ever confirmed|0                           |1

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
On the gcc 12 branch we optimize the use of rprio away in DSE5 (which just
collects unused SSA names).  The DOM3 pass via its EVRP use optimizes the
if (rprio != 1) check there which is what no longer happens on trunk.

So it's likely indeed ranger related.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug tree-optimization/106186] [13 regression] Recent change causing target regressions for uninitialized objects
  2022-07-04 15:54 [Bug tree-optimization/106186] New: [13 regression] Recent change causing target regressions for uninitialized objects law at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2022-07-05  9:22 ` rguenth at gcc dot gnu.org
@ 2022-07-05  9:22 ` rguenth at gcc dot gnu.org
  2022-07-05  9:38 ` rguenth at gcc dot gnu.org
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-07-05  9:22 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106186

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Target|                            |x86_64-*-*

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
Btw, also seen on x86_64-linux.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug tree-optimization/106186] [13 regression] Recent change causing target regressions for uninitialized objects
  2022-07-04 15:54 [Bug tree-optimization/106186] New: [13 regression] Recent change causing target regressions for uninitialized objects law at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2022-07-05  9:22 ` rguenth at gcc dot gnu.org
@ 2022-07-05  9:38 ` rguenth at gcc dot gnu.org
  2022-07-05 12:12 ` cvs-commit at gcc dot gnu.org
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-07-05  9:38 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106186

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |rguenth at gcc dot gnu.org

--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
There's some extra CFG bits because of virtual operands on trunk:

  <bb 6> [local count: 39370534]:
  # .MEM_13 = PHI <.MEM_6(5)>
  goto <bb 10>; [100.00%]

  <bb 9> [local count: 357913944]:
  # .MEM_12 = PHI <.MEM_6(4)>
<L15>:

  <bb 10> [local count: 397284478]:
  # .MEM_14 = PHI <.MEM_12(9), .MEM_13(6)>
<L13>:

the loop-end propagation of LC SSA PHIs doesn't work for those - I'm going to
fix that which also seems to fix the missed jump threading.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug tree-optimization/106186] [13 regression] Recent change causing target regressions for uninitialized objects
  2022-07-04 15:54 [Bug tree-optimization/106186] New: [13 regression] Recent change causing target regressions for uninitialized objects law at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2022-07-05  9:38 ` rguenth at gcc dot gnu.org
@ 2022-07-05 12:12 ` cvs-commit at gcc dot gnu.org
  2022-07-05 12:12 ` rguenth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-07-05 12:12 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106186

--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Richard Biener <rguenth@gcc.gnu.org>:

https://gcc.gnu.org/g:c3d2600cfb476e576fd27f3f29f49e968e86774d

commit r13-1503-gc3d2600cfb476e576fd27f3f29f49e968e86774d
Author: Richard Biener <rguenther@suse.de>
Date:   Tue Jul 5 11:38:52 2022 +0200

    tree-optimization/106186 - propagate out virtual LC PHI nodes properly

    The code to remove LC PHI nodes in clean_up_loop_closed_phi does not handle
    virtual operands because may_propagate_copy generally returns false
    for them.  The following copies the merge_blocks variant for
    dealing with them.

    This fixes a missed jump threading in gcc.dg/auto-init-uninit-4.c
    which manifests in bogus uninit diagnostics.

            PR tree-optimization/106186
            * tree-ssa-propagate.cc (clean_up_loop_closed_phi):
            Properly handle virtual PHI nodes.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug tree-optimization/106186] [13 regression] Recent change causing target regressions for uninitialized objects
  2022-07-04 15:54 [Bug tree-optimization/106186] New: [13 regression] Recent change causing target regressions for uninitialized objects law at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2022-07-05 12:12 ` cvs-commit at gcc dot gnu.org
@ 2022-07-05 12:12 ` rguenth at gcc dot gnu.org
  2022-07-05 15:37 ` law at gcc dot gnu.org
  2022-07-05 15:51 ` aldyh at gcc dot gnu.org
  8 siblings, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-07-05 12:12 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106186

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|ASSIGNED                    |RESOLVED

--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> ---
Fixed.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug tree-optimization/106186] [13 regression] Recent change causing target regressions for uninitialized objects
  2022-07-04 15:54 [Bug tree-optimization/106186] New: [13 regression] Recent change causing target regressions for uninitialized objects law at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2022-07-05 12:12 ` rguenth at gcc dot gnu.org
@ 2022-07-05 15:37 ` law at gcc dot gnu.org
  2022-07-05 15:51 ` aldyh at gcc dot gnu.org
  8 siblings, 0 replies; 10+ messages in thread
From: law at gcc dot gnu.org @ 2022-07-05 15:37 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106186

--- Comment #8 from Jeffrey A. Law <law at gcc dot gnu.org> ---
Just glad it's fixed.  I hope my bisection didn't waste too much of anyone's
time.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug tree-optimization/106186] [13 regression] Recent change causing target regressions for uninitialized objects
  2022-07-04 15:54 [Bug tree-optimization/106186] New: [13 regression] Recent change causing target regressions for uninitialized objects law at gcc dot gnu.org
                   ` (7 preceding siblings ...)
  2022-07-05 15:37 ` law at gcc dot gnu.org
@ 2022-07-05 15:51 ` aldyh at gcc dot gnu.org
  8 siblings, 0 replies; 10+ messages in thread
From: aldyh at gcc dot gnu.org @ 2022-07-05 15:51 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106186

--- Comment #9 from Aldy Hernandez <aldyh at gcc dot gnu.org> ---
(In reply to Jeffrey A. Law from comment #8)
> Just glad it's fixed.  I hope my bisection didn't waste too much of anyone's
> time.

Heh, not mine.  It was unlikely it was the nonzero bit patch as that just
provides core infrastructure that still isn't used.  I suppose I could've
messed something else in the intersect/union code, but I assumed it wasn't that
patch.  Not to say, it couldn't be some other part of ranger in another patch
:).

Anywhoo...thanks to Richard for fixing this.

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2022-07-05 15:51 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-04 15:54 [Bug tree-optimization/106186] New: [13 regression] Recent change causing target regressions for uninitialized objects law at gcc dot gnu.org
2022-07-04 18:56 ` [Bug tree-optimization/106186] " aldyh at gcc dot gnu.org
2022-07-05  7:49 ` rguenth at gcc dot gnu.org
2022-07-05  9:22 ` rguenth at gcc dot gnu.org
2022-07-05  9:22 ` rguenth at gcc dot gnu.org
2022-07-05  9:38 ` rguenth at gcc dot gnu.org
2022-07-05 12:12 ` cvs-commit at gcc dot gnu.org
2022-07-05 12:12 ` rguenth at gcc dot gnu.org
2022-07-05 15:37 ` law at gcc dot gnu.org
2022-07-05 15:51 ` aldyh at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).