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