search for: postdomtree

Displaying 20 results from an estimated 54 matches for "postdomtree".

2018 Mar 12
2
[GSOC 2018] Implement a single updater class for Dominators
Hi Kuba, Thanks for your advice in your previous letter. During last week, I have read the documents on Doxygen and the source code of the DomTreeBase/DomTree/PostDomTree/DeferredDominance class, I believe now I have a much better understanding on the relationship between these classes and how DeferredDominance class performs lazy updates. I have also learnt the current usage and drawbacks of the fragmented API by looking into how several ‘transform util’ functions...
2018 Mar 21
2
[GSOC 2018] Implement a single updater class for Dominators
...lot of progress and understand the issues quite > well! > >> I have done some early sketch on the API of the new updater class. >> From my current understanding, to solve the fragmentation problem of >> the API, the new class first, need to maintain the DomTree and >> PostDomTree class and deprecate the DefferredDominance class. > > There are a couple of possibilities here. First, we can come up with a new > updater class and gradually replace DefferredDominance and and the basic > incremental update API with it (.applyUpdates()). During this process all > th...
2018 Mar 14
0
[GSOC 2018] Implement a single updater class for Dominators
..., Great, seems like you did a lot of progress and understand the issues quite well! I have done some early sketch on the API of the new updater class. > From my current understanding, to solve the fragmentation problem of > the API, the new class first, need to maintain the DomTree and > PostDomTree class and deprecate the DefferredDominance class. > There are a couple of possibilities here. First, we can come up with a new updater class and gradually replace DefferredDominance and and the basic incremental update API with it (.applyUpdates()). During this process all the classes can coexis...
2018 Mar 22
0
[GSOC 2018] Implement a single updater class for Dominators
...issues > quite > > well! > > > >> I have done some early sketch on the API of the new updater class. > >> From my current understanding, to solve the fragmentation problem of > >> the API, the new class first, need to maintain the DomTree and > >> PostDomTree class and deprecate the DefferredDominance class. > > > > There are a couple of possibilities here. First, we can come up with a > new > > updater class and gradually replace DefferredDominance and and the basic > > incremental update API with it (.applyUpdates()). During...
2018 Mar 22
1
[GSOC 2018] Implement a single updater class for Dominators
...gt; > well! >> > >> >> I have done some early sketch on the API of the new updater class. >> >> From my current understanding, to solve the fragmentation problem of >> >> the API, the new class first, need to maintain the DomTree and >> >> PostDomTree class and deprecate the DefferredDominance class. >> > >> > There are a couple of possibilities here. First, we can come up with a >> > new >> > updater class and gradually replace DefferredDominance and and the basic >> > incremental update API with it...
2018 Mar 02
0
[GSOC 2018] Implement a single updater class for Dominators
...tions that can accept DT* and/or DDT*: https://reviews.llvm.org/D41302 https://reviews.llvm.org/D40146 https://reviews.llvm.org/D42804 I think that it's worth adding that a better API is only one part the project; the second, perhaps bigger and more fun, is to figure out how to prune redundant PostDomTree updates when we have a fully-updated DomTree available. Feel free to ask more questions should you have any -- I and others will be more than happy to clarify. Best, Kuba On Thu, Mar 1, 2018 at 2:29 PM, Chijun Sima via llvm-dev < llvm-dev at lists.llvm.org> wrote: > Hello, > > I’...
2018 Mar 01
2
[GSOC 2018] Implement a single updater class for Dominators
Hello, I’m an undergraduate student studying CS in the South China University of Technology. I have been using clang compiler and related tools since I started studying C++ and I would like to work on LLVM in this year’s GSoC. I am interested in “Implement a single updater class for Dominators”. [1] I have achieved a bronze medal in the 2017 ACM-ICPC Asia Xian Regional Contest [2] (being a
2011 Oct 22
5
[LLVMdev] How to make Polly ignore some non-affine memory accesses
..._LIB}/LLVMPolly.dylib -mem2reg -no-aa -targetlibinfo -tbaa -basicaa -preverify -domtree -verify -mem2reg -instcombine -simplifycfg -tailcallelim -simplifycfg -reassociate -domtree -loops -loop-simplify -lcssa -loop-rotate -instcombine -scalar-evolution -loop-simplify -lcssa -indvars -polly-prepare -postdomtree -domfrontier -regions -polly-region-simplify -scalar-evolution -loop-simplify -lcssa -indvars -postdomtree -domfrontier -regions -loop-simplify -indvars -enable-iv-rewrite not_so_simple_loop.s strange ... 2011/10/8 Tobias Grosser <tobias at grosser.es>: > On 10/07/2011 03:43 PM, Marc...
2011 Oct 23
0
[LLVMdev] How to make Polly ignore some non-affine memory accesses
...m2reg -no-aa > -targetlibinfo -tbaa -basicaa -preverify -domtree -verify -mem2reg > -instcombine -simplifycfg -tailcallelim -simplifycfg -reassociate > -domtree -loops -loop-simplify -lcssa -loop-rotate -instcombine > -scalar-evolution -loop-simplify -lcssa -indvars -polly-prepare > -postdomtree -domfrontier -regions -polly-region-simplify > -scalar-evolution -loop-simplify -lcssa -indvars -postdomtree > -domfrontier -regions -loop-simplify -indvars -enable-iv-rewrite > not_so_simple_loop.s > > strange ... Very strange. I have seen such problems previously and they were of...
2011 Oct 08
0
[LLVMdev] How to make Polly ignore some non-affine memory accesses
...ass Arguments: -targetdata -no-aa -targetlibinfo -tbaa -basicaa -preverify -domtree -verify -mem2reg -instcombine -simplifycfg -tailcallelim -simplifycfg -reassociate -domtree -loops -loop-simplify -lcssa -loop-rotate -instcombine -scalar-evolution -loop-simplify -lcssa -indvars -polly-prepare -postdomtree -domfrontier -regions -polly-region-simplify -scalar-evolution -loop-simplify -lcssa -indvars -postdomtree -domfrontier -regions -polly-detect -polly-independent -polly-analyze-ir -polly-scops -polly-dependences -polly-optimize-isl -polly-cloog -polly-codegen -simplifycfg -domtree -scalarrepl -...
2012 May 21
1
[LLVMdev] Add a function splitting pass to LLVM which extracts cold regions into their own functions
...is obviously non-linear as it uses the DominanceFrontier analysis. However, for me it works surprisingly well. > When I committed it I tested it on the LLVM test suite, polyhedron.com and the SPEC 2006 benchmarks [1]. I got the following timings (in seconds): > > Name DomTree PostDomTree DomFrontier RegionTree > SPEC 2006 1.109 0.911 0.525 0.662 > Polyhedron.com 0.034 0.029 0.016 0.022 > > On these examples DomFrontier and RegionTree calculation is very fast. Also, I used RegionInfo for over two years in my daily Polly work. And I...
2011 Oct 07
1
[LLVMdev] How to make Polly ignore some non-affine memory accesses
I add also the output of these commands: [hades at artemis examples]$ ./compile_ex.sh super_simple_loop Printing analysis 'Polly - Detect Scops in functions' for function 'main': [hades at artemis examples]$ modifying it in : #include <stdio.h> int main() { int A[1024]; int j, k=10; for (j = 0; j < 1024; j++) A[j] = k;
2018 Apr 09
0
InstIterator
Within a basic block this is just normal iterator usage/manipulation: for (instr : llvm::make_range(FromInstruction.getIterator(), ToInstruction.getIterator())) { ... } Use std::next() on ToInstruction.getIterator() if you want it included. - Matthias > On Apr 9, 2018, at 10:04 AM, Alexandre Isoard via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > Hello, > > Is there
2011 Oct 24
1
[LLVMdev] How to make Polly ignore some non-affine memory accesses
...-preverify -domtree -verify -mem2reg >>>> -instcombine -simplifycfg -tailcallelim -simplifycfg -reassociate >>>> -domtree -loops -loop-simplify -lcssa -loop-rotate -instcombine >>>> -scalar-evolution -loop-simplify -lcssa -indvars -polly-prepare >>>> -postdomtree -domfrontier -regions -polly-region-simplify >>>> -scalar-evolution -loop-simplify -lcssa -indvars -postdomtree >>>> -domfrontier -regions  -loop-simplify -indvars  -enable-iv-rewrite >>>> not_so_simple_loop.s >>>> >>>> strange ... >&gt...
2018 Apr 09
2
InstIterator
Hello, Is there an iterator to iterate over a "range" of instructions in a Function? "range" meaning from an instruction::iterator up to an other instruction::iterator which either: - point to instructions in the same basic block (the first one first, second one second) - point to instructions in different basic block (the BB of the first dominate the BB of the second, and
2017 Jul 17
2
An update on the DominatorTree and incremental dominators
...option is set to 1. Some of the transforms assume that calling DT.verifyDomTree() is fast, so we cannot turn it on by default. - Dominators and Postdominators are now different types, i.e. IsPostDom is a template argument and not a runtime value. It is no longer possible to assign a PostDomTree to a DomTree (or the other way round). And now the big thing: support for incremental updates (insertEdge and deleteEdge) has just landed upstream. This should make updating DominatorTree much easier and less error-prone. Although he API is quite basic at the moment, it should be sufficient to re...
2014 Oct 15
2
[LLVMdev] how to choose which alias analysis used in my pass?
----- Original Message ----- > From: "Jingyue Wu" <jingyue at google.com> > To: "songlh" <songlh at cs.wisc.edu>, llvmdev at cs.uiuc.edu > Sent: Wednesday, October 15, 2014 2:50:12 PM > Subject: Re: [LLVMdev] how to choose which alias analysis used in my pass? > > > Isn't -basicaa the default alias analysis already? No, -basicaa is added
2016 Jul 13
3
[PM] I think that the new PM needs to learn about inter-analysis dependencies...
...nters to AliasAnalysis, ScalarEvolution, > LoopInfo > MemoryDependenceAnalysis: Stores pointers to AliasAnalysis, > AssumptionCache, TargetLibraryInfo, DominatorTree > MemorySSAAnalysis: Stores pointers to AliasAnalysis, DominatorTree > RegionInfoAnalysis: Stores pointers to DomTree, PostDomTree, DomFrontier > ScalarEvolutionAnalysis: Stores pointers to TargetLibraryInfo, > AssumptionCache, DominatorTree, LoopInfo > TargetLibraryAnalysis: Has no dependencies > TargetIRAnalysis: Has no dependencies. > > Function alias analyses: 3/5 keep pointers to other analyses > Basi...
2011 Oct 03
4
[LLVMdev] How to make Polly ignore some non-affine memory accesses
Hi Tobias, thanks for the answer. I'll try to give a look to the code you pointed me to , and I'll try to make the modification myself. I'm new to LLVM and Polly, but the code of both seem clean and understandable, so I hope to be able to do it myself. In case I'll ask here for support :) Marcello 2011/10/1 Tobias Grosser <tobias at grosser.es>: > On 10/01/2011 03:26
2009 May 30
1
[LLVMdev] Post-dominator data.
On Sat, May 30, 2009 at 3:54 PM, Evan Cheng<evan.cheng at apple.com> wrote: > Is our post-dom pass solid? I thought it's fair expensive so we avoid > using it. Our "post-dom pass" is just the dom pass with a boolean set the other way. I don't see how it could be significantly more expensive. I don't think any in-tree passes use it, though. -Eli