Displaying 5 results from an estimated 5 matches for "tarjanscc_iterator".
2002 Dec 06
2
[LLVMdev] Tarjan+function_ptrs == trouble ? (fwd)
Dear LLVM,
Recently I incorporated code into my project such that function pointers
were supported, however it seems that the TarjanSCC_iterator no longer
works on the call graph... main() is no longer reached while the function
pointers are... I can provide code, but I have a feeling there is a
simple fix... Has anyone gone through this?
Thanks,
Dave
2002 Dec 06
3
[LLVMdev] Tarjan+function_ptrs == trouble ? (fwd)
Test Cases:
(attached)
Iteration code:
(...)
typedef TarjanSCC_iterator<CallGraph*> MyTarjan;
CallGraph& callGraph = getAnalysis<CallGraph>();
MyTarjan iter = tarj_begin(&callGraph);
MyTarjan end = tarj_end(&callGraph);
while(iter!=end)
iter++;
(...)
if you take the time to print out the function each non-looping node iter
traverses,...
2002 Dec 06
1
[LLVMdev] Tarjan+function_ptrs == trouble ?
...----------
>
> #include "llvm/Analysis/CallGraph.h"
> #include "llvm/Function.h"
> #include "llvm/Pass.h"
> #include "Support/TarjanSCCIterator.h"
>
> struct Test : public Pass {
> virtual bool run(Module &F) {
> typedef TarjanSCC_iterator<CallGraph*> MyTarjan;
> CallGraph& callGraph = getAnalysis<CallGraph>();
> for (MyTarjan I = tarj_begin(&callGraph), E = tarj_end(&callGraph); I != E; ++I) {
> SCC<CallGraph*> *S = *I;
> assert(S);
> std::cerr << "New...
2002 Dec 06
0
[LLVMdev] Tarjan+function_ptrs == trouble ? (fwd)
> Recently I incorporated code into my project such that function pointers
> were supported, however it seems that the TarjanSCC_iterator no longer
> works on the call graph... main() is no longer reached while the function
> pointers are... I can provide code, but I have a feeling there is a
> simple fix... Has anyone gone through this?
I'll need some more details before I can help. I assume this has to do
with data...
2002 Dec 06
0
[LLVMdev] Tarjan+function_ptrs == trouble ?
...---------------- Pass code ----------------------------
#include "llvm/Analysis/CallGraph.h"
#include "llvm/Function.h"
#include "llvm/Pass.h"
#include "Support/TarjanSCCIterator.h"
struct Test : public Pass {
virtual bool run(Module &F) {
typedef TarjanSCC_iterator<CallGraph*> MyTarjan;
CallGraph& callGraph = getAnalysis<CallGraph>();
for (MyTarjan I = tarj_begin(&callGraph), E = tarj_end(&callGraph); I != E; ++I) {
SCC<CallGraph*> *S = *I;
assert(S);
std::cerr << "New SCC\n";
for (...