Displaying 5 results from an estimated 5 matches for "gcinfodeleter".
Did you mean:
cginfodeleter
2013 Feb 19
1
[LLVMdev] [PATCH] Fix GCMetadaPrinter::finishAssembly not executed
As discussed in LLVMdev [1], due to the execution order of
doFinalization functions, the GC information were deleted before
AsmPrinter::doFinalization was executed. Thus, the
GCMetadataPrinter::finishAssembly was never called.
The attached patch fixes that by moving the code of the
GCInfoDeleter::doFinalization to Printer::doFinalization. Pedro (cc'ed)
has already taken a look at this and he also thinks that it is OK.
I also tried to add a simple unit-test by using the available Ocaml
garbage collector. I 'm not very familiar with the code of that
collector so I'm not 100% sur...
2013 Feb 27
1
[LLVMdev] GCMetadataPrinter::finishAssembly not executed?
...ot as Printer)?
>>>
>> Hm, I haven't thought of that... I'll take a better look and try to find
>> a more suitable solution. Any suggestion is more than welcome! :-)
>>
>>
>> You also missed in your changes the declaration of
>>> llvm::createGCInfoDeleter() in include/llvm/CodeGen/Passes.h
>>>
>> Oops, sorry! I suppose I missed that! Pedro, will you take care of that
>> (by just removing it) or should I sent a trivial fix in llvm-commits (where
>> I don't have direct commit access)?
>>
> --
> Yiannis Tsi...
2013 Feb 16
2
[LLVMdev] GCMetadataPrinter::finishAssembly not executed?
...ause the doFinalization order is the reverse of the doInitialization order)
>
> Option 1 is a smaller change, option 2 will make the code cleaner and prevent issues like this in the future, so it sounds like a better solution.
I'd vote for the second one! Does this mean we don't want GCInfoDeleter
any more? Because, IMO, we could do that by just moving the
Deleter::doFinalization functionality to Printer::doFinalization
(introduce it as this doesn't exist).
The attached patch seems to work. Take it as a prototype as it needs a
unittest just to be sure in the future!
Does this seem reas...
2013 Feb 15
0
[LLVMdev] GCMetadataPrinter::finishAssembly not executed?
Hello Yiannis,
I am not an expert on metadata or the CG information but one of the two has to happen:
- Simply moving the deleter pass to a different spot
- Changing the doFinalization of another pass (Printer?) to do the deleter pass job (this should work now because the doFinalization order is the reverse of the doInitialization order)
Option 1 is a smaller change, option 2 will make the code
2013 Feb 15
2
[LLVMdev] GCMetadataPrinter::finishAssembly not executed?
Hi Pedro (et al.),
On 02/14/2013 11:43 PM, Pedro Artigas wrote:
> I believe what is going on is that there is an issue with the way that information is deleted (the CG information).
Yeap, that's exactly the problem! :-) I noticed that the
GCModuleInfo::iterator (line 931 in
lib/CodeGen/AsmPrinter/AsmPrinter.cpp) is empty and, thus,
GCMetadataPrinter::finishAssembly is never called.