reload1.c (find_reload_regs): Note the details of reload failures in the dump file.
authorDJ Delorie <dj@redhat.com>
Fri, 20 Jan 2006 01:16:17 +0000 (20:16 -0500)
committerDJ Delorie <dj@gcc.gnu.org>
Fri, 20 Jan 2006 01:16:17 +0000 (20:16 -0500)
* reload1.c (find_reload_regs): Note the details of reload
failures in the dump file.
(spill_failure): Likewise.

From-SVN: r110006

gcc/ChangeLog
gcc/reload1.c

index 836da92..ff3ba40 100644 (file)
@@ -1,3 +1,9 @@
+2006-01-19  DJ Delorie  <dj@redhat.com>
+
+       * reload1.c (find_reload_regs): Note the details of reload
+       failures in the dump file.
+       (spill_failure): Likewise.
+
 2006-01-20  Zdenek Dvorak <dvorakz@suse.cz>
 
        * loop-iv.c: Include df.h and hashtab.h.
index 02fda09..56fed39 100644 (file)
@@ -1831,6 +1831,8 @@ find_reload_regs (struct insn_chain *chain)
          && rld[r].regno == -1)
        if (! find_reg (chain, i))
          {
+           if (dump_file)
+             fprintf(dump_file, "reload failure for reload %d\n", r);
            spill_failure (chain->insn, rld[r].class);
            failure = 1;
            return;
@@ -1899,6 +1901,12 @@ spill_failure (rtx insn, enum reg_class class)
     {
       error ("unable to find a register to spill in class %qs",
             reg_class_names[class]);
+
+      if (dump_file)
+       {
+         fprintf (dump_file, "\nReloads for insn # %d\n", INSN_UID (insn));
+         debug_reload_to_stream (dump_file);
+       }
       fatal_insn ("this is the insn:", insn);
     }
 }