[LLVMdev] PassManager Dependence Question
Devang Patel
dpatel at apple.com
Fri Sep 19 16:16:37 PDT 2008
On Sep 19, 2008, at 4:03 PM, David Greene wrote:
>> Well, one of the domiantor info interface is
>> bool dominates(Instruction *A, Instruction *B);
>> This will return invalid results. So yes, the info is dirty.
>
> Not right now it isn't. Right now dominators simply iterates through
> instructions.
Aha... OK.
> In my proposed scheme, it would be dirty only in the sense that
> the numbering is dirty. As soon as the numbering is updated,
> dominator
> information is up-to-date.
>
>>> If the whole dominator information is recalculated when only
>>> Instructions are manipulated, that's rather wasteful.
>>
>> This is a question of how to update and maintain dom info. properly.
>> The pass that is modifying instructions should update "number"
>> appropriately in your scheme. Many loop passes goes through a length
>> to maintain dominator info.
>
> No way I'm going to go through every Pass, check if it manipulates
> instructions, and update the numbering info if it does. I'd rather
> have
> dominators check whenther numbering is up-to-date and update the
> numbering
> itself if it's not, on-the-fly.
Well, then pass manager is not involved here at all in your scheme.
-
Devang
More information about the llvm-dev
mailing list