Commit 85e4d983 by Richard Kenner

(invalidate): For a pseudo register, do a loop to invalidate all table

entries, irrespective of mode.

From-SVN: r10556
parent 8cb3db07
...@@ -1536,7 +1536,15 @@ invalidate (x, full_mode) ...@@ -1536,7 +1536,15 @@ invalidate (x, full_mode)
reg_tick[regno]++; reg_tick[regno]++;
if (regno >= FIRST_PSEUDO_REGISTER) if (regno >= FIRST_PSEUDO_REGISTER)
remove_from_table (lookup_for_remove (x, hash, GET_MODE (x)), hash); {
/* Because a register can be referenced in more than one mode,
we might have to remove more than one table entry. */
struct table_elt *elt;
while (elt = lookup_for_remove (x, hash, GET_MODE (x)))
remove_from_table (elt, hash);
}
else else
{ {
HOST_WIDE_INT in_table HOST_WIDE_INT in_table
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment