similar to: [LLVMdev] DominatorTrees, DominanceFrontiers, interfaces and cloning

Displaying 20 results from an estimated 1100 matches similar to: "[LLVMdev] DominatorTrees, DominanceFrontiers, interfaces and cloning"

2017 Dec 08
3
Issue with BUILD_SHARED_LIBS=ON
Dear all, while trying to build llvm with shared libraries using GCC (tested both in Ubuntu 14.04 and Ubuntu 16.04) as in cmake -G Ninja -DBUILD_SHARED_LIBS=ON I run into the following link error lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/PartialInlining.cpp.o: In function `llvm::ForwardDominanceFrontierBase<llvm::BasicBlock>::ForwardDominanceFrontierBase()':
2003 Aug 13
1
[LLVMdev] Running a pass
Hi, I want to run the Mem2Reg pass on a function without using the the LLVM opt utility. I wrote some code, which I am not sure is correct: TS_ASSERT(!verifyFunction(*function)); // find the dominance frontier of the CFG DominanceFrontier DF; DF.runOnFunction(*function); // try to promote stack allocated variables PromoteMemToReg(function->getRegAllocas(), DF, *tgt_data);
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,
2012 Aug 20
0
[LLVMdev] DominanceFrontier
Hi George, > I saw in the API that DominanceFrontier has been deprecated. Is this for real? > I have read the computational issues but shouldn't that be left to the users of > llvm? > My concern is I am writing a Control Dependence module that uses > Dominance-Frontier information. > Getting rid of Dominance Frontiers will put me in a tight spot. if the dominancefrontier
2012 Aug 20
4
[LLVMdev] DominanceFrontier
Hi Guys, I saw in the API that DominanceFrontier has been deprecated. Is this for real? I have read the computational issues but shouldn't that be left to the users of llvm? My concern is I am writing a Control Dependence module that uses Dominance-Frontier information. Getting rid of Dominance Frontiers will put me in a tight spot. George -------------- next part -------------- An HTML
2012 Aug 21
0
[LLVMdev] DominanceFrontier
George Baah <georgebaah at gmail.com> writes: > Hi Guys, > > I saw in the API that DominanceFrontier has been deprecated. Is this > for real? > I have read the computational issues but shouldn't that be left to the > users of llvm? > My concern is I am writing a Control Dependence module that uses > Dominance-Frontier information. > Getting rid of Dominance
2011 Nov 08
4
[LLVMdev] loadable passes with dependencies?
Just shows me what I expect void getAnalysisUsage(AnalysisUsage &AU) const { DominatorTree *dt = &getAnalysis<DominatorTree>(); So I'm only using it for DominatorTree(so I can use PromoteMemToReg). Thanks On Tue, Nov 8, 2011 at 2:28 PM, Tobias Grosser <tobias at grosser.es> wrote: > On 11/08/2011 07:33 PM, ret val wrote: >> >> Sorry to keep dragging
2006 May 03
1
[LLVMdev] Patch for transform dependencies
Hi, A number of transforms are actually independent, so here's a partial fix. I updated the dependencies in a cluster of transforms: LowerSwitch, Mem2Reg, LowerSelect, LowerAllocations, UnifyFunctionExitNodes. The patch has been tested, but not extensively. PassManager doesn't complain, and the result of a test pass that requires all these (except for LowerAllocations) together works
2011 Nov 08
2
[LLVMdev] loadable passes with dependencies?
I still have the addRequired: virtual void getAnalysisUsage(AnalysisUsage &AU) const { AU.addRequired<DominatorTree>(); } The other line DominatorTree *dt = &getAnalysis<DominatorTree>(); Is for later use when I try to use PromoteMemToReg On Tue, Nov 8, 2011 at 4:22 PM, Michael Ilseman <michael at lunarg.com> wrote: > Something's
2004 Nov 29
2
[LLVMdev] Running specific passes
On Friday 26 November 2004 19:56, Chris Lattner wrote: > On Fri, 26 Nov 2004, Vladimir Prus wrote: > > in the implementation of some analysis, I need to change the program and > > then invoke Mem2Reg pass. That pass, in turn, requires other analysis, so > > I must > > Usually you want to do this at a higher level, why not just use 'opt > -yourpass -mem2reg'?
2011 Nov 08
0
[LLVMdev] loadable passes with dependencies?
On 11/8/11 4:34 PM, ret val wrote: > I still have the addRequired: > virtual void getAnalysisUsage(AnalysisUsage&AU) const { > AU.addRequired<DominatorTree>(); > } > > The other line > DominatorTree *dt =&getAnalysis<DominatorTree>(); > Is for later use when I try to use PromoteMemToReg Isn't DominatorTree a
2011 Nov 08
0
[LLVMdev] loadable passes with dependencies?
Something's different here, earlier in the thread you said you had: void getAnalysisUsage(AnalysisUsage &AU) const { AU.addRequired<DominatorTree>(); } Now you have: void getAnalysisUsage(AnalysisUsage &AU) const { DominatorTree *dt = &getAnalysis<DominatorTree>(); I'm sort of confused, why did this change happen? I think the
2011 Nov 09
1
[LLVMdev] loadable passes with dependencies?
Awesome, that let me get far enough to trip: Assertion failed: (ResultPass && "Unable to find requested analysis info"), function getAnalysisID Is there something else I forgot? On Tue, Nov 8, 2011 at 5:47 PM, John Criswell <criswell at illinois.edu> wrote: > On 11/8/11 4:34 PM, ret val wrote: >> >> I still have the addRequired: >>         virtual
2011 Nov 08
2
[LLVMdev] loadable passes with dependencies?
I'm writing a Pass that I would like to remain loadable by opt. The pass also requires DominatorTree(for PromoteMemToReg). Looking for examples the only way I found to require a dependecny is by doing something like this: char Hello::ID = 0; namespace llvm { void initializeHelloPass(llvm::PassRegistry&); } INITIALIZE_PASS_BEGIN(Hello, "hello", "Hello
2010 Dec 31
3
[LLVMdev] CodeExtractor.cpp potential bug?
There might be a misuse of DominatorTree::splitBasicBlock in CodeExtractor.cpp, line 145. Header is splited into two (OldPred->NewBB). Line 145 updates the dominator tree by calling DT->splitBasicBlock(NewBB). I think it should be DT->splitBasicBlock(OldPred). When I tried to extract a code region whose header has 2 successors, my pass crashed. It was because header (or OldPred) is the
2004 Nov 29
0
[LLVMdev] Running specific passes
On Mon, 29 Nov 2004, Vladimir Prus wrote: > On Friday 26 November 2004 19:56, Chris Lattner wrote: > > On Fri, 26 Nov 2004, Vladimir Prus wrote: > > > in the implementation of some analysis, I need to change the program and > > > then invoke Mem2Reg pass. That pass, in turn, requires other analysis, so > > > I must > > > > Usually you want to do this
2004 Nov 26
2
[LLVMdev] Running specific passes
Hello, in the implementation of some analysis, I need to change the program and then invoke Mem2Reg pass. That pass, in turn, requires other analysis, so I must use PassManager. Here's the code I ended up with: bool runOnFunction(llvm::Function& m) { visit(m); ExistingModuleProvider mp(m.getParent());
2004 Nov 26
0
[LLVMdev] Running specific passes
On Fri, 26 Nov 2004, Vladimir Prus wrote: > in the implementation of some analysis, I need to change the program and then > invoke Mem2Reg pass. That pass, in turn, requires other analysis, so I must Usually you want to do this at a higher level, why not just use 'opt -yourpass -mem2reg'? Alternatively, if you don't want to do that, you can build mem2reg into your pass if it
2015 Jun 29
2
[LLVMdev] Inferring dependencies in phi instructions
On Mon, Jun 29, 2015 at 10:16 AM, Evgeny Astigeevich <Evgeny.Astigeevich at arm.com> wrote: > Hi Anirudh, > > > > I hope these lecture slides about SSA and the dominance frontier will help > you with SSA and control flow analysis: > > > > http://www.seas.harvard.edu/courses/cs252/2011sp/slides/Lec04-SSA.pdf > > > > Unfortunately a use of