similar to: [LLVMdev] Walking thru CallGraph bottom up

Displaying 20 results from an estimated 8000 matches similar to: "[LLVMdev] Walking thru CallGraph bottom up"

2015 Feb 25
2
[LLVMdev] Walking thru CallGraph bottom up
Thanks John. I guess I will use a ModulePass, so when I am implementing the “runOnModule” function, do I have to loop through all the functions, for each functions all the BasicBlocks and for each BasicBlock all the instructions or given the Module I have to call the CallGraph directly? Is there an example out there? I can’t find anything. Thanks. Simone > On Feb 24, 2015, at 13:29, John
2015 Feb 25
0
[LLVMdev] Walking thru CallGraph bottom up
On 2/25/15 10:51 AM, Simone Atzeni wrote: > Thanks John. > > I guess I will use a ModulePass, so when I am implementing the “runOnModule” function, > do I have to loop through all the functions, for each functions all the BasicBlocks and for each BasicBlock all the instructions If you know the Instruction, you can get it's basic block using Instruction::getParent(), and then get
2015 Feb 27
2
[LLVMdev] Walking thru CallGraph bottom up
Hi Simon, > From: Simone Atzeni <simone.at at gmail.com> > To: John Criswell <jtcriswel at gmail.com> > Cc: llvmdev at cs.uiuc.edu > Subject: Re: [LLVMdev] Walking thru CallGraph bottom up > Message-ID: <318EBA41-2040-4EFE-B330-5813C817C2A2 at gmail.com> > Content-Type: text/plain; charset="windows-1252" > > I think I got it and the example is
2015 Feb 27
0
[LLVMdev] Walking thru CallGraph bottom up
Dear Simon, Kevin is correct; as far as I can tell, there is no method of getting the functions calling a given function. Instead, you have to start at the main() function and search for the function using a depth-first or breadth-first search. What may make sense is to build a new data structure that has nodes that point from callees to callers once and then use that for your queries.
2015 Mar 02
2
[LLVMdev] Walking thru CallGraph bottom up
Hi Herbie, thanks for you answer and explanation. > > Also, if any of the functions are external, you are completely stuck (unless you put everything together with lld). I am indeed having a problem regarding external function. I my program is just one file everything work and I can access all the functions. However, if it has multiple files I have a lot of unresolved pointers to
2016 Nov 20
2
GlobalValue::AvailableExternallyLinkage
> > On Nov 19, 2016, at 14:09, Mehdi Amini <mehdi.amini at apple.com> wrote: > > I assume from your description that you are also updating call sites in the same module so that if foo was calling atoi, after cloning you have foo_parallel that is calling atoi_parallel? > If this is the issue, it depends, I’d probably consider turning the available_externally into internal.
2009 May 11
2
[LLVMdev] Pass Manager hangs with CallGraph and LoopSimplify
Hello, I have discovered a situation in which the pass manager will infinite loop. The minimal test case is below this message. The required structure of these passes is; Before requires CallGraph After requires LoopSimplify and Before I can observe this through opt: opt -load ./libBug.so -after input.bc -o output.bc I built my copy of llvm from svn revision 68820 using gcc 4.1.2 Any
2018 May 15
2
Pass segmentation fault after llvm_shutdown.
I ran into a similar problem a while ago; see https://reviews.llvm.org/D30107 and https://reviews.llvm.org/D33515 .  You get the unusual stack trace because it's trying to call a destructor in shared library which was already unloaded. I thought we had fixed that, but maybe not?  Looking again, it looks like the patch got reverted and I didn't notice. -Eli On 5/14/2018 10:18 PM,
2018 May 17
0
Pass segmentation fault after llvm_shutdown.
It's working with trunk though. Do you think the patch will end up in 6.0.1? Thanks. Simone On Tue, May 15, 2018 at 11:18 AM, Friedman, Eli <efriedma at codeaurora.org> wrote: > I ran into a similar problem a while ago; see https://reviews.llvm.org/ > D30107 and https://reviews.llvm.org/D33515 . You get the unusual stack > trace because it's trying to call a destructor
2016 Nov 19
2
GlobalValue::AvailableExternallyLinkage
Because what is happening is that if function “atoi” gets cloned I don’t have a definition of “atoi_parallel” therefore I get undefined references when linking. I just want to clone and instrument functions implemented in modules of my program. > On Nov 19, 2016, at 13:54, Mehdi Amini <mehdi.amini at apple.com> wrote: > > >> On Nov 19, 2016, at 12:44 PM, Simone Atzeni
2009 May 11
0
[LLVMdev] Pass Manager hangs with CallGraph and LoopSimplify
See http://llvm.org/docs/GettingStarted.html#brokengcc and then try building with something OTHER than GCC 4.1.2 . ----- Original Message ---- > From: Nick Johnson <npjohnso at cs.princeton.edu> > To: LLVM Developers Mailing List <llvmdev at cs.uiuc.edu> > Sent: Monday, May 11, 2009 3:01:12 PM > Subject: [LLVMdev] Pass Manager hangs with CallGraph and LoopSimplify >
2015 May 19
3
[LLVMdev] Processing functions in call graph SCC "order" with function-level analyses
Thanks John. Does this solve the problem of analysis availability though? If I still have to run the function analyses manually, I might as well keep rolling with the CallGraphSCCPass. (I probably should have mentioned that this is what I’m using right now.) Félix > Le 2015-05-19 à 10:12:32, John Criswell <jtcriswel at gmail.com> a écrit : > > On 5/18/15 10:45 PM, Félix Cloutier
2018 May 15
0
Pass segmentation fault after llvm_shutdown.
This is the correct path to the pass: https://github.com/PRUNERS/sword/blob/master/lib/Transforms/Instrumentation/InstrumentParallel.cpp On Mon, May 14, 2018 at 10:06 PM, Simone Atzeni <simone.at at gmail.com> wrote: > Hi all, > > I was porting my pass from LLVM 4.0 to 6.0 and I am getting a segmentation > fault. > I was able to obtain only the info below from GDB. > >
2015 May 20
3
[LLVMdev] Processing functions in call graph SCC "order" with function-level analyses
So I got very mixed results. With the CallGraphSCCPass, both `addRequired<DominatorTreeWrapperPass>` and `addRequired<MemoryDependenceAnalysis>` fail at runtime. The LLVM core has just two CallGraphSCCPasses and neither uses neither analyses, so it's hard to find a valid example. I transformed the pass into a ModulePass, using scc_iterator as shown in CGPassManager to process
2018 May 07
2
Preservation of CallGraph (by BasicBlockPass, FunctionPass)
If I run: opt -globals-aa -die -inline -debug-pass=Details foo.ll -S then I will get this pass structure: Target Library Information Target Transform Information Target Pass Configuration Assumption Cache Tracker Profile summary info ModulePass Manager CallGraph Construction Globals Alias Analysis FunctionPass Manager BasicBlockPass Manager Dead Instruction
2016 Nov 19
4
GlobalValue::AvailableExternallyLinkage
Thanks Mehdi. My pass clones the functions within a module in order to have the original function and an exact copy of the same function but with a different name, i.e. sum() and sum_parallel(). After my pass I will run ThreadSanitizer instrumentation pass only on the new copy of the functions, i.e. only the “_parallel” functions will be instrumented by tsan. In some programs that I am
2019 Oct 18
2
US LLVM Dev Meeting 2019 - Round Table - Challenges using LLVM for GPU compilation
Thanks, Marco! If there is enough interest in this topic we can also organize a separate round table for this discussion. Cheers, Anastasia ________________________________ From: Marco Antognini <Marco.Antognini at arm.com> Sent: 18 October 2019 14:42 To: Anastasia Stulova <Anastasia.Stulova at arm.com>; Simone Atzeni via llvm-dev <llvm-dev at lists.llvm.org>; clang developer
2014 Jun 14
2
[LLVMdev] Loop data-dependence analysis
Hello, I am very new in LLVM and I am trying to understand how to use it in my project. I would like to write a Pass (?) that analyzes the loops in a program and says if the loop has a data dependence and what kind of data dependence. Do you guys have any suggestion how do to it? Thanks. Best Regards, Simone Atzeni
2015 May 19
2
[LLVMdev] Processing functions in call graph SCC "order" with function-level analyses
Hi all, I have one analysis pass that I want to perform on call graph SCCs. However, for each function in the SCC, I need function-level analyses, like the dominator tree and the memory dependency analysis. I’ve been told before <http://stackoverflow.com/questions/30059622/using-dominatortreewrapperpass-in-callgraphsccpass> that these were not available from a CallGraphSCCPass. What would
2018 May 07
0
Preservation of CallGraph (by BasicBlockPass, FunctionPass)
I'm not sure about the old pass manager, but I think the new pass manager solves this issue. See llvm::updateCGAndAnalysisManagerForFunctionPass where it updates the call graph to be in sync with edges deleted by function passes. So I suspect the right fix is to use the new pass manager. -- Sanjoy On Mon, May 7, 2018 at 7:32 AM, Björn Pettersson A via llvm-dev <llvm-dev at