summaryrefslogtreecommitdiff
path: root/gcc/lra.c
diff options
context:
space:
mode:
authorBernd Edlinger <bernd.edlinger@hotmail.de>2019-08-16 15:34:47 +0000
committerBernd Edlinger <edlinger@gcc.gnu.org>2019-08-16 15:34:47 +0000
commit23e0f4c3394c87e9bcb1dbf8a2866a1d43b1cd70 (patch)
treee11d868007b4d718baf76e7e4f55e4ec323930c4 /gcc/lra.c
parent94538b6545be9613ee25c80325e3cebf518730cf (diff)
re PR tree-optimization/91109 ([arm] gcc.c-torture/execute/20040709-1.c fails since r273135)
2019-08-16 Bernd Edlinger <bernd.edlinger@hotmail.de> PR tree-optimization/91109 * lra-int.h (lra_need_for_scratch_reg_p): Declare. * lra.c (lra): Use lra_need_for_scratch_reg_p. * lra-spills.c (lra_need_for_scratch_reg_p): New function. From-SVN: r274573
Diffstat (limited to 'gcc/lra.c')
-rw-r--r--gcc/lra.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/lra.c b/gcc/lra.c
index d7593998f97..1f977448136 100644
--- a/gcc/lra.c
+++ b/gcc/lra.c
@@ -2567,7 +2567,11 @@ lra (FILE *f)
lra_create_live_ranges (lra_reg_spill_p, true);
live_p = true;
if (! lra_need_for_spills_p ())
- break;
+ {
+ if (lra_need_for_scratch_reg_p ())
+ continue;
+ break;
+ }
}
lra_spill ();
/* Assignment of stack slots changes elimination offsets for