search for: domtree

Displaying 20 results from an estimated 190 matches for "domtree".

2015 Jan 17
3
[LLVMdev] loop multiversioning
...ast_algorithms.c -c clang-3.6: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated Pass Arguments: -datalayout -notti -basictti -x86tti -targetlibinfo -no-aa -tbaa -scoped-noalias -assumption-tracker -basicaa -verify -add-discriminators -simplifycfg -domtree -sroa -early-cse -lower-expect Pass Arguments: -datalayout -notti -basictti -x86tti -targetlibinfo -no-aa -tbaa -scoped-noalias -assumption-tracker -basicaa -verify-di -ipsccp -globalopt -deadargelim -domtree -instcombine -simplifycfg -basiccg -prune-eh -inline-cost -inline -functionattrs -argprom...
2015 May 11
2
[LLVMdev] about MemoryDependenceAnalysis usage
...utput: > > opt -o /dev/null test.ll -S -load ./libPlaydep.so -O3 -playdep > --debug-pass=Structure > Pass Arguments: -targetlibinfo -datalayout -notti -basictti -x86tti -no-aa > -tbaa -scoped-noalias -assumption-cache-tracker -basicaa -verify-di -ipsccp > -globalopt -deadargelim -domtree -instcombine -simplifycfg -basiccg > -prune-eh -inline-cost -inline -functionattrs -argpromotion -sroa -domtree > -early-cse -lazy-value-info -jump-threading -correlated-propagation > -simplifycfg -domtree -instcombine -tailcallelim -simplifycfg -reassociate > -domtree -loops -loop-simp...
2016 May 09
2
Some questions about phase ordering in OPT and LLC
...lang+llvm-3.7.1-x86_64-linux-gnu-ubuntu-15.10/bin/opt -O3 -march=sparc -mcpu=v8 -disable-output -debug-pass=Arguments > > > > I get the following output: > > Pass Arguments: -tti -no-aa -tbaa -scoped-noalias -assumption-cache-tracker -targetlibinfo -basicaa -verify -simplifycfg -domtree -sroa -early-cse -lower-expect > > Pass Arguments: -targetlibinfo -tti -no-aa -tbaa -scoped-noalias -assumption-cache-tracker -basicaa -ipsccp -globalopt -deadargelim -domtree -instcombine -simplifycfg -basiccg -prune-eh -inline-cost -inline -functionattrs -argpromotion -domtree -sroa -early...
2016 May 09
4
Some questions about phase ordering in OPT and LLC
...as < /dev/null | /opt/clang+llvm-3.7.1-x86_64-linux-gnu-ubuntu-15.10/bin/opt -O3 -march=sparc -mcpu=v8 -disable-output -debug-pass=Arguments I get the following output: Pass Arguments: -tti -no-aa -tbaa -scoped-noalias -assumption-cache-tracker -targetlibinfo -basicaa -verify -simplifycfg -domtree -sroa -early-cse -lower-expect Pass Arguments: -targetlibinfo -tti -no-aa -tbaa -scoped-noalias -assumption-cache-tracker -basicaa -ipsccp -globalopt -deadargelim -domtree -instcombine -simplifycfg -basiccg -prune-eh -inline-cost -inline -functionattrs -argpromotion -domtree -sroa -early-cse -...
2007 Dec 08
0
[LLVMdev] Reproducing output of llvm-gcc using opt tool
On Dec 7, 2007, at 1:43 AM, Wojciech Matyjewicz wrote: > Recently, I was looking into the bug #1227. I wanted to check if > reordering optimization passes could solve it. To start with, I > tried to > reproduce the output of llvm-g++ -O3 using the combination of llvm-g++ > -O0 and opt with the appropriate passes. However, I was unable to. I > use > SVN versions of llvm and
2015 May 09
2
[LLVMdev] about MemoryDependenceAnalysis usage
Hi, I try to use MemoryDependenceAnalysis in a pass to analyse a simple function: void fct (int *restrict*restrict M, int *restrict*restrict L) { S1: M[1][1] = 1; S2: L[2][2] = 2; } When I iterate over MemoryDependenceAnalysis on the S2 statement, I get the load instruction for the first depth of the array, that’s ok. But I get also the load and store for the S1 statement. I assume the
2017 Jun 13
9
RFC: Dynamic dominators
...the (post)dominator tree. The only way to update it is by manually setting IDoms which is not obvious in many cases and can be extremely error-prone. And because updating it manually is so difficult, programmers tend to just recompute it after changing the CFG (by not AU.addPreserved()'ing the DomTree). This causes DomTree calculation to fire very often even if only a very small portion of it gets really affected by the changes in CFG. As an example, when optimizing a Full LTO clang bitcode, DominatorTreeWrapperPass alone calls DT.recalculate over 6.5 million times, which takes 20s on my machine...
2013 Aug 19
1
[LLVMdev] How to disbale loop-rotate in opt -O3 ?
...eliminated). Since I found no clues on how distinguish such loops, I tried to disable loop-rotate. For this purpose, I got the list of passes executed by O3, I eliminate loop-rotate and I call the reduced list of passes from opt: opt -targetdata -no-aa -tbaa -targetlibinfo -basicaa -preverify -domtree -verify -simplifycfg -domtree -scalarrepl -early-cse -lower-expect -targetlibinfo -targetdata -no-aa -tbaa -basicaa -globalopt -ipsccp -deadargelim -instcombine -simplifycfg -basiccg -prune-eh -inline -functionattrs -argpromotion -scalarrepl-ssa -domtree -early-cse -simplify-libcalls -lazy-value-in...
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 ‘tr...
2018 Mar 21
2
[GSOC 2018] Implement a single updater class for Dominators
...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...
2011 Nov 15
1
[LLVMdev] opt -O2 optimization passes
...I would like to know which optimization passes are performed at -O2 by opt. So I used following command: llvm-as < /dev/null | opt -O2 -std-compile-opts -disable-output -debug-pass=Arguments I've got following output for LLVM opt 2.9: Pass Arguments: -no-aa -tbaa -basicaa -simplifycfg -domtree -scalarrepl -early-cse Pass Arguments: -targetlibinfo -no-aa -tbaa -basicaa -preverify -domtree -verify -lowersetjmp -globalopt -ipsccp -deadargelim -instcombine -simplifycfg -basiccg -prune-eh -inline -functionattrs -argpromotion -scalarrepl-ssa -domtree -early-cse -simplify-libcalls -lazy-value-...
2018 Mar 14
0
[GSOC 2018] Implement a single updater class for Dominators
Hi Chijun, 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 t...
2007 Dec 07
3
[LLVMdev] Reproducing output of llvm-gcc using opt tool
Hi, Recently, I was looking into the bug #1227. I wanted to check if reordering optimization passes could solve it. To start with, I tried to reproduce the output of llvm-g++ -O3 using the combination of llvm-g++ -O0 and opt with the appropriate passes. However, I was unable to. I use SVN versions of llvm and llvm-gcc-4.2. First, I compile example.cpp (attached; taken from the bug #1227) with: $
2018 Mar 22
0
[GSOC 2018] Implement a single updater class for Dominators
...rogress 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 wit...
2018 Mar 22
1
[GSOC 2018] Implement a single updater class for Dominators
...sues >> > 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 >> &g...
2017 Jun 13
2
RFC: Dynamic dominators
...anually setting > > IDoms which is not obvious in many cases and can be extremely > > error-prone. > > And because updating it manually is so difficult, programmers tend to > > just > > recompute it after changing the CFG (by not AU.addPreserved()'ing the > > DomTree). This causes DomTree calculation to fire very often even if only > > a > > very small portion of it gets really affected by the changes in CFG. As > > an > > example, when optimizing a Full LTO clang bitcode, > > DominatorTreeWrapperPass > > alone calls DT.recal...
2015 Mar 12
3
[LLVMdev] Question about shouldMergeGEPs in InstructionCombining
I think it would make sense for (1) and (2). I am not sure if (3) is feasible in instcombine. (I am not too familiar with LoopInfo) For the Octasic's Opus platform, I modified shouldMergeGEPs in our fork to: if (GEP.hasAllZeroIndices() && !Src.hasAllZeroIndices() && !Src.hasOneUse()) return false; return Src.hasAllConstantIndices(); // was return false;
2009 Feb 02
1
[LLVMdev] Proposal: Debug information improvement - keep the line number with optimizations
...Pass Scanning Script* Following the way proposed by Chris, it is good to have a script to scan the standard LLVM transform pass list. We can get the standard compile optimization pass list by: $ opt -std-compile-opts -debug-pass=Arguments foo.bc > /dev/null Pass Arguments: -preverify -domtree -verify -lowersetjmp -raiseallocs -simplifycfg -domtree -domfrontier -mem2reg -globalopt -globaldce -ipconstprop -deadargelim -instcombine -simplifycfg -basiccg -prune-eh -inline -argpromotion -tailduplicate -simplify-libcalls -instcombine -jump-threading -simplifycfg -domtree -domfrontier -scalarr...
2015 Mar 12
2
[LLVMdev] Question about shouldMergeGEPs in InstructionCombining
...ould have loopinfo for the third invocation (called > immediate after some loop passes). Here's output from > --debug-pass=Structure: > > > > Pass Arguments: -tti -no- aa -tbaa -scoped-noalias > -assumption-cache-tracker -targetlibinfo -basicaa -verify > -simplifycfg -domtree -sroa -early-cse -lower-expect > Target Transform Information > No Alias Analysis (always returns 'may' alias) > Type-Based Alias Analysis > Scoped NoAlias Alias Analysis > Assumption Cache Tracker > Target Library Information > Basic Alias Analysis (stateless AA impl)...
2015 May 02
5
[LLVMdev] Modifying LoopUnrollingPass
Hi Zhoulai, I am trying to modify "LoopUnrollPass" in llvm which produces multiple copies of loop equal to the loop unroll factor.Currently, using multicore architecture, say 3 for example and the execution goes like: for 3 cores if there are 9 iterations of loop core instruction 1 0,3,6 2 1,4,7 3 2,5,8 But I want to to