[llvm-commits] [llvm] r99400 - in /llvm/trunk: lib/CodeGen/LiveIntervalAnalysis.cpp test/CodeGen/Generic/2010-03-24-liveintervalleak.ll

Jakob Stoklund Olesen stoklund at 2pi.dk
Thu Mar 25 16:30:41 PDT 2010


On Mar 24, 2010, at 6:50 AM, Torok Edwin wrote:

> Modified: llvm/trunk/lib/CodeGen/LiveIntervalAnalysis.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/LiveIntervalAnalysis.cpp?rev=99400&r1=99399&r2=99400&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/LiveIntervalAnalysis.cpp (original)
> +++ llvm/trunk/lib/CodeGen/LiveIntervalAnalysis.cpp Wed Mar 24 08:50:36 2010
> @@ -85,8 +85,10 @@
> void LiveIntervals::releaseMemory() {
>   // Free the live intervals themselves.
>   for (DenseMap<unsigned, LiveInterval*>::iterator I = r2iMap_.begin(),
> -       E = r2iMap_.end(); I != E; ++I)
> +       E = r2iMap_.end(); I != E; ++I) {
> +    I->second->clear();
>     delete I->second;
> +  }
> 
>   r2iMap_.clear();

I think LiveInterval::clear is broken. I calls VNI->~VNInfo(), but those VNIs can be referenced from multiple intervals.

/jakob





More information about the llvm-commits mailing list