search for: dominancefrontier

Displaying 20 results from an estimated 56 matches for "dominancefrontier".

2009 May 01
1
[LLVMdev] DominatorTrees, DominanceFrontiers, interfaces and cloning
Hello, I have a transform that, given a function F, will produce a new function G such that the basic blocks of G are (copies of) a subset of the basic blocks of F, and such that control flow is connected as you would expect. Given DominatorTree and DominanceFrontier of F, I would also like to efficiently compute DominatorTrees and DominanceFrontiers of G. I understand how to do this mathematically, but I'm having some problems with the llvm codebase. I have two questions: (1) Is there any way to clone a DominatorTree or DominanceFrontier object, so that...
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()': <path>/llvm/include/llvm/Analysis/DominanceFrontier.h:122: undefined reference to `llvm::DominanceFrontierBase<llvm::BasicBlock, false>::DominanceFrontierBase()' This change diff --git a/include/llvm/Analysis/...
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 -...
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 i...
2010 Jul 27
0
[LLVMdev] DominanceFrontier for MachineBB
...and I would love to test and commit > it. I just wanted to import an untemplated version of the RegionInfo > pass first, as it was easier to review. > > @ether. Do you think you could port your templated version of the > RegionInfo pass to trunk? RegionInfo need PostDominatorTree and DominanceFrontier, do us have DominanceFrontier for MachineBB? > > Tobi > -- best regards ether
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 Frontiers will put...
2013 Nov 03
0
[LLVMdev] DominanceFrontier/PostDominanceFrontier for PRE
On Sun, Nov 3, 2013 at 1:02 AM, Daniel Berlin <dberlin at dberlin.org> wrote: > Is there a reason this is better than the modified algorithm created > by Ferrante? > It looks like yours has as bad a worst case time bound in reality. > That is, the algorithm runs in O(sum of the size of all the dominance > frontiers). > > http://www.cs.rice.edu/~keith/Embed/dom.pdf >
2013 Nov 03
0
[LLVMdev] DominanceFrontier/PostDominanceFrontier for PRE
On Sun, Nov 3, 2013 at 1:02 AM, Daniel Berlin <dberlin at dberlin.org> wrote: > As for a "better" way to implement PRE, it depends on what algorithm > you want to use. If you just want to write a PRE pass, that's easy > enough without dominance frontiers. > I simply want to write a PRE pass to get a better understanding of the transformation. Any tips on where to
2013 Nov 04
1
[LLVMdev] DominanceFrontier/PostDominanceFrontier for PRE
On Sun, Nov 3, 2013 at 9:19 AM, Christopher Wood <christopherwood07 at gmail.com> wrote: > On Sun, Nov 3, 2013 at 1:02 AM, Daniel Berlin <dberlin at dberlin.org> wrote: >> >> As for a "better" way to implement PRE, it depends on what algorithm >> you want to use. If you just want to write a PRE pass, that's easy >> enough without dominance
2011 Dec 23
4
[LLVMdev] dominance frontiers
Reading the comments in Analysis/DominanceFrontier.h, I see a note that the structure is deprecated and we're not to use it for anything new. Has it been replaced with something equally useful, or shall I redo the calculation for myself, or ...? Thanks, Preston -------------- next part -------------- An HTML attachment was scrubbed... URL: &l...
2013 Nov 02
0
[LLVMdev] DominanceFrontier/PostDominanceFrontier for PRE
...s) o. step 3 is nothing as normally a block only have two immediate succ. Again this algorithm is just random idea. It is at your own risk if you try it. On 11/1/13 9:18 PM, Christopher Wood wrote: > Hi all, > > Does anyone know how to recreate the DominanceFronter and > PostDominanceFrontier structures using the API of the latest release? > To my knowledge, these are needed to implement a PRE pass (as done in > the past > <https://llvm.org/svn/llvm-project/llvm/tags/RELEASE_13/lib/Transforms/Scalar/PRE.cpp>), > but they were removed a while ago for efficiency reas...
2013 Nov 02
2
[LLVMdev] DominanceFrontier/PostDominanceFrontier for PRE
Hi all, Does anyone know how to recreate the DominanceFronter and PostDominanceFrontier structures using the API of the latest release? To my knowledge, these are needed to implement a PRE pass (as done in the past<https://llvm.org/svn/llvm-project/llvm/tags/RELEASE_13/lib/Transforms/Scalar/PRE.cpp>), but they were removed a while ago for efficiency reasons. Is there a better wa...
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); function->print(std::cout); TS_ASSERT(!verifyFunction(*function)); Is this supposed to work? Or what is the preferred way passes are to be run on function...
2013 Nov 03
4
[LLVMdev] DominanceFrontier/PostDominanceFrontier for PRE
...ing as normally a block only have two immediate succ. > > Again this algorithm is just random idea. It is at your own risk if you > try it. > > On 11/1/13 9:18 PM, Christopher Wood wrote: > > Hi all, > > Does anyone know how to recreate the DominanceFronter and > PostDominanceFrontier structures using the API of the latest release? To my > knowledge, these are needed to implement a PRE pass (as done in the past), > but they were removed a while ago for efficiency reasons. Is there a better > way to implement PRE using the current API, or, alternatively, is there an >...
2011 Dec 23
0
[LLVMdev] dominance frontiers
On Dec 23, 2011, at 1:35 PM, Preston Briggs wrote: > Reading the comments in Analysis/DominanceFrontier.h, I see a note that the structure is deprecated and we're not to use it for anything new. > > Has it been replaced with something equally useful, or shall I redo the calculation for myself, or ...? We're hoping to remove them, because they're inherently an N^2 data structure an...
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 Construction' required by '......' assertion "0 && "Unable to schedule pass"" failed: file "/usr/src...
2017 Jun 07
3
using the new PassManager
...; Hi Christian, > > sadly, there aren't any tutorials currently. The PassManager itself is > rather well documented, so I recommend taking a look at that. > > It also makes sense to take a look at a some of the simpler analyses and > passes in-tree. I'd recommend DCE and DominanceFrontiers as starting > points, as those are both quite simple and an easy read. > > We're certainly interested in any progress and experiences you make with > this. If you're willing, tutorials are very welcome! :) > > Cheers, > Philip > > > > 2017-06-07 19:22...
2013 Mar 19
0
[LLVMdev] Basic Block code sample
Hi, Example on how to iterate over CFG, take a look at DominanceFrontier.cpp. You can further implement easily a traverse graph algorithm. On Tue, Mar 19, 2013 at 2:35 PM, Ashish Kulkarni < ashish-kulkarni at hotmail.com> wrote: > Hi LLVM Delveloper, > i've been working on LLVM and Clang to get basic block information. > The CFG supports Vis...
2013 Mar 19
2
[LLVMdev] Basic Block code sample
Hi LLVM Delveloper, i've been working on LLVM and Clang to get basic block information. The CFG supports Visitors (CFG.h) but i might want to ask that is there any code sample available so that i can get the things easily.. Regards, Kulkarni Ashish A. College of engineering, Pune India. -------------- next part -------------- An HTML attachment was scrubbed... URL:
2017 Jun 07
2
using the new PassManager
(This is a simplified version of a question I posed a few days ago) Can anyone point me to a good overview doc for writing an optimizer / analysis pass based on the new pass manager? The only docs I've found seem to have been written for the previous (legacy) pass manager. Thanks, Christian -------------- next part -------------- An HTML attachment was scrubbed... URL: