[llvm-commits] RFC fix for the MCContext doInitialization/doFinalization issues
Jim Grosbach
grosbach at apple.com
Thu Dec 6 14:54:33 PST 2012
On Dec 6, 2012, at 2:46 PM, Pedro Artigas <partigas at apple.com> wrote:
> Sure, no problem.
>
> The MCContext is used inside MachineModuleInfo which is a ImmutablePass under the pass manager model, it can also be used standalone. the change added a boolean that indicates if someone will call doInitialization / doFinalization to reuse the MCContext data structure across multiple modules or not, today only MachineModuleInfo does that, and, since it is a Pass it gets it's doInitialization/doFinalization called automagically by the pass manager and calls the MCContext doInitialization / doFinalization methods there.
>
> The issue was that since there are some uses of the MCContext that are outside of the PassManager, those need to have doInitialization and doFinalization called automatically by constructor/destructor as otherwise nobody would call doInitialization/doFinalization (which were the root cause of valgrind bugs in my prior check in)
>
> Is that sufficient context?
Yes, thank you! That's exactly the information I was looking for.
-Jim
>
> Thanks
>
> Pedro
>
>
> On Dec 6, 2012, at 2:32 PM, Jim Grosbach <grosbach at apple.com> wrote:
>
>> Hi Pedro,
>>
>> I don't think I sufficiently understand the context (pun not intended, but a nice side effect) here to follow. Can you elaborate a bit on what you mean by "the MCContext doInitialization/doFinalization issues" and why this patch addresses them?
>>
>> -Jim
>>
>> On Dec 6, 2012, at 1:52 PM, Pedro Artigas <partigas at apple.com> wrote:
>>
>>> Hello All,
>>>
>>> Self explanatory
>>>
>>> Thanks
>>>
>>> Pedro
>>>
>>> <mccontextinitfinafix.patch>_______________________________________________
>>> llvm-commits mailing list
>>> llvm-commits at cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>
>
More information about the llvm-commits
mailing list