Displaying 3 results from an estimated 3 matches for "_z4bluev".
2011 Aug 11
0
[LLVMdev] incorrect DSCallGraph for simple indirect call with vtable nearby
...as possible callees. However, it still claims that its
results are incomplete. Why doesn't it know that its callee set is
complete here? The bitcode generated for this call is slightly
different than for "test.c". Here it looks like:
%7 = phi void ()* [ @_Z3redv, %4 ], [ @_Z4bluev, %5 ]
call void %7()
I would have expected any analysis to give the same results for either
version of the bitcode: callee set is {red, blue} and this answer is
complete. What's going wrong here?
Attached below is an updated copy of my "ShowCallGraph.cpp" pass. It
now uses...
2011 Aug 11
2
[LLVMdev] incorrect DSCallGraph for simple indirect call with vtable nearby
Will Dietz wrote:
> This is actually the expected behavior for EQTD :).
Expected by you, maybe. :-D
> If you switch to TD you'll get better alias-analysis information, and
> in this example the correct result.
OK, I have switched to TDDataStructures as well, and I am also seeing
much better (for my purposes) results in simple tests. I'll keep poking
at this some more and
2011 Aug 11
1
[LLVMdev] incorrect DSCallGraph for simple indirect call with vtable nearby
.... However, it still claims that its results are
> incomplete. Why doesn't it know that its callee set is complete here? The
> bitcode generated for this call is slightly different than for "test.c".
> Here it looks like:
>
> %7 = phi void ()* [ @_Z3redv, %4 ], [ @_Z4bluev, %5 ]
> call void %7()
>
> I would have expected any analysis to give the same results for either
> version of the bitcode: callee set is {red, blue} and this answer is
> complete. What's going wrong here?
>
In C the red() and blue() declarations are var-args functions, i...