Hi,
On Mon, 18 Apr 2011, Easwaran Raman wrote:
> > > @@ -596,7 +581,7 @@
> > > if (vb->conflicts)
> > > {
> > > EXECUTE_IF_SET_IN_BITMAP (vb->conflicts, 0, u, bi)
> > > - add_stack_var_conflict (a, stack_vars[u].representative);
> > > + add_stack_var_conflict (a, u);
> >
> > Please don't. This uselessly bloats the conflict bitmaps.
>
> It is sufficient to add the conflicts of a variable only when it is
> not merged into some group.
That is correct but is also what the use of stack_vars[u].representative
achieves alone, ...
> I am adding a check to that effect.
... without any check.
@@ -596,7 +581,8 @@
if (vb->conflicts)
{
EXECUTE_IF_SET_IN_BITMAP (vb->conflicts, 0, u, bi)
- add_stack_var_conflict (a, stack_vars[u].representative);
+ if (stack_vars[u].next == EOC && stack_vars[u].representative == u)
+ add_stack_var_conflict (a, u);
BITMAP_FREE (vb->conflicts);
}
}
What's your objective with this change? I find the original code clearer.
Ciao,
Michael.