public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug bootstrap/50826] New: bootstrap on 64 bit pa broken by r180194, ICE in mem_loc_descriptor
@ 2011-10-21 20:42 sje at cup dot hp.com
  2011-10-21 20:47 ` [Bug bootstrap/50826] " sje at cup dot hp.com
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: sje at cup dot hp.com @ 2011-10-21 20:42 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50826

             Bug #: 50826
           Summary: bootstrap on 64 bit pa broken by r180194, ICE in
                    mem_loc_descriptor
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: bootstrap
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: sje@cup.hp.com
              Host: hppa64-hp-hpux11.11
            Target: hppa64-hp-hpux11.11
             Build: hppa64-hp-hpux11.11


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

* [Bug bootstrap/50826] bootstrap on 64 bit pa broken by r180194, ICE in mem_loc_descriptor
  2011-10-21 20:42 [Bug bootstrap/50826] New: bootstrap on 64 bit pa broken by r180194, ICE in mem_loc_descriptor sje at cup dot hp.com
@ 2011-10-21 20:47 ` sje at cup dot hp.com
  2011-10-21 20:56 ` sje at cup dot hp.com
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: sje at cup dot hp.com @ 2011-10-21 20:47 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50826

--- Comment #1 from Steve Ellcey <sje at cup dot hp.com> 2011-10-21 20:46:46 UTC ---
Created attachment 25573
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25573
small test case

Test case.


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

* [Bug bootstrap/50826] bootstrap on 64 bit pa broken by r180194, ICE in mem_loc_descriptor
  2011-10-21 20:42 [Bug bootstrap/50826] New: bootstrap on 64 bit pa broken by r180194, ICE in mem_loc_descriptor sje at cup dot hp.com
  2011-10-21 20:47 ` [Bug bootstrap/50826] " sje at cup dot hp.com
@ 2011-10-21 20:56 ` sje at cup dot hp.com
  2011-10-25  1:40 ` aoliva at gcc dot gnu.org
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: sje at cup dot hp.com @ 2011-10-21 20:56 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50826

--- Comment #2 from Steve Ellcey <sje at cup dot hp.com> 2011-10-21 20:55:47 UTC ---
forgot to mention that the test case needs to be compiled with -O2 -g to
reproduce the problem.


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

* [Bug bootstrap/50826] bootstrap on 64 bit pa broken by r180194, ICE in mem_loc_descriptor
  2011-10-21 20:42 [Bug bootstrap/50826] New: bootstrap on 64 bit pa broken by r180194, ICE in mem_loc_descriptor sje at cup dot hp.com
  2011-10-21 20:47 ` [Bug bootstrap/50826] " sje at cup dot hp.com
  2011-10-21 20:56 ` sje at cup dot hp.com
@ 2011-10-25  1:40 ` aoliva at gcc dot gnu.org
  2011-10-25  4:05 ` aoliva at gcc dot gnu.org
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: aoliva at gcc dot gnu.org @ 2011-10-25  1:40 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50826

Alexandre Oliva <aoliva at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2011-10-25
     Ever Confirmed|0                           |1

--- Comment #3 from Alexandre Oliva <aoliva at gcc dot gnu.org> 2011-10-25 01:40:02 UTC ---
On it.


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

* [Bug bootstrap/50826] bootstrap on 64 bit pa broken by r180194, ICE in mem_loc_descriptor
  2011-10-21 20:42 [Bug bootstrap/50826] New: bootstrap on 64 bit pa broken by r180194, ICE in mem_loc_descriptor sje at cup dot hp.com
                   ` (2 preceding siblings ...)
  2011-10-25  1:40 ` aoliva at gcc dot gnu.org
@ 2011-10-25  4:05 ` aoliva at gcc dot gnu.org
  2011-10-25  4:13 ` aoliva at gcc dot gnu.org
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: aoliva at gcc dot gnu.org @ 2011-10-25  4:05 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50826

--- Comment #4 from Alexandre Oliva <aoliva at gcc dot gnu.org> 2011-10-25 04:05:05 UTC ---
Created attachment 25605
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25605
Patch that restores earlier behavior, hiding the problem

This patch restores the cselib/vta expansion of locations in location lists for
multi-part variables.  We shouldn't have to do this, but it is an alternative
for a temporary work-around in case the other patch I'm about to post isn't
enough to completely fix the problem.


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

