[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