If I'm reading things right, pass_update_address_taken is never actually used.
Deleting it, I was able to still successfully bootstrap on x86_64-unknown-linux-gnu (using gcc-4.7.2-2.fc17.x86_64). The use of the pass appears to have been removed in: http://gcc.gnu.org/r164525 Should I remove it from trunk? 2013-06-05 David Malcolm <dmalc...@redhat.com> * tree-pass.h (pass_update_address_taken): Remove. * tree-ssa.c (pass_update_address_taken): Remove.
Index: gcc/tree-pass.h =================================================================== --- gcc/tree-pass.h (revision 199679) +++ gcc/tree-pass.h (working copy) @@ -487,7 +487,6 @@ extern struct gimple_opt_pass pass_release_ssa_names; extern struct gimple_opt_pass pass_early_inline; extern struct gimple_opt_pass pass_inline_parameters; -extern struct gimple_opt_pass pass_update_address_taken; extern struct gimple_opt_pass pass_convert_switch; /* The root of the compilation pass tree, once constructed. */ Index: gcc/tree-ssa.c =================================================================== --- gcc/tree-ssa.c (revision 199679) +++ gcc/tree-ssa.c (working copy) @@ -2129,23 +2129,3 @@ BITMAP_FREE (suitable_for_renaming); timevar_pop (TV_ADDRESS_TAKEN); } - -struct gimple_opt_pass pass_update_address_taken = -{ - { - GIMPLE_PASS, - "addressables", /* name */ - OPTGROUP_NONE, /* optinfo_flags */ - NULL, /* gate */ - NULL, /* execute */ - NULL, /* sub */ - NULL, /* next */ - 0, /* static_pass_number */ - TV_ADDRESS_TAKEN, /* tv_id */ - PROP_ssa, /* properties_required */ - 0, /* properties_provided */ - 0, /* properties_destroyed */ - 0, /* todo_flags_start */ - TODO_update_address_taken /* todo_flags_finish */ - } -};