* [Bug bootstrap/50826] bootstrap on 64 bit pa broken by r180194, ICE in mem_loc_descriptor
  2011-10-21 20:42 [Bug bootstrap/50826] New: bootstrap on 64 bit pa broken by r180194, ICE in mem_loc_descriptor sje at cup dot hp.com
                   ` (3 preceding siblings ...)
  2011-10-25  4:05 ` aoliva at gcc dot gnu.org
@ 2011-10-25  4:13 ` aoliva at gcc dot gnu.org
  2011-10-25  4:15 ` aoliva at gcc dot gnu.org
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: aoliva at gcc dot gnu.org @ 2011-10-25  4:13 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50826

Alexandre Oliva <aoliva at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #25605|0                           |1
        is obsolete|                            |

--- Comment #5 from Alexandre Oliva <aoliva at gcc dot gnu.org> 2011-10-25 04:12:03 UTC ---
Created attachment 25606
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25606
Patch that hopefully fixes the problem for good

Here's a patch that fixes the latent problem that caused us to issue MOps that
bound parts of multi-part variables to MEMs whose addresses refer to
debug_exprs.  We shouldn't do that, for we have no infrastructure to recompute
the location of the multi-part variable as the debug_expr changes, and we
shouldn't have to: VT tracks locations (REGs or MEMs), rather than values, and
the locations aren't supposed to change.


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

* [Bug bootstrap/50826] bootstrap on 64 bit pa broken by r180194, ICE in mem_loc_descriptor
  2011-10-21 20:42 [Bug bootstrap/50826] New: bootstrap on 64 bit pa broken by r180194, ICE in mem_loc_descriptor sje at cup dot hp.com
                   ` (4 preceding siblings ...)
  2011-10-25  4:13 ` aoliva at gcc dot gnu.org
@ 2011-10-25  4:15 ` aoliva at gcc dot gnu.org
  2011-10-25 19:53 ` sje at cup dot hp.com
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: aoliva at gcc dot gnu.org @ 2011-10-25  4:15 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50826

--- Comment #6 from Alexandre Oliva <aoliva at gcc dot gnu.org> 2011-10-25 04:14:15 UTC ---
Steve, forgot to ask you to give the latest patch a try and let me know how it
goes.  I'm not sure yet why we don't trigger this problem on x86*.  TIA,


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

* [Bug bootstrap/50826] bootstrap on 64 bit pa broken by r180194, ICE in mem_loc_descriptor
  2011-10-21 20:42 [Bug bootstrap/50826] New: bootstrap on 64 bit pa broken by r180194, ICE in mem_loc_descriptor sje at cup dot hp.com
                   ` (5 preceding siblings ...)
  2011-10-25  4:15 ` aoliva at gcc dot gnu.org
@ 2011-10-25 19:53 ` sje at cup dot hp.com
  2011-10-26  8:53 ` aoliva at gcc dot gnu.org
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: sje at cup dot hp.com @ 2011-10-25 19:53 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50826

--- Comment #7 from Steve Ellcey <sje at cup dot hp.com> 2011-10-25 19:53:31 UTC ---
Bootstrapping and testing both look good with the patch.


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

* [Bug bootstrap/50826] bootstrap on 64 bit pa broken by r180194, ICE in mem_loc_descriptor
  2011-10-21 20:42 [Bug bootstrap/50826] New: bootstrap on 64 bit pa broken by r180194, ICE in mem_loc_descriptor sje at cup dot hp.com
                   ` (6 preceding siblings ...)
  2011-10-25 19:53 ` sje at cup dot hp.com
@ 2011-10-26  8:53 ` aoliva at gcc dot gnu.org
  2011-10-26 13:33 ` [Bug debug/50826] " aoliva at gcc dot gnu.org
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: aoliva at gcc dot gnu.org @ 2011-10-26  8:53 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50826

--- Comment #8 from Alexandre Oliva <aoliva at gcc dot gnu.org> 2011-10-26 08:52:13 UTC ---
Thanks.  FTR, the reason we get this on PA64 and not on x86* (and probably not
on PA32) is that pa_internal_arg_pointer sets up a pseudo to hold r29+offset.
The pseudo is fwpropped into the assignments to args passed in registers but
that must live on the stack (“insn” in this testcase).  The last such
assignment becomes r29's death point, but the pseudo was propagated into debug
uses at later points, so DF sets up a debug temp bound to r29 before its death,
and replaces r29 with the debug temp in the debug uses.

This doesn't happen on x86 because there's no such pseudo: the arg pointer is
used directly throughout the function, so it doesn't die early and doesn't
trigger the debug temp substitution that ended up triggering the VT bug.

Maybe this new info can lead to a simplification of the test in the patch; I'm
not sure about it yet.


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

