aboutsummaryrefslogtreecommitdiff
path: root/gcc/lra-int.h
diff options
context:
space:
mode:
authorVladimir Makarov <vmakarov@redhat.com>2018-03-10 16:32:21 +0000
committerVladimir Makarov <vmakarov@gcc.gnu.org>2018-03-10 16:32:21 +0000
commitb3231b65bb70b49ee89460c4a53cadab87116ec8 (patch)
tree70b2167603a51c811b8005d719e6ec304b7bbca7 /gcc/lra-int.h
parent90984fe26aeaa473f38aa6d970630ce40dc1b7b0 (diff)
downloadgcc-b3231b65bb70b49ee89460c4a53cadab87116ec8.zip
gcc-b3231b65bb70b49ee89460c4a53cadab87116ec8.tar.gz
gcc-b3231b65bb70b49ee89460c4a53cadab87116ec8.tar.bz2
revert: re PR target/83712 ("Unable to find a register to spill" when compiling for thumb1)
2018-03-10 Vladimir Makarov <vmakarov@redhat.com> Reverting patch: 2018-03-09 Vladimir Makarov <vmakarov@redhat.com> PR target/83712 * lra-assigns.c (assign_by_spills): Return a flag of reload assignment failure. Do not process the reload assignment failures. Do not spill other reload pseudos if they has the same reg class. (lra_assign): Add a return arg. Set up from the result of assign_by_spills call. (find_reload_regno_insns, lra_split_hard_reg_for): New functions. * lra-constraints.c (split_reg): Add a new arg. Use it instead of usage_insns if it is not NULL. (spill_hard_reg_in_range): New function. (split_if_necessary, inherit_in_ebb): Pass a new arg to split_reg. * lra-int.h (spill_hard_reg_in_range, lra_split_hard_reg_for): New function prototypes. (lra_assign): Change prototype. * lra.c (lra): Add code to deal with fails by splitting hard reg live ranges. From-SVN: r258415
Diffstat (limited to 'gcc/lra-int.h')
-rw-r--r--gcc/lra-int.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/gcc/lra-int.h b/gcc/lra-int.h
index 8a66562..509e29e 100644
--- a/gcc/lra-int.h
+++ b/gcc/lra-int.h
@@ -356,7 +356,6 @@ extern bool lra_constrain_insn (rtx_insn *);
extern bool lra_constraints (bool);
extern void lra_constraints_init (void);
extern void lra_constraints_finish (void);
-extern bool spill_hard_reg_in_range (int, enum reg_class, rtx_insn *, rtx_insn *);
extern void lra_inheritance (void);
extern bool lra_undo_inheritance (void);
@@ -390,8 +389,8 @@ extern void lra_setup_reload_pseudo_preferenced_hard_reg (int, int, int);
extern int lra_assignment_iter;
extern int lra_assignment_iter_after_spill;
extern void lra_setup_reg_renumber (int, int, bool);
-extern bool lra_assign (bool &);
-extern void lra_split_hard_reg_for (void);
+extern bool lra_assign (void);
+
/* lra-coalesce.c: */