aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-inline.c
diff options
context:
space:
mode:
authorVladimir Makarov <vmakarov@redhat.com>2018-03-09 16:00:36 +0000
committerVladimir Makarov <vmakarov@gcc.gnu.org>2018-03-09 16:00:36 +0000
commite0cd6bc00966de0a3a77b642f9507d9c83b398f1 (patch)
treede7bad1e1e9a7a1d01900aa85dc8de1b2e98279f /gcc/tree-inline.c
parenta4017ff7722614f749a0d5eab315e929b2035e8a (diff)
downloadgcc-e0cd6bc00966de0a3a77b642f9507d9c83b398f1.zip
gcc-e0cd6bc00966de0a3a77b642f9507d9c83b398f1.tar.gz
gcc-e0cd6bc00966de0a3a77b642f9507d9c83b398f1.tar.bz2
re PR target/83712 ("Unable to find a register to spill" when compiling for thumb1)
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. 2018-03-09 Vladimir Makarov <vmakarov@redhat.com> PR target/83712 * gcc.target/arm/pr83712.c: New. From-SVN: r258390
Diffstat (limited to 'gcc/tree-inline.c')
0 files changed, 0 insertions, 0 deletions