re PR debug/43443 (We should yank ASM_OPERANDS locs from var-tracking preserved cselib VALUEs)
PR debug/43443 * var-tracking.c (add_cselib_value_chains): Remove ASM_OPERANDS locs from preserved VALUEs. From-SVN: r157620
This commit is contained in:
parent
260f179b8d
commit
539eb45985
2 changed files with 18 additions and 4 deletions
|
@ -1,3 +1,9 @@
|
|||
2010-03-22 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR debug/43443
|
||||
* var-tracking.c (add_cselib_value_chains): Remove ASM_OPERANDS
|
||||
locs from preserved VALUEs.
|
||||
|
||||
2010-03-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
||||
|
||||
PR middle-end/42718
|
||||
|
|
|
@ -2791,15 +2791,23 @@ add_value_chains (decl_or_value dv, rtx loc)
|
|||
}
|
||||
|
||||
/* If CSELIB_VAL_PTR of value DV refer to VALUEs, add backlinks from those
|
||||
VALUEs to DV. */
|
||||
VALUEs to DV. Add the same time get rid of ASM_OPERANDS from locs list,
|
||||
that is something we never can express in .debug_info and can prevent
|
||||
reverse ops from being used. */
|
||||
|
||||
static void
|
||||
add_cselib_value_chains (decl_or_value dv)
|
||||
{
|
||||
struct elt_loc_list *l;
|
||||
struct elt_loc_list **l;
|
||||
|
||||
for (l = CSELIB_VAL_PTR (dv_as_value (dv))->locs; l; l = l->next)
|
||||
for_each_rtx (&l->loc, add_value_chain, dv_as_opaque (dv));
|
||||
for (l = &CSELIB_VAL_PTR (dv_as_value (dv))->locs; *l;)
|
||||
if (GET_CODE ((*l)->loc) == ASM_OPERANDS)
|
||||
*l = (*l)->next;
|
||||
else
|
||||
{
|
||||
for_each_rtx (&(*l)->loc, add_value_chain, dv_as_opaque (dv));
|
||||
l = &(*l)->next;
|
||||
}
|
||||
}
|
||||
|
||||
/* If decl or value DVP refers to VALUE from *LOC, remove backlinks
|
||||
|
|
Loading…
Add table
Reference in a new issue