re PR middle-end/87899 (r264897 cause mis-compiled native arm-linux-gnueabihf toolchain)
authorPeter Bergner <bergner@linux.ibm.com>
Tue, 13 Nov 2018 22:14:11 +0000 (22:14 +0000)
committerPeter Bergner <bergner@gcc.gnu.org>
Tue, 13 Nov 2018 22:14:11 +0000 (16:14 -0600)
commit874e50cbd5b254f1f171bf04ecdfeedc405dff5b
treeba4baaa82eb6e5e4238d81d1c2fa872b736a13d5
parent620e594be58d2f933902a6619fd20aa618070b4b
re PR middle-end/87899 (r264897 cause mis-compiled native arm-linux-gnueabihf toolchain)

gcc/
PR rtl-optimization/87899
* lra-lives.c (start_living): Update white space in comment.
(enum point_type): New.
(sparseset_contains_pseudos_p): New function.
(update_pseudo_point): Likewise.
(make_hard_regno_live): Use HARD_REGISTER_NUM_P macro.
(make_hard_regno_dead): Likewise.  Remove ignore_reg_for_conflicts
handling.  Move early exit after adding conflicts.
(mark_pseudo_live): Use HARD_REGISTER_NUM_P macro.  Add early exit
if regno is already live.  Remove all handling of program points.
(mark_pseudo_dead): Use HARD_REGISTER_NUM_P macro.  Add early exit
after adding conflicts.  Remove all handling of program points and
ignore_reg_for_conflicts.
(mark_regno_live): Use HARD_REGISTER_NUM_P macro.  Remove return value
and do not guard call to mark_pseudo_live.
(mark_regno_dead): Use HARD_REGISTER_NUM_P macro.  Remove return value
and do not guard call to mark_pseudo_dead.
(check_pseudos_live_through_calls): Use HARD_REGISTER_NUM_P macro.
(process_bb_lives): Use HARD_REGISTER_NUM_P and HARD_REGISTER_P macros.
Use new function update_pseudo_point.  Handle register copies by
removing the source register from the live set.  Handle INOUT operands.
Update to the next program point using the unused_set, dead_set and
start_dying sets.
(lra_create_live_ranges_1): Use HARD_REGISTER_NUM_P macro.

From-SVN: r266086
gcc/ChangeLog
gcc/lra-lives.c