continue;
/* If the node has changed, we need to process the
- complex constraints and outgoing edges again. */
- if (bitmap_clear_bit (changed, i))
+ complex constraints and outgoing edges again. For complex
+ constraints that modify i itself, like the common group of
+ callarg = callarg + UNKNOWN;
+ callarg = *callarg + UNKNOWN;
+ *callarg = callescape;
+ make sure to iterate immediately because that maximizes
+ cache reuse and expands the graph quickest, leading to
+ better visitation order in the next iteration. */
+ while (bitmap_clear_bit (changed, i))
{
unsigned int j;
constraint_t c;
??? But we shouldn't ended up with "changed" set ... */
if (vi->oldsolution
&& bitmap_bit_p (vi->oldsolution, anything_id))
- continue;
+ break;
bitmap_copy (pts, get_varinfo (find (anything_id))->solution);
}
else if (vi->oldsolution)
bitmap_copy (pts, vi->solution);
if (bitmap_empty_p (pts))
- continue;
+ break;
if (vi->oldsolution)
bitmap_ior_into (vi->oldsolution, pts);