diff options
author | Vladimir Makarov <vmakarov@redhat.com> | 2014-06-16 15:55:03 +0000 |
---|---|---|
committer | Vladimir Makarov <vmakarov@gcc.gnu.org> | 2014-06-16 15:55:03 +0000 |
commit | 1df2287fb66ff795abd86fe99b4ee14d413965d6 (patch) | |
tree | 248d32af1396966320730d04a817225b21da83eb /gcc | |
parent | da66d5964324bd5a3ce782f46a7d5e30137b5c20 (diff) | |
download | gcc-1df2287fb66ff795abd86fe99b4ee14d413965d6.zip gcc-1df2287fb66ff795abd86fe99b4ee14d413965d6.tar.gz gcc-1df2287fb66ff795abd86fe99b4ee14d413965d6.tar.bz2 |
re PR rtl-optimization/61522 (ICE while building libgcc in LRA)
2014-06-16 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/61522
* lra-assigns.c (assign_by_spills): Check null
targetm.spill_class.
From-SVN: r211711
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/lra-assigns.c | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4c2a104..b74893a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2014-06-16 Vladimir Makarov <vmakarov@redhat.com> + + PR rtl-optimization/61522 + * lra-assigns.c (assign_by_spills): Check null + targetm.spill_class. + 2014-06-16 Jan Hubicka <hubicka@ucw.cz> Revert: diff --git a/gcc/lra-assigns.c b/gcc/lra-assigns.c index cea4c33..83795bac 100644 --- a/gcc/lra-assigns.c +++ b/gcc/lra-assigns.c @@ -1425,7 +1425,8 @@ assign_by_spills (void) enum reg_class rclass = lra_get_allocno_class (regno); enum reg_class spill_class; - if (lra_reg_info[regno].restore_regno < 0 + if (targetm.spill_class == NULL + || lra_reg_info[regno].restore_regno < 0 || ! bitmap_bit_p (&lra_inheritance_pseudos, regno) || (spill_class = ((enum reg_class) |