http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56029
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> 2013-01-18
13:02:40 UTC ---
(In reply to comment #2)
> It's the PHI arg location of
>
> <integer_cst 0x7ffff47f59e0 type <pointer_type 0x7ffff6754d20> constant 0>
>
> as seen after IPA inline transform.
>
> Ah ...
>
> FOR_EACH_PHI_ARG (arg_p, phi, i, SSA_OP_ALL_USES)
> {
> tree arg = USE_FROM_PTR (arg_p);
> int index = PHI_ARG_INDEX_FROM_USE (arg_p);
> tree block =
> LOCATION_BLOCK (gimple_phi_arg_location (phi, index));
> if (block != NULL)
> TREE_USED (block) = true;
> mark_all_vars_used (&arg);
> }
>
> well - that doesn't consider non-SSA args.
Err, no. That's correct.
The PHI node in question (but not the argument) is allocated by make_eh_edges
from copy_edges_for_bb.