diff options
author | Vladimir Makarov <vmakarov@redhat.com> | 2018-03-10 16:32:21 +0000 |
---|---|---|
committer | Vladimir Makarov <vmakarov@gcc.gnu.org> | 2018-03-10 16:32:21 +0000 |
commit | b3231b65bb70b49ee89460c4a53cadab87116ec8 (patch) | |
tree | 70b2167603a51c811b8005d719e6ec304b7bbca7 /gcc/lra-int.h | |
parent | 90984fe26aeaa473f38aa6d970630ce40dc1b7b0 (diff) | |
download | gcc-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.h | 5 |
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: */ |