search for: loopdependenceanalysis

Displaying 20 results from an estimated 47 matches for "loopdependenceanalysis".

2012 Mar 15
2
[LLVMdev] Problem with LoopDependenceAnalysis
Shanmukha Rao wrote: > I am using LLVM for implementing LoopFission pass. > I am using LoopPass. > I know that for checking circular dependency in loop I have to use LoopDependenceAnalysis > > This is what i want to do. >         for(int i = 0; i< n ; i++){ > s1 : a[i] = a[i] + x[i]; > s2 : x[i] = x[i+1] + i*2 ; > } > > /**there is no dependence from s2 to s1/ > so after distribution(it should be) : > >...
2012 Mar 15
0
[LLVMdev] Problem with LoopDependenceAnalysis
On Thu, 15 Mar 2012 09:57:00 -0700 Preston Briggs <preston.briggs at gmail.com> wrote: > Shanmukha Rao wrote: > > I am using LLVM for implementing LoopFission pass. > > I am using LoopPass. > > I know that for checking circular dependency in loop I have to use > > LoopDependenceAnalysis > > > > This is what i want to do. > >         for(int i = 0; i< n ; i++){ > > s1 : a[i] = a[i] + x[i]; > > s2 : x[i] = x[i+1] + i*2 ; > > } > > > > /**there is no dependence from s2 to s1/ > > so after...
2012 Mar 20
1
[LLVMdev] Problem with LoopDependenceAnalysis
...get How to use this information ? > > lets just say in the above program > When i use depends function it shows the dependency from load of x to store in x. similarily for array a. > but how can i be sure that there is no dependence from store of x to load of x in the next iteration ? LoopDependenceAnalysis isn't really ready for use yet. When it is ready, you would be able to ask explicitly: Is there a dependence from the store of x to (one of) the loads of x? For your example, it would tell you that no such dependence exists. Preston > On Thu, Mar 15, 2012 at 11:28 AM, shanmuk rao &l...
2012 Mar 15
2
[LLVMdev] Problem with LoopDependenceAnalysis
Hi, I am using LLVM for implementing LoopFission pass. I am using LoopPass. I know that for checking circular dependency in loop I have to use LoopDependenceAnalysis This is what i want to do. for(int i = 0; i< n ; i++){ s1 : a[i] = a[i] + x[i]; s2 : x[i] = x[i+1] + i*2 ; } /**there is no dependence from s2 to s1/ so after distribution(it should be) : for(int i = 0; i< n ; i++) s1:...
2010 Sep 09
0
[LLVMdev] How to run regression tests for ARM?
...(ENOENT,no such file or directory) at line 1 while running: opt < /mnt/markhor/llvm/test/Analysis/GlobalsModRef/purecse.ll -globalsmodref-aa -gvn -instcombine | llvm-dis | not /bin/grep sub couldn't execute "not": no such file or directory Running /mnt/markhor/llvm/test/Analysis/LoopDependenceAnalysis/dg.exp ... FAIL: /mnt/markhor/llvm/test/Analysis/LoopDependenceAnalysis/alias.ll Failed with posix(ENOENT,no such file or directory) at line 1 while running: opt < /mnt/markhor/llvm/test/Analysis/LoopDependenceAnalysis/alias.ll -analyze -lda | FileCheck /mnt/markhor/llvm/test/Analysis/LoopDepen...
2010 Sep 02
0
[LLVMdev] [PATCH] LoopDependenceAnalysis based on a FunctionPass
...Can I commit my modified version of LDA? If you think it is worth to keep current LDA, what about adding a LDA based on function pass to the repository with some other name (e.g. LDAFP or something)? --Taewook -------------- next part -------------- A non-text attachment was scrubbed... Name: LoopDependenceAnalysis.diff Type: text/x-patch Size: 12421 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20100902/8338e296/attachment.bin>
2010 Sep 09
3
[LLVMdev] How to run regression tests for ARM?
...(ENOENT,no such file or directory) at line 1 while running: opt < /mnt/markhor/llvm/test/Analysis/GlobalsModRef/purecse.ll -globalsmodref-aa -gvn -instcombine | llvm-dis | not /bin/grep sub couldn't execute "not": no such file or directory Running /mnt/markhor/llvm/test/Analysis/LoopDependenceAnalysis/dg.exp ... FAIL: /mnt/markhor/llvm/test/Analysis/LoopDependenceAnalysis/alias.ll Failed with posix(ENOENT,no such file or directory) at line 1 while running: opt < /mnt/markhor/llvm/test/Analysis/LoopDependenceAnalysis/alias.ll -analyze -lda | FileCheck /mnt/markhor/llvm/test/Analysis/LoopDepen...
2010 Jul 13
4
[LLVMdev] LoopInterchange Pass
Hi,   I developed a Loop Interchange pass. Please take a look. I have not incorporate data dependence analysis check. I can insert it when the LoopDependenceAnalysis is available.   Thank you Satya -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20100713/654d5fd5/attachment.html> -------------- next part -------------- An embedded and charset-unspecified text wa...
2012 Apr 05
3
[LLVMdev] SIV tests in LoopDependence Analysis, Sanjoy's patch
Hi Sanjoy, Reading through LoopDependenceAnalysis::analyseStrongSIV(), I noticed one problem and one confusion. My confusion related to your naming of the two instructions as A and B. It's consistent all through LoopDependenceAnalysis. I'd prefer something like source and destination, so I can keep track of which is which. It didn't m...
2012 Mar 19
6
[LLVMdev] SIV tests in LoopDependence Analysis, Sanjoy's patch
Gents, I spent some time reading over Sanjoy's patch for LoopDependenceAnalysis. Unfortunately, an early version of these notes escaped; this is the complete review. First off, I agree with his choice to implement the SIV tests. For scientific Fortran, the SIV (and the simpler ZIV) tests cover about 85% of the cases in practice. For C and C++, I expect the percentage will be...
2010 Jul 14
0
[LLVMdev] LoopInterchange Pass
Hi Satya, On Tue, Jul 13, 2010 at 12:06 PM, Satya Jandhayala < satya_jandhayala at yahoo.com> wrote: > Hi, > > I developed a Loop Interchange pass. Please take a look. > I have not incorporate data dependence analysis check. I can insert it when > the LoopDependenceAnalysis is available. > Have you tried using include/llvm/Analysis/LoopDependenceAnalysis.h ? Please include all the changes listed in README.txt in the patch along with a test case that is in .ll form. It makes easier to review such complete patch. Few general comments and initial thoughts. - Stay...
2012 Mar 26
0
[LLVMdev] SIV tests in LoopDependence Analysis, Sanjoy's patch
Hi Hal, Preston! Sorry for the delay! Got busy with some offline work. I've worked on my previous code to calculate direction and distance vectors whenever possible (strong SIV, basically). I think the current code is much clearer and would like your opinions on it. I have attached the patch and also pushed to the github repo I mentioned [1]. Thanks! [1]
2012 Mar 29
2
[LLVMdev] SIV tests in LoopDependence Analysis, Sanjoy's patch
Hi Sanjoy & Hal, Looking at LoopDependenceAnalysis::analyzeZIV ... I don't understand much about SCEV, but the code seems inadequate. Consider these three examples: int a = ...; // we can't be sure of the relationship between a and b int b = ...; // perhaps they are parameters, or the result of I/O for (int i = 0; i < n; i++) { v[a][...
2010 Jul 14
1
[LLVMdev] LoopInterchange Pass
...atya Jandhayala <satya_jandhayala at yahoo.com> Subject: LoopInterchange Pass To: llvmdev at cs.uiuc.edu Date: Tuesday, July 13, 2010, 12:06 PM Hi,   I developed a Loop Interchange pass. Please take a look. I have not incorporate data dependence analysis check. I can insert it when the LoopDependenceAnalysis is available.   Thank you Satya -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20100713/f03af084/attachment.html> -------------- next part -------------- An embedded and charset-unspecified text w...
2012 Mar 05
0
[LLVMdev] problem in implementing loop fission using ModulePass
Hi, I am trying to implement my own Loop fission transformations in llvm. But to find circular dependency, i think i have to use LoopDependenceAnalysis. I am using ModulePass. In this pass I am getting LoopInfo and Loops. but when I try to use LoopDependenceAnalysis It throws segmentation fault. the example shows what i want to do : for(int i = 0; i< n ; i++){ s1 : a[i] = a[i] + x[i]; s2 : x[i] = x[i+1]...
2012 Apr 08
0
[LLVMdev] SIV tests in LoopDependence Analysis, Sanjoy's patch
...provided by the SCEVs. It's sketched out here: https://sites.google.com/site/parallelizationforllvm/strong-siv-test Does it makes sense to you? Thanks, Preston On Thu, Apr 5, 2012 at 4:09 PM, Preston Briggs <preston.briggs at gmail.com>wrote: > Hi Sanjoy, > > Reading through LoopDependenceAnalysis::analyseStrongSIV(), I noticed one > problem and one confusion. > > My confusion related to your naming of the two instructions as A and B. > It's consistent all through LoopDependenceAnalysis. I'd prefer something > like source and destination, so I can keep track of which i...
2012 Apr 01
0
[LLVMdev] SIV tests in LoopDependence Analysis, Sanjoy's patch
Hi Preston, Thanks for the feedback! > In LoopDependenceAnalysis::AnalyzePair, what's going to happen if we > have something like this > > for (i = 0; i < n; i++) > for (j = 0; j < n; j++) > A[i][j]++; > > versus > > for (i = 0; i < n; i++) > for (j = 0; j < n; j++) > A[j][i]++; I think this can be fi...
2012 Nov 09
1
[LLVMdev] Loop carried dependence analysis?
...reports: da analyze - consistent input [0|<]! da analyze - consistent anti [-1]! da analyze - consistent output [0|<]! Hope this helps, Preston Hello everyone, > > I intend to build a pass to profile some benchmarks for loop carried > dependencies. At first I tried looking at LoopDependenceAnalysis.{h,cpp} > but the files were removed for some reason. So I continued with the > DependenceAnalysis pass. But the flow, anti dependence, etc methods are > only reporting sequential and not loop carried dependencies. Does LLVM > support loop carried dependency analysis? > > In ad...
2012 Apr 23
0
[LLVMdev] SIV tests in LoopDependence Analysis, Sanjoy's patch
Hi, When I write various test cases and explore how they're handled by the code in LoopDependenceAnalysis::analysePair, I'm surprised. This loop collects pairs of subscripts from the source and destination refs. * // Collect GEP operand pairs (FIXME: use GetGEPOperands from BasicAA), adding* * // trailing zeroes to the smaller GEP, if needed.* * GEPOpdsTy destOpds, srcOpds;* * for(GEPOperator:...
2011 Jan 06
3
[LLVMdev] Proposal: Generic auto-vectorization and parallelization approach for LLVM and Polly
..., so these information can benefit more passes in llvm. For example, the X86 and PTX backend could use these information to perform target specific auto-vectorization. Implementation consideration: We may define some kind of generic "parallelism analysis" or the generic version of "LoopDependenceAnalysis" interface just like AliasAnalysis, or we can also encode those parallelism information as metadata. And combining the both should be OK, too. Any comments are appreciated. best regards ether [1] http://wiki.llvm.org/Polly [2] http://gcc.gnu.org/wiki/Graphite/Parallelization