public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug bootstrap/52397] New: [4.7 regression] comparison failure with Ada enabled
@ 2012-02-27  9:33 ebotcazou at gcc dot gnu.org
  2012-02-27  9:40 ` [Bug bootstrap/52397] " rguenth at gcc dot gnu.org
                   ` (12 more replies)
  0 siblings, 13 replies; 14+ messages in thread
From: ebotcazou at gcc dot gnu.org @ 2012-02-27  9:33 UTC (permalink / raw)
  To: gcc-bugs

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

             Bug #: 52397
           Summary: [4.7 regression] comparison failure with Ada enabled
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: bootstrap
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: ebotcazou@gcc.gnu.org
              Host: ia64-*-linux
            Target: ia64-*-linux
             Build: ia64-*-linux


We have a bootstrap comparison failure on IA-64 with Ada enabled:

Bootstrap comparison failure!
gcc/ada/uintp.o differs
make[2]: *** [compare] Error 1

This is a debug insn issue.  The -fdump-final-insns diff reads:

--- uintp.s.gkd.0       2012-02-25 11:33:14.050677000 -0500
+++ uintp.s.gkd.1       2012-02-25 11:33:58.240145000 -0500
@@ -3350,7 +3350,7 @@
                 (unspec_volatile:DI [
                         (const_int 0 [0])
                     ] UNSPECV_ALLOC))
-            (use (const_int 6 [0x6]))
+            (use (const_int 5 [0x5]))
             (use (const_int 8 [0x8]))
             (use (const_int 2 [0x2]))
             (use (const_int 0 [0]))

This happens because r117 (in5) is df_regs_ever_live_p by the time the prologue
is expanded with debug insns but isn't without debug insns.

It is referenced in a debug insns after fwprop1:

(debug_insn 111 109 5 2 (var_location:DI D#136 (reg:DI 117 in5 [ quotient+8 ]))
-1
     (nil))

and eliminated after dse1:

(debug_insn 111 109 5 2 (var_location:DI D#136 (clobber (const_int 0 [0]))) -1
     (nil))

The debug_insn is generated by delete_trivially_dead_insns but isn't reset in
the second phase of the same processing because the register isn't a pseudo.

Now reginfo is run between fwprop1 and dse1 so the df_hard_reg_used_p r117 is
consequently computed as being regs_ever_live by df_compute_regs_ever_live
called from reginfo_init and nothing resets this afterwards (df_analyze does
call df_compute_regs_ever_live too but with RESET to false).

Teaching df_compute_regs_ever_live to reset individual registers leads to DF
verification failures for artificial registers.


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

end of thread, other threads:[~2012-02-29  8:16 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-02-27  9:33 [Bug bootstrap/52397] New: [4.7 regression] comparison failure with Ada enabled ebotcazou at gcc dot gnu.org
2012-02-27  9:40 ` [Bug bootstrap/52397] " rguenth at gcc dot gnu.org
2012-02-27 11:06 ` rguenth at gcc dot gnu.org
2012-02-27 11:55 ` ebotcazou at gcc dot gnu.org
2012-02-27 12:04 ` jakub at gcc dot gnu.org
2012-02-27 12:28 ` ebotcazou at gcc dot gnu.org
2012-02-27 13:04 ` jakub at gcc dot gnu.org
2012-02-27 17:15 ` ebotcazou at gcc dot gnu.org
2012-02-28 15:48 ` jakub at gcc dot gnu.org
2012-02-28 16:18 ` jakub at gcc dot gnu.org
2012-02-28 16:37 ` ebotcazou at gcc dot gnu.org
2012-02-28 16:43 ` ebotcazou at gcc dot gnu.org
2012-02-29  8:16 ` jakub at gcc dot gnu.org
2012-02-29  8:51 ` 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).