[llvm-commits] GC patches again

Chris Lattner clattner at apple.com
Thu Sep 27 14:37:03 PDT 2007


>> In the .cpp file, I'm not sure why you need the Deleter class.  It  
>> seems like the CollectorModuleMetadata pass should manage its own  
>> lifetime (freeing itself on releaseMemory).  This will require all  
>> the machinefunctionpasses to preserve CollectorModuleMetadata  
>> though.  Does this make sense?
>
> Shades of <http://llvm.org/PR746>.
>
> I thought so as well, and tried very hard to make that work. I  
> can't remember the details, but I was more fundamental than just  
> not invalidating the analysis. Even after I'd fixed all of the  
> passes that invalidated the metadata (and there were many), I had  
> resolve lifetime issues by making CollectorModuleMetadata an  
> ImmutablePass.
>
> I actually think this is empirically better, despite being "ugly";  
> notice how you have 2 files changed here instead of 25, and no risk  
> that a pass will accidentally invalidate the "analysis" and throw  
> away necessary output.

Ok sounds good, please commit!

-Chris



More information about the llvm-commits mailing list