aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir Makarov <vmakarov@redhat.com>2015-04-10 19:38:55 +0000
committerVladimir Makarov <vmakarov@gcc.gnu.org>2015-04-10 19:38:55 +0000
commit54e915b3624ab1fcaaba6bb275a9f1eb376f474f (patch)
treed23d6fa72aed08db8791f5239afe151bd07ab6a3
parent77f0d88d1f640fe515a5ecafe84da65535e6243e (diff)
downloadgcc-54e915b3624ab1fcaaba6bb275a9f1eb376f474f.zip
gcc-54e915b3624ab1fcaaba6bb275a9f1eb376f474f.tar.gz
gcc-54e915b3624ab1fcaaba6bb275a9f1eb376f474f.tar.bz2
re PR target/65710 (Thumb1 ICE caused by no register to spill)
2015-04-10 Vladimir Makarov <vmakarov@redhat.com> PR target/65710 * lra-assigns.c (spill_for): Update smallest_bad_spills_num. Print bad_spills_num and insn_pseudos_num. From-SVN: r221983
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/lra-assigns.c6
2 files changed, 10 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b001ee5..e4a8e18 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2015-04-10 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR target/65710
+ * lra-assigns.c (spill_for): Update smallest_bad_spills_num.
+ Print bad_spills_num and insn_pseudos_num.
+
2015-04-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR target/65694
diff --git a/gcc/lra-assigns.c b/gcc/lra-assigns.c
index a74d8ab..994b04f 100644
--- a/gcc/lra-assigns.c
+++ b/gcc/lra-assigns.c
@@ -1045,12 +1045,14 @@ spill_for (int regno, bitmap spilled_pseudo_bitmap, bool first_p)
&& best_cost > cost))))
{
best_insn_pseudos_num = insn_pseudos_num;
+ smallest_bad_spills_num = bad_spills_num;
best_cost = cost;
best_hard_regno = hard_regno;
bitmap_copy (&best_spill_pseudos_bitmap, &spill_pseudos_bitmap);
if (lra_dump_file != NULL)
- fprintf (lra_dump_file, " Now best %d(cost=%d)\n",
- hard_regno, cost);
+ fprintf (lra_dump_file,
+ " Now best %d(cost=%d, bad_spills=%d, insn_pseudos=%d)\n",
+ hard_regno, cost, bad_spills_num, insn_pseudos_num);
}
assign_temporarily (regno, -1);
for (j = 0; j < n; j++)