aboutsummaryrefslogtreecommitdiff
path: root/gcc/reload1.c
diff options
context:
space:
mode:
authorDJ Delorie <dj@redhat.com>2006-01-19 20:16:17 -0500
committerDJ Delorie <dj@gcc.gnu.org>2006-01-19 20:16:17 -0500
commitff182b5cf78d6c7e70fc1eb75e87c8ba6f088325 (patch)
treeaac021a257e15aae894ca4c22d35d88fc5dc07bb /gcc/reload1.c
parent03fd22151856ff8e57ef209b2e01edc9f76999e0 (diff)
downloadgcc-ff182b5cf78d6c7e70fc1eb75e87c8ba6f088325.zip
gcc-ff182b5cf78d6c7e70fc1eb75e87c8ba6f088325.tar.gz
gcc-ff182b5cf78d6c7e70fc1eb75e87c8ba6f088325.tar.bz2
reload1.c (find_reload_regs): Note the details of reload failures in the dump file.
* reload1.c (find_reload_regs): Note the details of reload failures in the dump file. (spill_failure): Likewise. From-SVN: r110006
Diffstat (limited to 'gcc/reload1.c')
-rw-r--r--gcc/reload1.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c
index 02fda09..56fed39 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -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);
}
}