aboutsummaryrefslogtreecommitdiff
path: root/gcc/lra-assigns.c
diff options
context:
space:
mode:
authorVladimir Makarov <vmakarov@redhat.com>2012-12-21 21:20:48 +0000
committerVladimir Makarov <vmakarov@gcc.gnu.org>2012-12-21 21:20:48 +0000
commit8e3a4869029faad868154af6869caad476ffdcb7 (patch)
tree710b9ff07f324f4591594dc3249e961c1dbf9d4c /gcc/lra-assigns.c
parenta0edd35cf6cbcb81d95afcd8f8c9d2ac539d0314 (diff)
downloadgcc-8e3a4869029faad868154af6869caad476ffdcb7.zip
gcc-8e3a4869029faad868154af6869caad476ffdcb7.tar.gz
gcc-8e3a4869029faad868154af6869caad476ffdcb7.tar.bz2
re PR inline-asm/55775 (ICE when building pari)
2012-12-21 Vladimir Makarov <vmakarov@redhat.com> PR middle-end/55775 * lra-assigns.c (improve_inheritance): Do nothing after LRA_MAX_INHERITANCE_PASSES pass. * lra-constraints.c (MAX_CONSTRAINT_ITERATION_NUMBER): Rename to LRA_MAX_CONSTRAINT_ITERATION_NUMBER. Move to lra-int.h. (MAX_INHERITANCE_PASSES): Rename to LRA_MAX_INHERITANCE_PASSES. Move to lra-int.h. * lra-int.h (LRA_MAX_CONSTRAINT_ITERATION_NUMBER): Move from lra-constraints.c. (LRA_MAX_INHERITANCE_PASSES): Ditto. 2012-12-21 Vladimir Makarov <vmakarov@redhat.com> PR middle-end/55775 * gcc.target/i386/pr55775.c: New test. From-SVN: r194680
Diffstat (limited to 'gcc/lra-assigns.c')
-rw-r--r--gcc/lra-assigns.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/lra-assigns.c b/gcc/lra-assigns.c
index b1d1810..12d58cc 100644
--- a/gcc/lra-assigns.c
+++ b/gcc/lra-assigns.c
@@ -1084,6 +1084,8 @@ improve_inheritance (bitmap changed_pseudos)
lra_copy_t cp, next_cp;
bitmap_iterator bi;
+ if (lra_inheritance_iter > LRA_MAX_INHERITANCE_PASSES)
+ return;
n = 0;
EXECUTE_IF_SET_IN_BITMAP (&lra_inheritance_pseudos, 0, k, bi)
if (reg_renumber[k] >= 0 && lra_reg_info[k].nrefs != 0)