search for: callgraphpass

Displaying 10 results from an estimated 10 matches for "callgraphpass".

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,
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
2011 Nov 10
3
[LLVMdev] Problem getting LoopInfo inside non-LoopPass
LLVMers, I am doing a CallGraphPass but would like to get the LoopInfo of the functions inside this pass, is this possible? Currently I have a function inside the CallGraph struct: void getAnalysisUsage(AnalysisUsage &AU) const { AU.addRequired<LoopInfo>(); AU.addPreserved<LoopInfo>(); } And...
2011 Nov 10
4
[LLVMdev] Problem getting LoopInfo inside non-LoopPass
...) and I passed a reference (&F) (F is a function pointer). I still get the opt load error from the original message (UNREACHABLE exectuted!). Thanks. On Thu, Nov 10, 2011 at 10:00 AM, Ryan Taylor <ryta1203 at gmail.com> wrote: > 1. Ok will do. > 2. Ok, will do. > 3. It's a CallGraphPass. I mentioned this in my first post. > 4. Yep, I have the header files included, I'm not sure it would compile > otherwise (previously). I would get an error like LoopInfo not declared. > > I'll try your suggestions, thanks again! > > On Thu, Nov 10, 2011 at 9:57 AM, John C...
2011 Nov 10
1
[LLVMdev] Problem getting LoopInfo inside non-LoopPass
...LI = getAnalysis<LoopInfo>(F); > > > On Thu, Nov 10, 2011 at 9:13 AM, John Criswell <criswell at illinois.edu > <mailto:criswell at illinois.edu>> wrote: > > On 11/10/11 11:06 AM, Ryan Taylor wrote: >> LLVMers, >> >> I am doing a CallGraphPass but would like to get the LoopInfo >> of the functions inside this pass, is this possible? Currently I >> have a function inside the CallGraph struct: >> >> void getAnalysisUsage(AnalysisUsage &AU) const { >> AU.addRequired<LoopInfo&g...
2011 Nov 10
0
[LLVMdev] Problem getting LoopInfo inside non-LoopPass
1. Ok will do. 2. Ok, will do. 3. It's a CallGraphPass. I mentioned this in my first post. 4. Yep, I have the header files included, I'm not sure it would compile otherwise (previously). I would get an error like LoopInfo not declared. I'll try your suggestions, thanks again! On Thu, Nov 10, 2011 at 9:57 AM, John Criswell <criswell at illi...
2011 Oct 25
1
[LLVMdev] Using a FunctionPass inside a CallGraphSCCPass
...e 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. http://old.nabble.com/DominatorTree-Information-required-in-CallGraphPass-td 21968640.html I tried this but to get analysis passes on the fly I need to use FunctionPassManagerImpl in CallGraphSCCPass.cpp which I cannot because it is not part of any header file. I tried using FunctionPassManager but it does not implement getOnTheFlyPass() required by getAnalysis(). I al...
2011 Nov 10
0
[LLVMdev] Fwd: Problem getting LoopInfo inside non-LoopPass
...is a function pointer). I still > get the opt load error from the original message (UNREACHABLE exectuted!). > > Thanks. > > On Thu, Nov 10, 2011 at 10:00 AM, Ryan Taylor <ryta1203 at gmail.com> wrote: > >> 1. Ok will do. >> 2. Ok, will do. >> 3. It's a CallGraphPass. I mentioned this in my first post. >> 4. Yep, I have the header files included, I'm not sure it would compile >> otherwise (previously). I would get an error like LoopInfo not declared. >> >> I'll try your suggestions, thanks again! >> >> On Thu, Nov 10,...
2012 Oct 31
0
[LLVMdev] Interprocedural Register Allocation
...edural Register Allocator (IPRA henceforth). 1. Decide if we have to create MachineCallGraphSCCPass. 2. If we have to create MachineCallGraphSCCPass, inherit from CallGraphSCCPass and override the methods as required. 3. Create a new IPRA pass which inherits from MachineCallGraphSCCPass or CallGraphPass depending on whether we create MachineCallGraphSCCPass. 4. Implement a loop in runOnMachineSCC that iterates over the CallGraph nodes in the bottom-up order: A. For each node, run one of the allocators as chosen by the command line flag or the optimization level required. This can b...
2012 Oct 04
2
[LLVMdev] Interprocedural Register Allocation
Hi Jakob, On Thu, Oct 4, 2012 at 2:31 PM, Jakob Stoklund Olesen <stoklund at 2pi.dk>wrote: > > On Oct 4, 2012, at 2:27 PM, "Madhusudan C.S" <madhusudancs at gmail.com> > wrote: > > Basically, the PrologEpilogInsertion pass will add a bit mask to >> MachineModuleInfo describing which registers are clobbered by the function >> being compiled. Later,