similar to: Use DominatorTree from CallGraphSCCPass

Displaying 20 results from an estimated 4000 matches similar to: "Use DominatorTree from CallGraphSCCPass"

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
2020 Jan 07
2
Let CallGraphSCCPass Use Function-Level Analysis
Hi Mikhail, As Brian noted, stuff like this works better in the new pass manager. Even in the old pass manager I thought it should work though. Did you initialize the pass, via `INITIALIZE_PASS_DEPENDENCY(PostDominatorTreeWrapperPass)`? Did you require it, via ` AU.addRequired<PostDominatorTreeWrapperPass>();`? Btw. May I ask what you are planning to do? Cheers, Johannes On 01/07,
2017 Jul 17
2
An update on the DominatorTree and incremental dominators
Hi folks, For the past month I’ve been working on improving the DominatorTree and PostDominatorTree in LLVM. The RFC that explains the motivations and plans can be found here: http://lists.llvm.org/pipermail/llvm-dev/2017-June/114045.html . Here’s a short summary of what changed upstream since posting it: - We switched from the Simple Lengauer-Tarjan algorithm for computing dominators
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.
2009 Feb 12
2
[LLVMdev] DominatorTree Information required in CallGraphPass
Hi all, I am implementing a new pass for LLVM which extends Call Graph SCCPass. I need DominatorTree Information when I get to individual function. I have added AU.addrequired<DominatorTree>() and AU.addRequired<DominanceFrontier>() in getAnalysisUsage() function. But, when I get to the pass, Pass Manager gives following runtime error Unable to schedule 'Dominator Tree
2009 Feb 12
0
[LLVMdev] DominatorTree Information required in CallGraphPass
On Feb 11, 2009, at 6:05 PM, kapil anand wrote: > Hi all, > > I am implementing a new pass for LLVM which extends Call Graph > SCCPass. I need DominatorTree Information when I get to individual > function. I have added AU.addrequired<DominatorTree>() and > AU.addRequired<DominanceFrontier>() in getAnalysisUsage() function. > > But, when I get to the pass,
2016 Mar 04
2
Use of branch weight metadata in enhanced inliner
Thank you Easwaran for landing a great diff that enables the use of block frequency information in inliner. As of now, it seems that inliner can exploit the information only when profile data is available. However, instructions such as __builtin_expect may set branch weight metadata as well, which is useful for inliner. I think this problem can be addressed by letting llvm::getInlineCost function
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
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 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:
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) {}
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,
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(); >
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 >
2013 Jan 24
2
[LLVMdev] FunctionPass question
Hi, I am working on a pass to convert lib calls to intrinsic calls as discussed here: http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-January/058507.html In my first attempt I created a FunctionPass that uses CallInst::setCalledFunction to replace the callee with the appropriate intrinsic (using Intrinsic::getDeclaration). After the pass runs I get an assertion from CallGraphSCCPass:
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>
2010 Mar 08
2
[LLVMdev] findNearestCommonDominator
On 03/07/2010 10:33 PM, Jochen Wilhelmy wrote: > Hi! Hi Jochen, > I have seen that findNearestCommonDominator has been added > to class PostDominatorTree, maybe on my request. > > Now there is the following problem: > in class DominatorTreeBase there is an assert in findNearestCommonDominator > that asserts if the tree is not a PostDominator tree: > > assert
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:
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: