Thoughts about semantics of BB_VISITED
Daniel Berlin
dberlin@dberlin.org
Fri Jan 7 17:54:00 GMT 2005
On Fri, 7 Jan 2005, Zdenek Dvorak wrote:
> Hello,
>
>>>>> If the state of the mark would be undefined, you would need either to
>>>>> clean them up first (over whole cfg), or use bitmaps for the marks.
>>>>> Both of these approaches bring a risk of quadratic behavior.
>>>>>
>>>>
>>>> Quadratic behaviour? How?
>>>
>>>
>>> because the places where it is used now (most notably, get_loop_body)
>>> do not look at whole cfg, but just at the loop body.
>>>
>> Oh, I see. So, this is inside a helper, not a pass. How unfortunate.
>> Perhaps get_loop_body should not use BB_VISITED. What if the pass
>> calling get_loop_body is using BB_VISITED for its own processing?
>
> then it is doomed :-(. Quite often there is no real reason why a pass
> should use BB_VISITED -- it can simply use sbitmap of basic blocks instead.
Why can't one just pass an sbitmap to get_loop_body, instead of it
destroying visited flags without telling you?
--Dan
More information about the Gcc
mailing list