public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug debug/52132] New: [4.7 Regression] ICE in loc_descriptor
@ 2012-02-06 8:32 jakub at gcc dot gnu.org
2012-02-06 8:33 ` [Bug debug/52132] " jakub at gcc dot gnu.org
` (7 more replies)
0 siblings, 8 replies; 9+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-02-06 8:32 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52132
Bug #: 52132
Summary: [4.7 Regression] ICE in loc_descriptor
Classification: Unclassified
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: debug
AssignedTo: jakub@gcc.gnu.org
ReportedBy: jakub@gcc.gnu.org
Target: i686-linux
The following testcase ICEs with -m32 -g -O2 -std=c99 on x86_64-linux.
The bug is likely in regstack, which changes:
rh787518.i.216r.sched2:(debug_insn 20 58 21 2 (var_location:SI D#1 (subreg:SI
(reg:SF 8 st [orig:66 D.1248 ] [66]) 0)) rh787518.i:10 -1
to:
rh787518.i.218r.stack:(debug_insn 20 58 21 2 (var_location:SI D#1 (reg:SF 8
st)) rh787518.i:10 -1
(note the lost subreg).
The regression started with
http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=178597 though that likely just
made a latent bug into a reprduceable one.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug debug/52132] [4.7 Regression] ICE in loc_descriptor
2012-02-06 8:32 [Bug debug/52132] New: [4.7 Regression] ICE in loc_descriptor jakub at gcc dot gnu.org
@ 2012-02-06 8:33 ` jakub at gcc dot gnu.org
2012-02-06 8:34 ` jakub at gcc dot gnu.org
` (6 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-02-06 8:33 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52132
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |ASSIGNED
Last reconfirmed| |2012-02-06
Known to work| |4.6.2
Target Milestone|--- |4.7.0
Ever Confirmed|0 |1
Known to fail| |4.7.0
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug debug/52132] [4.7 Regression] ICE in loc_descriptor
2012-02-06 8:32 [Bug debug/52132] New: [4.7 Regression] ICE in loc_descriptor jakub at gcc dot gnu.org
2012-02-06 8:33 ` [Bug debug/52132] " jakub at gcc dot gnu.org
@ 2012-02-06 8:34 ` jakub at gcc dot gnu.org
2012-02-06 10:24 ` jakub at gcc dot gnu.org
` (5 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-02-06 8:34 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52132
--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-02-06 08:34:22 UTC ---
int l;
void bar (void);
void
foo (int *x, float y)
{
float b;
union { float f; int i; } u = { .f = y };
u.i += 127 << 23;
u.f = ((-1.0f / 3) * u.f + 2) * u.f - 2.0f / 3;
b = 0.5 * (u.f + l);
if (b >= *x)
bar ();
}
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug debug/52132] [4.7 Regression] ICE in loc_descriptor
2012-02-06 8:32 [Bug debug/52132] New: [4.7 Regression] ICE in loc_descriptor jakub at gcc dot gnu.org
2012-02-06 8:33 ` [Bug debug/52132] " jakub at gcc dot gnu.org
2012-02-06 8:34 ` jakub at gcc dot gnu.org
@ 2012-02-06 10:24 ` jakub at gcc dot gnu.org
2012-02-06 23:00 ` p.finizio at gmail dot com
` (4 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-02-06 10:24 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52132
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-02-06 10:23:31 UTC ---
Created attachment 26581
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26581
gcc47-pr52132.patch
Untested fix. What get_true_reg does might be reasonable for code where we
have quite strict requirements on what SUBREG can be applied or not, but it is
definitely wrong for arbitrary SUBREGs in DEBUG_INSNs. In fact, I don't see
what get_true_reg would buy us, we get at the real REG in for_each_rtx anyway
and can keep the SUBREGs, FLOAT_EXTEND etc. in the DEBUG_INSN.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug debug/52132] [4.7 Regression] ICE in loc_descriptor
2012-02-06 8:32 [Bug debug/52132] New: [4.7 Regression] ICE in loc_descriptor jakub at gcc dot gnu.org
` (2 preceding siblings ...)
2012-02-06 10:24 ` jakub at gcc dot gnu.org
@ 2012-02-06 23:00 ` p.finizio at gmail dot com
2012-02-06 23:02 ` p.finizio at gmail dot com
` (3 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: p.finizio at gmail dot com @ 2012-02-06 23:00 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52132
Piero Finizio <p.finizio at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |p.finizio at gmail dot com
--- Comment #3 from Piero Finizio <p.finizio at gmail dot com> 2012-02-06 22:59:25 UTC ---
(In reply to comment #2)
> Created attachment 26581 [details]
> gcc47-pr52132.patch
>
> Untested fix. What get_true_reg does might be reasonable for code where we
> have quite strict requirements on what SUBREG can be applied or not, but it is
> definitely wrong for arbitrary SUBREGs in DEBUG_INSNs. In fact, I don't see
> what get_true_reg would buy us, we get at the real REG in for_each_rtx anyway
> and can keep the SUBREGs, FLOAT_EXTEND etc. in the DEBUG_INSN.
Fix tested with gcc-4.7.0-20120126 sources, this last extracted from
gcc-4.7.0-0.10.fc17.src.rpm.
Now gmake works with mesa from git repository.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug debug/52132] [4.7 Regression] ICE in loc_descriptor
2012-02-06 8:32 [Bug debug/52132] New: [4.7 Regression] ICE in loc_descriptor jakub at gcc dot gnu.org
` (3 preceding siblings ...)
2012-02-06 23:00 ` p.finizio at gmail dot com
@ 2012-02-06 23:02 ` p.finizio at gmail dot com
2012-02-07 15:49 ` rguenth at gcc dot gnu.org
` (2 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: p.finizio at gmail dot com @ 2012-02-06 23:02 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52132
--- Comment #4 from Piero Finizio <p.finizio at gmail dot com> 2012-02-06 23:01:56 UTC ---
(In reply to comment #2)
> Created attachment 26581 [details]
> gcc47-pr52132.patch
>
> Untested fix. What get_true_reg does might be reasonable for code where we
> have quite strict requirements on what SUBREG can be applied or not, but it is
> definitely wrong for arbitrary SUBREGs in DEBUG_INSNs. In fact, I don't see
> what get_true_reg would buy us, we get at the real REG in for_each_rtx anyway
> and can keep the SUBREGs, FLOAT_EXTEND etc. in the DEBUG_INSN.
Fix tested with gcc-4.7.0-20120126 sources, this last extracted from
gcc-4.7.0-0.10.fc17.src.rpm.
Now gmake works with mesa from git repository.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug debug/52132] [4.7 Regression] ICE in loc_descriptor
2012-02-06 8:32 [Bug debug/52132] New: [4.7 Regression] ICE in loc_descriptor jakub at gcc dot gnu.org
` (4 preceding siblings ...)
2012-02-06 23:02 ` p.finizio at gmail dot com
@ 2012-02-07 15:49 ` rguenth at gcc dot gnu.org
2012-02-11 8:28 ` jakub at gcc dot gnu.org
2012-02-11 8:32 ` jakub at gcc dot gnu.org
7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-02-07 15:49 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52132
Richard Guenther <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P1
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug debug/52132] [4.7 Regression] ICE in loc_descriptor
2012-02-06 8:32 [Bug debug/52132] New: [4.7 Regression] ICE in loc_descriptor jakub at gcc dot gnu.org
` (5 preceding siblings ...)
2012-02-07 15:49 ` rguenth at gcc dot gnu.org
@ 2012-02-11 8:28 ` jakub at gcc dot gnu.org
2012-02-11 8:32 ` jakub at gcc dot gnu.org
7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-02-11 8:28 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52132
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-02-11 08:27:41 UTC ---
Author: jakub
Date: Sat Feb 11 08:27:30 2012
New Revision: 184126
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=184126
Log:
PR debug/52132
* reg-stack.c (subst_stack_regs_in_debug_insn): Don't use
get_true_reg.
* gcc.dg/pr52132.c: New test.
Added:
trunk/gcc/testsuite/gcc.dg/pr52132.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/reg-stack.c
trunk/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug debug/52132] [4.7 Regression] ICE in loc_descriptor
2012-02-06 8:32 [Bug debug/52132] New: [4.7 Regression] ICE in loc_descriptor jakub at gcc dot gnu.org
` (6 preceding siblings ...)
2012-02-11 8:28 ` jakub at gcc dot gnu.org
@ 2012-02-11 8:32 ` jakub at gcc dot gnu.org
7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-02-11 8:32 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52132
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-02-11 08:32:40 UTC ---
Fixed.
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2012-02-11 8:32 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-02-06 8:32 [Bug debug/52132] New: [4.7 Regression] ICE in loc_descriptor jakub at gcc dot gnu.org
2012-02-06 8:33 ` [Bug debug/52132] " jakub at gcc dot gnu.org
2012-02-06 8:34 ` jakub at gcc dot gnu.org
2012-02-06 10:24 ` jakub at gcc dot gnu.org
2012-02-06 23:00 ` p.finizio at gmail dot com
2012-02-06 23:02 ` p.finizio at gmail dot com
2012-02-07 15:49 ` rguenth at gcc dot gnu.org
2012-02-11 8:28 ` jakub at gcc dot gnu.org
2012-02-11 8:32 ` jakub 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).