[LLVMdev] PassManager again...
Andreas Neustifter
astifter-llvm at gmx.at
Thu Nov 19 05:58:25 PST 2009
Hi,
On 17/11/09 20:16, Andreas Neustifter wrote:
> Devang Patel wrote:
>> On Tue, Nov 17, 2009 at 9:03 AM, Andreas Neustifter
>> <astifter-llvm at gmx.at> wrote:
>>
>>> Okay, so the ProfileInfoLoader is working, but when I examine the executions more closely I see that the ProfileInfo generated by the ProfileInfoLoader is immediately discarded, when the SelectionDAGISel kicks in the "No Profile Info"-Implementation is used:
>>>
>>> > 0x1c1a740 Executing Pass 'Profiling information loader' on Module 'main.c-O0.ll.bc'...
>>> > -*- 'Profiling information loader' is the last user of following pass instances. Free these instances
>>> > 0x1c1a740 Freeing Pass 'Profiling information loader' on Module 'main.c-O0.ll.bc'...
>>> > 0x1c1a740 Executing Pass 'Function Pass Manager' on Module 'main.c-O0.ll.bc'...
>>> > 0x1c301a0 Executing Pass 'Preliminary module verification' on Function 'main'...
>>> > 0x1c301a0 Executing Pass 'Dominator Tree Construction' on Function 'main'...
>> ...
>>
>> Did you update all these function passes to preserve profile info ?
>
> Ja, they are all either PreserveAll or I have updated them to
> AU.setPreserved<ProfileInfo>().
I still have not found a solution for this, any other ideas? Whats the
best way to debug why the passmanager is prefering a certain instance of
analysis information over another instance? whats the rules in that case?
Andi
More information about the llvm-dev
mailing list