Reorg line_map data structures for better packing.
commit28e18c7e22bfcd77750ae54de4462be79ac03188
authornathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 3 Jul 2018 14:47:11 +0000 (3 14:47 +0000)
committernathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 3 Jul 2018 14:47:11 +0000 (3 14:47 +0000)
tree4fd357077b47dfab63779852ccc2674c47b4d94c
parent5e153ffe5059424181ee90c28cce1541bf56e21d
Reorg line_map data structures for better packing.
* include/line-map.h (enum lc_reason): Add LC_HWM.
(LINE_MAP_MAX_LOCATION): Define here.
(struct line_map): Move reason field to line_map_ordinary.  Adjust
GTY tagging.
(struct line_map_ordinary): Reorder fields for less padding.
(struct line_map_macro): Likewise.
(MAP_ORDINARY_P): New.
(linemap_check_ordinary, linemap_check_macro): Adjust.
* line-map.c (LINE_MAP_MAX_SOURCE_LOCATION): Delete.
(new_linemap): Take start_location, not reason.  Adjust.
(linemap_add, linemap_enter_macro): Adjust.
(linemap_line_start): Likewise.
(linemap_macro_expansion_map_p): Use MAP_ORDINARY_P.
(linemap_macro_loc_to_spelling_point): Likewise.
(linemap_macro_loc_to_def_point): Likewise.
(linemap_dump): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@262348 138bc75d-0d04-0410-961f-82ee72b054a4
libcpp/ChangeLog
libcpp/include/line-map.h
libcpp/line-map.c