[llvm-commits] [llvm] r68120 - in /llvm/trunk: lib/Transforms/Utils/InlineFunction.cpp test/Other/2009-03-31-CallGraph.ll

Chris Lattner clattner at apple.com
Sun Apr 19 11:03:40 PDT 2009


On Apr 19, 2009, at 9:28 AM, Duncan Sands wrote:

> Hi Chris,
>
>>>> +            // We should be able to do this:
>>>> +            //   (*CG)[Caller]->replaceCallSite(CI, II);
>>>> +            // but that fails if the old call site isn't in the
>>>> call graph,
>>>> +            // which, because of LLVM bug 3601, it sometimes  
>>>> isn't.
>>>
>>> wouldn't it be better to fix PR3601?
>>
>> Incidentally, converting CallGraph to use AssertingVH would be a  
>> great
>> way to flush out these sorts of bugs.
>
> I did this but it suffers from the problem that callgraph info is not
> deleted before running a pass that doesn't preserve the callgraph.
> Such a pass may of course delete call instructions without updating  
> the
> callgraph, and this causes the assertion to fire.  I'm still  
> investigating,
> so this may not be the whole story.

I think the pass manager should call releaseMemory on the callgraph  
before running one of those?

-Chris



More information about the llvm-commits mailing list