* [Bug debug/50826] bootstrap on 64 bit pa broken by r180194, ICE in mem_loc_descriptor
  2011-10-21 20:42 [Bug bootstrap/50826] New: bootstrap on 64 bit pa broken by r180194, ICE in mem_loc_descriptor sje at cup dot hp.com
                   ` (7 preceding siblings ...)
  2011-10-26  8:53 ` aoliva at gcc dot gnu.org
@ 2011-10-26 13:33 ` aoliva at gcc dot gnu.org
  2011-10-26 13:48 ` aoliva at gcc dot gnu.org
  2011-10-26 13:53 ` aoliva at gcc dot gnu.org
  10 siblings, 0 replies; 12+ messages in thread
From: aoliva at gcc dot gnu.org @ 2011-10-26 13:33 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50826

--- Comment #9 from Alexandre Oliva <aoliva at gcc dot gnu.org> 2011-10-26 13:32:57 UTC ---
Nice, a testsuite run detected gcc.dg/torture/pr43165.c -Os -g on
i686-linux-gnu gets a debug stmt referencing a user variable using a debug temp
as the address.  Sadly, that exposes a bug in the generation of debug temps
within df-problems: we'd bind the temp to the previous value of bp, rather than
to the one copied from sp as intended.  Testing a fix now, but it ends up
causing the potential problem trigger to no longer occur on any testcase on
i686.  OTOH, it might obviate the expensive-ish test in the proposed patch.


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

* [Bug debug/50826] bootstrap on 64 bit pa broken by r180194, ICE in mem_loc_descriptor
  2011-10-21 20:42 [Bug bootstrap/50826] New: bootstrap on 64 bit pa broken by r180194, ICE in mem_loc_descriptor sje at cup dot hp.com
                   ` (8 preceding siblings ...)
  2011-10-26 13:33 ` [Bug debug/50826] " aoliva at gcc dot gnu.org
@ 2011-10-26 13:48 ` aoliva at gcc dot gnu.org
  2011-10-26 13:53 ` aoliva at gcc dot gnu.org
  10 siblings, 0 replies; 12+ messages in thread
From: aoliva at gcc dot gnu.org @ 2011-10-26 13:48 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50826

--- Comment #10 from Alexandre Oliva <aoliva at gcc dot gnu.org> 2011-10-26 13:47:56 UTC ---
Author: aoliva
Date: Wed Oct 26 13:47:48 2011
New Revision: 180525

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=180525
Log:
PR debug/50826
* var-tracking.c (rtx_debug_expr_p): New.
(use_type): Don't use debug exprs to track non-VTA variables.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/var-tracking.c


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

* [Bug debug/50826] bootstrap on 64 bit pa broken by r180194, ICE in mem_loc_descriptor
  2011-10-21 20:42 [Bug bootstrap/50826] New: bootstrap on 64 bit pa broken by r180194, ICE in mem_loc_descriptor sje at cup dot hp.com
                   ` (9 preceding siblings ...)
  2011-10-26 13:48 ` aoliva at gcc dot gnu.org
@ 2011-10-26 13:53 ` aoliva at gcc dot gnu.org
  10 siblings, 0 replies; 12+ messages in thread
From: aoliva at gcc dot gnu.org @ 2011-10-26 13:53 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50826

Alexandre Oliva <aoliva at gcc dot gnu.org> changed:

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

--- Comment #11 from Alexandre Oliva <aoliva at gcc dot gnu.org> 2011-10-26 13:53:18 UTC ---
Fixed


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

end of thread, other threads:[~2011-10-26 13:53 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-10-21 20:42 [Bug bootstrap/50826] New: bootstrap on 64 bit pa broken by r180194, ICE in mem_loc_descriptor sje at cup dot hp.com
2011-10-21 20:47 ` [Bug bootstrap/50826] " sje at cup dot hp.com
2011-10-21 20:56 ` sje at cup dot hp.com
2011-10-25  1:40 ` aoliva at gcc dot gnu.org
2011-10-25  4:05 ` aoliva at gcc dot gnu.org
2011-10-25  4:13 ` aoliva at gcc dot gnu.org
2011-10-25  4:15 ` aoliva at gcc dot gnu.org
2011-10-25 19:53 ` sje at cup dot hp.com
2011-10-26  8:53 ` aoliva at gcc dot gnu.org
2011-10-26 13:33 ` [Bug debug/50826] " aoliva at gcc dot gnu.org
2011-10-26 13:48 ` aoliva at gcc dot gnu.org
2011-10-26 13:53 ` aoliva 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).