search for: callgraphsccpasses

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&gt...
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