* [Bug debug/45849] [4.6 Regression] ICE: in emit_note_insn_var_location, at var-tracking.c:7336 with -O -g
[not found] <bug-45849-4@http.gcc.gnu.org/bugzilla/>
@ 2010-10-01 9:37 ` rguenth at gcc dot gnu.org
2010-10-01 10:37 ` zsojka at seznam dot cz
` (6 subsequent siblings)
7 siblings, 0 replies; 8+ messages in thread
From: rguenth at gcc dot gnu.org @ 2010-10-01 9:37 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45849
Richard Guenther <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |4.6.0
--- Comment #1 from Richard Guenther <rguenth at gcc dot gnu.org> 2010-10-01 09:36:46 UTC ---
Hm, it works for me. Any specs about your target?
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug debug/45849] [4.6 Regression] ICE: in emit_note_insn_var_location, at var-tracking.c:7336 with -O -g
[not found] <bug-45849-4@http.gcc.gnu.org/bugzilla/>
2010-10-01 9:37 ` [Bug debug/45849] [4.6 Regression] ICE: in emit_note_insn_var_location, at var-tracking.c:7336 with -O -g rguenth at gcc dot gnu.org
@ 2010-10-01 10:37 ` zsojka at seznam dot cz
2010-10-01 11:39 ` hjl.tools at gmail dot com
` (5 subsequent siblings)
7 siblings, 0 replies; 8+ messages in thread
From: zsojka at seznam dot cz @ 2010-10-01 10:37 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45849
Zdenek Sojka <zsojka at seznam dot cz> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target| |x86_64-pc-linux-gnu
Host| |x86_64-pc-linux-gnu
--- Comment #2 from Zdenek Sojka <zsojka at seznam dot cz> 2010-10-01 10:37:09 UTC ---
Yes, sorry, I forgot to fill in the target, new bugzilla doesn't show those
fields when opening a bug anymore.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug debug/45849] [4.6 Regression] ICE: in emit_note_insn_var_location, at var-tracking.c:7336 with -O -g
[not found] <bug-45849-4@http.gcc.gnu.org/bugzilla/>
2010-10-01 9:37 ` [Bug debug/45849] [4.6 Regression] ICE: in emit_note_insn_var_location, at var-tracking.c:7336 with -O -g rguenth at gcc dot gnu.org
2010-10-01 10:37 ` zsojka at seznam dot cz
@ 2010-10-01 11:39 ` hjl.tools at gmail dot com
2010-10-01 11:59 ` zsojka at seznam dot cz
` (4 subsequent siblings)
7 siblings, 0 replies; 8+ messages in thread
From: hjl.tools at gmail dot com @ 2010-10-01 11:39 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45849
H.J. Lu <hjl.tools at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |WAITING
Last reconfirmed| |2010.10.01 11:39:20
CC| |hjl.tools at gmail dot com
Ever Confirmed|0 |1
--- Comment #3 from H.J. Lu <hjl.tools at gmail dot com> 2010-10-01 11:39:20 UTC ---
Works for me on Linux/x86-64 with revision 164715/164824
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug debug/45849] [4.6 Regression] ICE: in emit_note_insn_var_location, at var-tracking.c:7336 with -O -g
[not found] <bug-45849-4@http.gcc.gnu.org/bugzilla/>
` (2 preceding siblings ...)
2010-10-01 11:39 ` hjl.tools at gmail dot com
@ 2010-10-01 11:59 ` zsojka at seznam dot cz
2010-10-01 12:12 ` jakub at gcc dot gnu.org
` (3 subsequent siblings)
7 siblings, 0 replies; 8+ messages in thread
From: zsojka at seznam dot cz @ 2010-10-01 11:59 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45849
--- Comment #4 from Zdenek Sojka <zsojka at seznam dot cz> 2010-10-01 11:59:24 UTC ---
I am sorry I didn't mention it earlier, the assert is guarded by
#ifdef ENABLE_RTL_CHECKING
...
gcc_assert (rtx_equal_p (PAT_VAR_LOCATION_LOC (pnote),
PAT_VAR_LOCATION_LOC (note_vl)));
...
#endif
The builds are used are with RTL checking (including those that didn't crash).
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug debug/45849] [4.6 Regression] ICE: in emit_note_insn_var_location, at var-tracking.c:7336 with -O -g
[not found] <bug-45849-4@http.gcc.gnu.org/bugzilla/>
` (3 preceding siblings ...)
2010-10-01 11:59 ` zsojka at seznam dot cz
@ 2010-10-01 12:12 ` jakub at gcc dot gnu.org
2010-10-01 16:43 ` jakub at gcc dot gnu.org
` (2 subsequent siblings)
7 siblings, 0 replies; 8+ messages in thread
From: jakub at gcc dot gnu.org @ 2010-10-01 12:12 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45849
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|WAITING |NEW
CC| |jakub at gcc dot gnu.org
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> 2010-10-01 12:11:56 UTC ---
The expressions seem to be equivalent, but not something rtx_equal_p recognizes
as equivalent:
(gdb) p debug_rtx (*note_slot)
(var_location len (plus:DI (minus:DI (mult:DI (minus:DI (reg/v/f:DI 6 bp
[orig:76 rp ] [76])
(reg/v/f:DI 42 r13 [orig:66 matchstart ] [66]))
(reg/v:DI 43 r14 [orig:62 repllen ] [62]))
(reg/v/f:DI 41 r12 [orig:61 text ] [61]))
(reg/v/f:DI 42 r13 [orig:66 matchstart ] [66])))
$4 = void
(gdb) p debug_rtx (note_vl)
(var_location len (plus:DI (mult:DI (minus:DI (reg/v/f:DI 6 bp [orig:76 rp ]
[76])
(reg/v/f:DI 42 r13 [orig:66 matchstart ] [66]))
(reg/v:DI 43 r14 [orig:62 repllen ] [62]))
(minus:DI (reg/v/f:DI 42 r13 [orig:66 matchstart ] [66])
(reg:DI 41 r12))))
$5 = void
Will try to debug where this difference comes from.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug debug/45849] [4.6 Regression] ICE: in emit_note_insn_var_location, at var-tracking.c:7336 with -O -g
[not found] <bug-45849-4@http.gcc.gnu.org/bugzilla/>
` (4 preceding siblings ...)
2010-10-01 12:12 ` jakub at gcc dot gnu.org
@ 2010-10-01 16:43 ` jakub at gcc dot gnu.org
2010-10-04 22:02 ` jakub at gcc dot gnu.org
2010-10-04 22:06 ` jakub at gcc dot gnu.org
7 siblings, 0 replies; 8+ messages in thread
From: jakub at gcc dot gnu.org @ 2010-10-01 16:43 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45849
--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> 2010-10-01 16:43:09 UTC ---
Seems simplify_rtx depends on ORIG_REGNO or REG_POINTER:
(gdb) p debug_rtx (copy)
(plus:DI (minus:DI (reg/v/f:DI 42 r13 [orig:66 matchstart ] [66])
(reg:DI 41 r12))
(mult:DI (minus:DI (reg/v/f:DI 6 bp [orig:76 rp ] [76])
(reg/v/f:DI 42 r13 [orig:66 matchstart ] [66]))
(reg/v:DI 43 r14 [orig:62 repllen ] [62])))
$52 = void
(gdb) p debug_rtx (0x7ffff19403c0)
(plus:DI (minus:DI (reg/v/f:DI 42 r13 [orig:66 matchstart ] [66])
(reg/v/f:DI 41 r12 [orig:61 text ] [61]))
(mult:DI (minus:DI (reg/v/f:DI 6 bp [orig:76 rp ] [76])
(reg/v/f:DI 42 r13 [orig:66 matchstart ] [66]))
(reg/v:DI 43 r14 [orig:62 repllen ] [62])))
$53 = void
(gdb) p rtx_equal_p (copy, 0x7ffff19403c0)
$54 = 1
(gdb) p debug_rtx (simplify_rtx (copy))
(plus:DI (mult:DI (minus:DI (reg/v/f:DI 6 bp [orig:76 rp ] [76])
(reg/v/f:DI 42 r13 [orig:66 matchstart ] [66]))
(reg/v:DI 43 r14 [orig:62 repllen ] [62]))
(minus:DI (reg/v/f:DI 42 r13 [orig:66 matchstart ] [66])
(reg:DI 41 r12)))
$55 = void
(gdb) p debug_rtx (simplify_rtx (0x7ffff19403c0))
(plus:DI (minus:DI (mult:DI (minus:DI (reg/v/f:DI 6 bp [orig:76 rp ] [76])
(reg/v/f:DI 42 r13 [orig:66 matchstart ] [66]))
(reg/v:DI 43 r14 [orig:62 repllen ] [62]))
(reg/v/f:DI 41 r12 [orig:61 text ] [61]))
(reg/v/f:DI 42 r13 [orig:66 matchstart ] [66]))
$56 = void
(gdb) p rtx_equal_p (simplify_rtx (copy), simplify_rtx (0x7ffff19403c0))
$57 = 0
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug debug/45849] [4.6 Regression] ICE: in emit_note_insn_var_location, at var-tracking.c:7336 with -O -g
[not found] <bug-45849-4@http.gcc.gnu.org/bugzilla/>
` (5 preceding siblings ...)
2010-10-01 16:43 ` jakub at gcc dot gnu.org
@ 2010-10-04 22:02 ` jakub at gcc dot gnu.org
2010-10-04 22:06 ` jakub at gcc dot gnu.org
7 siblings, 0 replies; 8+ messages in thread
From: jakub at gcc dot gnu.org @ 2010-10-04 22:02 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45849
--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> 2010-10-04 22:02:32 UTC ---
Author: jakub
Date: Mon Oct 4 22:02:28 2010
New Revision: 164962
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=164962
Log:
PR debug/45849
* var-tracking.c (strip_pointer_flags): New function.
(emit_note_insn_var_location): If rtx_equal_p check failed,
retry on locations simplified with simplify_replace_fn_rtx
and strip_pointer_flags as its callback.
* gcc.dg/debug/pr45849.c: New test.
Added:
trunk/gcc/testsuite/gcc.dg/debug/pr45849.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/var-tracking.c
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug debug/45849] [4.6 Regression] ICE: in emit_note_insn_var_location, at var-tracking.c:7336 with -O -g
[not found] <bug-45849-4@http.gcc.gnu.org/bugzilla/>
` (6 preceding siblings ...)
2010-10-04 22:02 ` jakub at gcc dot gnu.org
@ 2010-10-04 22:06 ` jakub at gcc dot gnu.org
7 siblings, 0 replies; 8+ messages in thread
From: jakub at gcc dot gnu.org @ 2010-10-04 22:06 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45849
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> 2010-10-04 22:05:57 UTC ---
Fixed.
^ permalink raw reply [flat|nested] 8+ messages in thread