public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "steven at gcc dot gnu dot org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug tree-optimization/42685] [4.5 Regression] "-fcompare-debug failure" with "-O1 -funroll-loops" (2)
Date: Mon, 18 Jan 2010 19:17:00 -0000	[thread overview]
Message-ID: <20100118191656.11257.qmail@sourceware.org> (raw)
In-Reply-To: <bug-42685-14164@http.gcc.gnu.org/bugzilla/>



------- Comment #5 from steven at gcc dot gnu dot org  2010-01-18 19:16 -------
Register number differences appear - again - because a USE operand of a
DEBUG_INSN ends up in a web of its own:

--- R1web/pr42685-2.c.167r.web  2010-01-18 11:11:38.000000000 -0800
+++ R2web/pr42685-2.c.167r.web  2010-01-18 11:11:38.000000000 -0800
@@ -7,275 +7,323 @@
 df_worklist_dataflow_doublequeue:n_basic_blocks 55 n_edges 83 count 108 (   
2)
 df_worklist_dataflow_doublequeue:n_basic_blocks 55 n_edges 83 count 109 (   
2)
 Web oldreg=386 newreg=401
-Updating insn 82 (386->401)
-deferring rescan insn with uid = 82.
-Web oldreg=371 newreg=402
-Updating insn 63 (371->402)
-deferring rescan insn with uid = 63.
-Web oldreg=375 newreg=403
-Updating insn 394 (375->403)
-deferring rescan insn with uid = 394.
+Updating insn 96 (386->401)
+deferring rescan insn with uid = 96.
+Web oldreg=375 newreg=402
+Updating insn 72 (375->402)
+deferring rescan insn with uid = 72.
+Web oldreg=371 newreg=403
+Updating insn 75 (371->403)
+deferring rescan insn with uid = 75.
+Updating insn 468 (375->402)
+deferring rescan insn with uid = 468.

...

@@ -413,12 +474,19 @@
             (label_ref #)
             (pc)))# {*br_true} (expr_list:REG_BR_PROB (const_int 7100
[0x1bbc])
         (nil))
- -> 65)
+ -> 77)

 (note# # # 10 [bb 10] NOTE_INSN_BASIC_BLOCK)

+(debug_insn# # # 10 pr42685-2.c:19 (var_location:DI D#2 (zero_extend:DI
(reg/v:SI 402 [ i ])))# (nil))
+
+(debug_insn# # # 10 pr42685-2.c:19 (var_location:DI D#1 (mult:DI
(debug_expr:DI D#2)
+        (const_int 4 [0x4])))# (nil))
+
+(debug_insn# # # 10 pr42685-2.c:19 (var_location:DI s (clobber (const_int 0
[0x0])))# (nil))
+
 (insn# # # 10 pr42685-2.c:10 (set (reg:SI 120 out0)
-        (mem/s/j:SI (reg:DI 402 [ ivtmp.5 ]) [0 D.1998->i+0 S4 A32]))#
{movsi_internal} (nil))
+        (mem/s/j:SI (reg:DI 403 [ ivtmp.5 ]) [0 D.1998->i+0 S4 A32]))#
{movsi_internal} (nil))

 (call_insn# # # 10 pr42685-2.c:10 (parallel [
             (call (mem:DI (symbol_ref:DI ("baz") [flags 0x41]  <function_decl
# baz>) [0 S8 A64])


This whole compare-debug stuff makes no sense to me, so I'm not even going to
try to come up with a fix. IMHO the proper fix would be to never even try to
rename a web that consists of just a single USE. I don't see how that is any
more "right" than no debug info at all since no DEF reaches the USE (i.e.
uninitialized) so any value represented in the debug info is fair and
reasonable.


-- 

steven at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|steven at gcc dot gnu dot   |unassigned at gcc dot gnu
                   |org                         |dot org
             Status|ASSIGNED                    |NEW


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


  parent reply	other threads:[~2010-01-18 19:17 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-10 23:31 [Bug tree-optimization/42685] New: " zsojka at seznam dot cz
2010-01-10 23:33 ` [Bug tree-optimization/42685] " zsojka at seznam dot cz
2010-01-10 23:41 ` zsojka at seznam dot cz
2010-01-12  9:11 ` [Bug tree-optimization/42685] [4.5 Regression] " rguenth at gcc dot gnu dot org
2010-01-12 18:09 ` zsojka at seznam dot cz
2010-01-14 16:39 ` rguenth at gcc dot gnu dot org
2010-01-18 17:00 ` steven at gcc dot gnu dot org
2010-01-18 19:17 ` steven at gcc dot gnu dot org [this message]
2010-01-18 19:19 ` steven at gcc dot gnu dot org
2010-01-26 15:15 ` rguenth at gcc dot gnu dot org
2010-01-26 16:28 ` rguenth at gcc dot gnu dot org
2010-01-26 16:28 ` rguenth at gcc dot gnu dot org

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100118191656.11257.qmail@sourceware.org \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).