hard-reg-set.h: Include hash-table.h.
authorRichard Sandiford <richard.sandiford@arm.com>
Mon, 22 Sep 2014 07:38:12 +0000 (07:38 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Mon, 22 Sep 2014 07:38:12 +0000 (07:38 +0000)
commit6969eb0dcfe75fd7175f2971ef2a350ebc087805
treec22e285369e1c4471ca4321ef553f4227182b181
parent7af3b946a4181ba5ae292a4a2ff905a4ae999073
hard-reg-set.h: Include hash-table.h.

gcc/
* hard-reg-set.h: Include hash-table.h.
(target_hard_regs): Add a finalize method and a x_simplifiable_subregs
field.
* target-globals.c (target_globals::~target_globals): Call
hard_regs->finalize.
* rtl.h (subreg_shape): New structure.
(shape_of_subreg): New function.
(simplifiable_subregs): Declare.
* reginfo.c (simplifiable_subreg): New structure.
(simplifiable_subregs_hasher): Likewise.
(simplifiable_subregs): New function.
(invalid_mode_changes): Delete.
(alid_mode_changes, valid_mode_changes_obstack): New variables.
(record_subregs_of_mode): Remove subregs_of_mode parameter.
Record valid mode changes in valid_mode_changes.
(find_subregs_of_mode): Remove subregs_of_mode parameter.
Update calls to record_subregs_of_mode.
(init_subregs_of_mode): Remove invalid_mode_changes and bitmap
handling.  Initialize new variables.  Update call to
find_subregs_of_mode.
(invalid_mode_change_p): Check new variables instead of
invalid_mode_changes.
(finish_subregs_of_mode): Finalize new variables instead of
invalid_mode_changes.
(target_hard_regs::finalize): New function.
* ira-costs.c (print_allocno_costs): Call invalid_mode_change_p
even when CLASS_CANNOT_CHANGE_MODE is undefined.

From-SVN: r215449
gcc/ChangeLog
gcc/hard-reg-set.h
gcc/ira-costs.c
gcc/reginfo.c
gcc/rtl.h
gcc/target-globals.c