similar to: [LLVMdev] RFC: Loop distribution/Partial vectorization

Displaying 20 results from an estimated 20000 matches similar to: "[LLVMdev] RFC: Loop distribution/Partial vectorization"

2015 Jun 12
4
[LLVMdev] Loop Vectorization and Store-Load Forwarding issue
I have been looking into this small test case (Part A) where loop vectorization is disabled due to possible store-load forwarding conflict (Part B). As you can see, due to the presence of dependence distance 2 the loop is vectorizable only for a width of 2. However, the presence of dependence distance 15 (due to y[j-15]) results in store-load forwarding issue as store packet of y[16:17] (iteration
2017 Oct 23
3
Jacobi 5 Point Stencil Code not Vectorizing
<div> </div><div> </div><div>Hello,</div><div> </div><div>To me this is an issue in llvm loop vectorizer (if N is large enough to prevent complete unrolling of j-loop).</div><div> </div><div>Woud you mind to share stencil.ll than I would say more definitely what the issue
2017 Oct 24
3
Jacobi 5 Point Stencil Code not Vectorizing
Your problem is due to GVN partial reduction elimination (PRE) which introduces a PHI node the current loop vectorizer cannot handle: opt -O3 stencil.ll -pass-remarks=loop-vectorize -pass-remarks-missed=loop-vectorize -pass-remarks-analysis=loop-vectorize remark: <unknown>:0:0: loop not vectorized: value that could not be identified as reduction is used outside the loop remark:
2015 Mar 11
2
[LLVMdev] RFC: Loop versioning for LICM
> On Mar 5, 2015, at 10:33 PM, Nema, Ashutosh <Ashutosh.Nema at amd.com> wrote: > > > I am about to post the patches to make LAA suitable for Loop Distribution. As you will hopefully find this will make the LAA more generic. I will cc you on the patches. > > Sure Adam. > > RuntimeCheckEmitter > “RuntimeCheckEmitter::addRuntimeCheck” > While creating
2017 Jul 01
3
Jacobi 5 Point Stencil Code not Vectorizing
Does it happen due to loop carried dependence? if yes what is the solution to vectorize such codes? please reply. i m waiting. On Jul 1, 2017 12:30 PM, "hameeza ahmed" <hahmed2305 at gmail.com> wrote: > I even tried polly but still my llvm IR does not contain vector > instructions. i used the following command; > > clang -S -emit-llvm stencil.c -march=knl -O3
2015 Mar 04
2
[LLVMdev] RFC: Loop versioning for LICM
> On Mar 3, 2015, at 1:29 AM, Nema, Ashutosh <Ashutosh.Nema at amd.com <mailto:Ashutosh.Nema at amd.com>> wrote: > > Hi Adam, > > Thanks for looking into LoopVersioning work. > > I have gone through recent LoopAccessAnalysis changes and found some of the stuff > overlaps (i.e. runtime memory check, loop access analysis etc.). LoopVersioning can > use
2015 Mar 19
2
[LLVMdev] RFC: Loop versioning for LICM
Hi Ashutosh, > On Mar 16, 2015, at 9:06 PM, Nema, Ashutosh <Ashutosh.Nema at amd.com> wrote: > > Hi Adam, > > From: Adam Nemet [mailto:anemet at apple.com <mailto:anemet at apple.com>] > Sent: Wednesday, March 11, 2015 10:48 AM > To: Nema, Ashutosh > Cc: llvmdev at cs.uiuc.edu <mailto:llvmdev at cs.uiuc.edu> > Subject: Re: [LLVMdev] RFC: Loop
2013 Dec 27
4
[LLVMdev] Using DependenceAnalysis::depends
Hi Preston, Thank you for the prompt response. You can use DependenceAnalysis to get the info you want by expensively > testing all pairs of memory references. Isn't all pairs testing incorrect in the sense that a pair may only exist for a certain path? Consider the following example. A[i] = 42; // S1 if( condition ) // C1 { A[i] = 20; // S2 } B[i] = A[i];
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
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
2015 Mar 20
2
[LLVMdev] RFC: Loop versioning for LICM
> On Mar 19, 2015, at 9:46 PM, Nema, Ashutosh <Ashutosh.Nema at amd.com> wrote: > > Thanks Adam for your reply. > > From: Adam Nemet [mailto:anemet at apple.com <mailto:anemet at apple.com>] > Sent: Friday, March 20, 2015 3:23 AM > To: Nema, Ashutosh > Cc: Hal Finkel; Philip Reames; llvmdev at cs.uiuc.edu <mailto:llvmdev at cs.uiuc.edu> > Subject:
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 ; > } > >
2012 Oct 16
4
[LLVMdev] Loop vectorizer
----- Original Message ----- > Hi Preston! > > > > > I'd start by making a plan (a design!) with goals and stuff. > > Publish it so we can see what you mean by "vectorization". > > I will send a separate email later, but here is a quick overview. I > see the vectorizer having four main components: > > 1. Preparation passes: If-conversion,
2012 Oct 16
2
[LLVMdev] Loop vectorizer
Nadav Rotem <nrotem at apple.com> wrote: > I sent a patch to llvm-commit with a new loop vectorizer. > This is a very simple loop vectorizer, but we have to start somewhere. > With this new loop vectorizer we can already vectorize a good number of loops. > I know that we can improve the new loop vectorizer in a number of ways. > We can implement a precise dependence test, >
2012 Mar 20
1
[LLVMdev] Problem with LoopDependenceAnalysis
Shanmuhka wrote: > I looked at the sanjoys patch for SIV Test. And i figured out that this is exactly what i need. > as the comments said, check if subscript A can possibly have the same value as B in analyseSIV(A,B) > but i didn't 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
2014 Aug 12
7
[LLVMdev] Proposal for ""llvm.mem.vectorize.safelen"
Julia and OpenMP 4.0 have features where the user can bless a loop as having no memory dependences that prevent vectorization, thus enabling vectorization of loops not amenable to compile-time or run-time dependence analysis. LLVM currently has no metadata to express such, as explained further below. I'd like to propose new metadata that enables front-ends to tell the vectorizer that
2013 Apr 19
2
[LLVMdev] Help:- Memory dependence profiling in LLVM
----------------- Hello, I want to do a memory dependence profiling. Is there any freely available implementation of memory dependence profiling implementations in LLVM which I can modify for my own use? Unnikrishnan C -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.
2015 May 25
0
[LLVMdev] Alias-based Loop Versioning
It’s a good thought in general Adam, but I worried about following scenarios: 1) As Dibyendu already mentioned Check1 + Check2 is not very clear. If your intent is superset/union of check1 & check2 then I’m not sure it will always help passes those needs smaller checks (i.e. loop distribution) Every pass has a different need of runtime check, i.e. vectorizer checks each memory against all
2015 Mar 24
3
[LLVMdev] RFC: Loop versioning for LICM
> On Mar 20, 2015, at 8:02 PM, Nema, Ashutosh <Ashutosh.Nema at amd.com> wrote: > > > Yes, this is what I was proposing above and here ;): > Thanks Adam it’s for confirming J NP :). > > > No, not hasLoopInvariantStore but hasAccessToLoopInvariantAddress. > Its only for invariant stores[not loads], Using ‘hasLoopInvariantStore’ (or a name with invariant store)
2015 May 11
2
[LLVMdev] about MemoryDependenceAnalysis usage
add -basicaa to your command line :) On Mon, May 11, 2015 at 7:15 AM, Willy WOLFF <willy.mh.wolff at gmail.com> wrote: > I play a bit more with MemoryDependenceAnalysis by wrapping my pass, and > call explicitely BasicAliasAnalysis. Its still using No Alias Analysis. > > How can I let MemoryDependenceAnalysis use BasicAliasAnalysis? > > Please, find attached my pass. >