Displaying 20 results from an estimated 159 matches for "callgraphsccpasses".
2011 Jan 25
1
[LLVMdev] Can CallGraphSCCPass distinguish different function pointer types in CallGraphNode?
Dear folks,
I am trying to handle function pointers at call graph, and I found that
the CallGraphSCCPass makes function pointers as external node, which is
actually an empty CallGraphNode (NULL pointer)?
If I want to distinguish the function pointer types in the call graph
(and I also want the SCC order in CallGraphSCCPass), can I do that easily?
Or I have to inheritate the
2010 Jul 12
3
[LLVMdev] CallGraphSCCPass: symbol not found
Hi,
I've written a CallGraphSCCPass that compiles successfully, but when I
try to run it with opt, it fails:
Symbol not found: __ZTIN4llvm16CallGraphSCCPassE
If I simply change the pass to be a FunctionPass or a ModulePass, opt
can run it just fine.
I'm on Mac OS X, so I thought perhaps I was running into bug #2771
[1], but I'm getting the same error on Ubuntu Linux:
2016 Jun 16
2
Intended behavior of CGSCC pass manager.
> To clarify, we're trying to provide this invariant on the "ref" graph or
> on the graph with direct calls only? I think the invariant need only apply
> to the former
>
More clarification needed :) What do you mean by 'invariant need only apply
to the former'?
> if we're relying on this for correctness (i.e. an analysis must visit all
> callees
2010 Jul 16
2
[LLVMdev] Function::getName in CallGraphSCCPass causes bus error
Hi,
I'm trying to use CallGraphSCCPass, but I keep getting a bus error. I
can reproduce the problem quite easily using the lib/Transforms/Hello
example. I simply mix in these changes:
#include "llvm/CallGraphSCCPass.h"
...
struct Hello : public CallGraphSCCPass {
static char ID; // Pass identification, replacement for typeid
Hello() : CallGraphSCCPass(&ID) {}
2011 Oct 25
1
[LLVMdev] Using a FunctionPass inside a CallGraphSCCPass
Hi,
I am writing a CallGraphSCCPass that uses LoopInfo which is a FunctionPass.
However, doing so results in the following error.
****
Unable to schedule 'Natural Loop Information' required by '......'
****
Google led me to this page, where Devang Patel suggests implementing the
addLowerLevelRequiredPasses in CGPassManager in a manner similar to
MPPassManager.
2010 Jul 13
0
[LLVMdev] CallGraphSCCPass: symbol not found
Hi Trevor,
> I've written a CallGraphSCCPass that compiles successfully, but when I
> try to run it with opt, it fails:
>
> Symbol not found: __ZTIN4llvm16CallGraphSCCPassE
$ c++filt _ZTIN4llvm16CallGraphSCCPassE
typeinfo for llvm::CallGraphSCCPass
LLVM TOT has RTTI turned off as far as I know (not sure about 2.7). Are you
making use of RTTI?
Ciao,
Duncan.
2010 Jul 19
0
[LLVMdev] Function::getName in CallGraphSCCPass causes bus error
Hi Trevor,
> struct Hello : public CallGraphSCCPass {
> static char ID; // Pass identification, replacement for typeid
> Hello() : CallGraphSCCPass(&ID) {}
> virtual bool runOnSCC(std::vector<CallGraphNode *> &SCC) {
> CallGraphNode *node = SCC.front();
> Function *function = node->getFunction();
>
2011 Oct 10
0
[LLVMdev] Using analysis results from a CallGraphSCCPass in a ModulePass
Hi,
I'm trying to use analysis results from a CallGraphSCCPass in a ModulePass.
Here is the relevant code:
struct MyCallGraphSCCPass : CallGraphSCCPass
{
...
bool runOnSCC(CallGraphSCC& scc){...}
};
char MyCallGraphSCCPass::ID = 0;
static RegisterPass<MyCallGraphSCCPass> X("cgscc", "Dummy CG SCC pass");
struct MyModulePass : public ModulePass
{
2010 Jul 20
0
[LLVMdev] Adding required function passes to CallGraphSCCPass
Hi,
I have a FunctionPass that needs to process functions in bottom-up
order on the call graph (callees before callers). CallGraphSCCPass can
provide this ordering, but there's a snag. My pass depends on other
passes, such as UnifyFunctionExitNodes and LoopInfo, to process the
functions first. With a FunctionPass, I can specify these dependencies
in FunctionPass::getAnalysisUsage,
2012 Oct 03
2
[LLVMdev] LoopInfo analysis in CallGraphSCCPass
Hi,
How to get the LoopInfo analysis in a CallGraphSCCPass ?
Thanks,
Vinay
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20121003/bf60da98/attachment.html>
2012 Oct 03
2
[LLVMdev] LoopInfo analysis in CallGraphSCCPass
Hi,
Is it possible to recreate the LoopInfo analysis in my pass?
Thanks ,
Vinay
On Wed, Oct 3, 2012 at 2:34 PM, Chandler Carruth <chandlerc at google.com>wrote:
> This is not currently supported by the LLVM pass manager system. It is a
> serious deficiency that I (and others) would like to address, but it
> requires significant changes to the pass manager and analysis
2012 Oct 03
0
[LLVMdev] LoopInfo analysis in CallGraphSCCPass
On Wed, Oct 3, 2012 at 2:33 AM, vinay m <mvinay05041990 at gmail.com> wrote:
> Hi,
> Is it possible to recreate the LoopInfo analysis in my pass?
>
No. You need your pass to be a FunctionPass in order to use the LoopInfo
(and associated) analyses.
>
> Thanks ,
> Vinay
>
> On Wed, Oct 3, 2012 at 2:34 PM, Chandler Carruth <chandlerc at google.com>wrote:
2009 Oct 28
1
[LLVMdev] vmjc and CallGraphSCCPass
How can I vmjc to run CallGraphSCCPasses? I wrote a test pass that does
nothing, and all vmjc says is:
vmjc: PassManager.cpp:1604: virtual void
llvm::ModulePass::assignPassManager(llvm::PMStack&,
llvm::PassManagerType): Assertion `!PMS.empty() && "Unable to find
appropriate Pass Manager"' failed.
0 vmjc 0x...
2010 Jul 14
0
[LLVMdev] CallGraphSCCPass: symbol not found
-----Original Message-----
From: Trevor Harmon <Trevor.W.Harmon at nasa.gov>
Sent: Tuesday, July 13, 2010 4:46 PM
To: Duncan Sands <baldrick at free.fr>
Cc: llvmdev at cs.uiuc.edu <llvmdev at cs.uiuc.edu>
Subject: Re: [LLVMdev] CallGraphSCCPass: symbol not found
> On Jul 12, 2010, at 11:37 PM, Duncan Sands wrote:
>
> > $ c++filt _ZTIN4llvm16CallGraphSCCPassE
>
2012 Oct 03
0
[LLVMdev] LoopInfo analysis in CallGraphSCCPass
This is not currently supported by the LLVM pass manager system. It is a
serious deficiency that I (and others) would like to address, but it
requires significant changes to the pass manager and analysis dependency
system.
I have some dim hope of working on fixing this limitation, but it won't be
quick. ;]
On Wed, Oct 3, 2012 at 1:49 AM, vinay m <mvinay05041990 at gmail.com> wrote:
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
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 functions in order, and the situation isn't a whole lot better.
Interestingly, `addRequired<CallGraphWrapperPass>...
2020 Jan 07
2
Let CallGraphSCCPass Use Function-Level Analysis
Dear all,
I would like to use the PostDominatorTree in ArgPromotion. I did not find an example of how to use function level analysis inside CallGraphSCCPass. I tried to follow an example of how to use function-level pass in a module pass, but I hit "llvm_unreachable" in PMDataManager::addLowerLevelRequiredPass.
What would be a proper way to make PostDominatorTree available in
2012 Dec 07
0
[LLVMdev] Interprocedural Register Allocation
Hi Jakob,
I have been trying to learn how the CodeGen passes work and I am playing
around with the -debug-pass option. I tried implementing a bare
CallGraphSCCPass based Pass in the CodeGen which basically does nothing for
now. I mostly tried to replicate what RegAlloc passes do. I did this
instead of modifying the existing RegAlloc passes to use CallGraphSCCPass
because that was becoming way too
2016 Feb 25
0
Use DominatorTree from CallGraphSCCPass
Hello,
I'm trying to improve SimpleInliner to use information given by __builtin_expect instruction (It would be better to not to inline if a call instruction is unlikely to be executed). The problem here is that it is not possible to compute control dependency relationship between the annotated branch instruction and callsites using PostDominatorTree, because PostDominatorTree is a function