dwarf2out.c (dw_loc_list_node): Add resolved_addr and replaced.
authorRichard Sandiford <richard.sandiford@linaro.org>
Tue, 29 Mar 2011 10:07:09 +0000 (10:07 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Tue, 29 Mar 2011 10:07:09 +0000 (10:07 +0000)
commit0d12220fa33e53380cc1c1f8b764131a10360e8f
tree6002dc961796529c0c447c72e9a04a2c8485c5c9
parentd91909c0133554d00379f0ef41fe2d2ff6ab9968
dwarf2out.c (dw_loc_list_node): Add resolved_addr and replaced.

gcc/
* dwarf2out.c (dw_loc_list_node): Add resolved_addr and replaced.
(cached_dw_loc_list_def): New structure.
(cached_dw_loc_list): New typedef.
(cached_dw_loc_list_table): New variable.
(cached_dw_loc_list_table_hash): New function.
(cached_dw_loc_list_table_eq): Likewise.
(add_location_or_const_value_attribute): Take a bool cache_p.
Cache the list when the parameter is true.
(gen_formal_parameter_die): Update caller.
(gen_variable_die): Likewise.
(dwarf2out_finish): Likewise.
(dwarf2out_abstract_function): Nullify cached_dw_loc_list_table
while generating debug info for the decl.
(dwarf2out_function_decl): Clear cached_dw_loc_list_table.
(dwarf2out_init): Initialize cached_dw_loc_list_table.
(resolve_addr): Cache the result of resolving a chain of
location lists.

From-SVN: r171655
gcc/ChangeLog
gcc/dwarf2out.c