read-rtl.c (mapping): Remove index field.
authorRichard Sandiford <rdsandiford@googlemail.com>
Wed, 13 Jun 2012 19:38:11 +0000 (19:38 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Wed, 13 Jun 2012 19:38:11 +0000 (19:38 +0000)
commitb78fd1642a52a841780204061dbf23827cbca334
treebf3e0190d0515ca1aa0a57fa970415483653cc18
parent638a085f5c16d6557ffa7f40b73ef80d354ed8bd
read-rtl.c (mapping): Remove index field.

gcc/
* read-rtl.c (mapping): Remove index field.  Add current_value field.
Define heap vectors.
(iterator_group): Fix long line.  Remove num_builtins field and
uses_iterator fields.  Make apply_iterator take a void * parameter.
(iterator_use, atttribute_use): New structures.
(iterator_traverse_data, BELLWETHER_CODE, bellwether_codes): Delete.
(current_iterators, iterator_uses, attribute_uses): New variables.
(uses_mode_iterator_p, uses_code_iterator_p): Delete.
(apply_mode_iterator, apply_code_iterator): Take a void * parameter.
(map_attr_string, apply_iterator_to_string): Remove iterator
and value parameters.  Look through all current iterator values
for a matching attribute.
(mode_attr_index, apply_mode_maps): Delete.
(apply_iterator_to_rtx): Replace with...
(copy_rtx_for_iterators): ...this new function.
(uses_iterator_p, apply_iterator_traverse): Delete.
(apply_attribute_uses, add_current_iterators, apply_iterators): New
functions.
(add_mapping): Remove index field.  Set current_value field.
(initialize_iterators): Don't set num_builtins and uses_iterator_p
fields.
(find_iterator): Delete.
(record_iterator_use, record_attribute_use): New functions.
(record_potential_iterator_use): New function.
(check_code_iterator): Remove handling of bellwether codes.
(read_rtx): Remove mode maps.  Truncate iterator and attribute uses.
(read_rtx_code, read_nested_rtx, read_rtx_variadic): Remove mode_maps
parameter.  Use the first code iterator value instead of the
bellwether_codes array.  Use record_potential_iterator_use
for modes.

From-SVN: r188525
gcc/ChangeLog
gcc/read-rtl.c