search for: loopvectorizer

Displaying 20 results from an estimated 344 matches for "loopvectorizer".

2013 Jan 04
2
[LLVMdev] LLVM on ARM A15
Hi folks, I've been playing with LLVM on a Chromebook (Ubuntu) and it seems to work quite well. Installing Ubuntu on the Chromebook was a breeze[1] and all tools/libs/headers required to check-out and build LLVM were accessible via apt-get. I had two problems to build it, but apart from those, it all ran smoother than I'd expected. I'll investigate the errors a bit deeper later on,
2017 Apr 14
2
Separate LoopVectorize LLVM pass
Hello. I am trying to create my own LoopVectorize.cpp pass as a separate pass from the LLVM trunk, as described in http://llvm.org/docs/CMake.html#embedding-llvm-in-your-project. Did anybody try something like this? I added close to the end of the .cpp file: /* this line seems to be required - it allows to run this pass as an embedded pass by giving opt -my-loop-vectorize
2014 Mar 18
4
[LLVMdev] E = L->begin() in LoopVectorize
Hi, I'm studying loop vectorizer. I don't understand the code yet. But it looks not right to assign L->begin() to E. Is it a typo? Thanks, Liang diff --git a/lib/Transforms/Vectorize/LoopVectorize.cpp b/lib/Transforms/Vectorize/LoopVectorize.cpp index 435c005..87b5d79 100644 --- a/lib/Transforms/Vectorize/LoopVectorize.cpp +++ b/lib/Transforms/Vectorize/LoopVectorize.cpp @@
2013 Jan 04
0
[LLVMdev] LLVM on ARM A15
Hi Renato, The tests below are target independent and should pass. Did you build the x86 backend ? I think that the problem is that opt uses the triple from the LL file to initialize the backends and the cost model, and if you don't have the x86 backend then the tests fail. I will fix the tests shortly. Thanks, Nadav On Jan 4, 2013, at 3:45 PM, Renato Golin <renato.golin at
2014 Mar 18
2
[LLVMdev] E = L->begin() in LoopVectorize
Looking at it now, curious why no tests failed. On Tue, Mar 18, 2014 at 2:48 PM, Jim Grosbach <grosbach at apple.com> wrote: > Almost certainly, yes. Nice catch! > > > On Mar 18, 2014, at 2:38 PM, Liang Wang <netcasper at gmail.com> wrote: > > > Hi, > > > > I'm studying loop vectorizer. I don't understand the code yet. But > > it
2007 Feb 20
1
Difficulties with dataframe filter using elements from an array created using a for loop or seq()
Hi All- This seems like such a pathetic problem to be posting about, but I have no idea why this testcase does not work. I have tried this using R 2.4.1, 2.4.0, 2.3.0, and 2.0.0 on several different computers (Mac OS 10.4.8, Windows XP, Linux). Below the signature, you will find my test case R code. My point in this folly is to take a dataframe of 300,000 rows, create a filter based on two
2013 Apr 11
0
[LLVMdev] Decouple LoopVectorizer from O3
...u can change the lines below to get rid of the O3 restriction. 189 if (LoopVectorize && OptLevel > 2) 190 MPM.add(createLoopVectorizePass()); Nadav On Apr 10, 2013, at 5:39 PM, Anadi Mishra <reachanadi at gmail.com> wrote: > Hello, > > I am trying out the LoopVectorizer(LV) pass and would like to decouple it from O3 which is currently required to run LV. I want to do this because I want to understand the behaviour of LV by trying simple loops but the O3 mostly optimises away the loop body. > > Any ideas would be appreciated. > > Best, > Anadi. &gt...
2013 Apr 11
4
[LLVMdev] Decouple LoopVectorizer from O3
Hello, I am trying out the LoopVectorizer(LV) pass and would like to decouple it from O3 which is currently required to run LV. I want to do this because I want to understand the behaviour of LV by trying simple loops but the O3 mostly optimises away the loop body. Any ideas would be appreciated. Best, Anadi. -------------- next part ---...
2013 Apr 11
2
[LLVMdev] Decouple LoopVectorizer from O3
...the O3 restriction. > > 189 if (LoopVectorize && OptLevel > 2) > 190 MPM.add(createLoopVectorizePass()); > > Nadav > > > > > On Apr 10, 2013, at 5:39 PM, Anadi Mishra <reachanadi at gmail.com> wrote: > > Hello, > > I am trying out the LoopVectorizer(LV) pass and would like to decouple it from O3 which is currently required to run LV. I want to do this because I want to understand the behaviour of LV by trying simple loops but the O3 mostly optimises away the loop body. > > Any ideas would be appreciated. > > Best, > Anadi. >...
2013 Jan 25
2
[LLVMdev] LoopVectorizer in OpenCL C work group autovectorization
On 01/25/2013 04:00 PM, Hal Finkel wrote: > Based on this experience, can you propose some metadata that would allow > this to happen (so that the LoopVectorizer would be generally useful for > POCL)? I suspect this same metadata might be useful in other contexts (such > as implementing iteration-independence pragmas). I cannot yet. In this hack I simply changed LoopVectorizer to assume all loops the vectorizer sees are parallel (as the kernels I tri...
2016 Aug 21
2
LoopVectorize module - some possible enhancements
...rt in the near future LLVM IR gather and scatter intrinsics (as described at http://llvm.org/docs/LangRef.html#llvm-masked-gather-intrinsics and scatter)? I see you have defined some methods that should use them like: - bool isLegalMaskedGather(Type *DataType); - void InnerLoopVectorizer::vectorizeMemoryInstruction(Instruction *Instr) which defines a bool CreateGatherScatter, etc I gave to clang a simple vector add C program with step/stride 2 with flag "-avx2", but the resulting vector code does NOT use gather nor scatter. - did you try to consider patholo...
2018 Feb 06
2
[RFC] Make LoopVectorize Aware of SLP Operations
...loop so we can make optimal use of the vector registers with compound operations and let the SLP vectorizer generate code. But this would be problematic for cases where the right unroll factor is not known at compile time (e.g. with Arm's scalable vectors). Another advantage of a SLP aware LoopVectorizer is that we would benefit from loop versioning like with regular vectorization. Also Vplan should make it relatively straight-forward to add codegen support. Detect Loops Containing SLP Opportunities ------------------------------------------ This is the key part. LoopVectorize needs to be able...
2013 Apr 11
0
[LLVMdev] Decouple LoopVectorizer from O3
...amp;& OptLevel > 2) >> 190 MPM.add(createLoopVectorizePass()); >> >> Nadav >> >> >> >> >> On Apr 10, 2013, at 5:39 PM, Anadi Mishra <reachanadi at gmail.com> wrote: >> >> Hello, >> >> I am trying out the LoopVectorizer(LV) pass and would like to decouple it from O3 which is currently required to run LV. I want to do this because I want to understand the behaviour of LV by trying simple loops but the O3 mostly optimises away the loop body. >> >> Any ideas would be appreciated. >> >> Best,...
2013 Jan 25
0
[LLVMdev] LoopVectorizer in OpenCL C work group autovectorization
...--- > From: "Pekka Jääskeläinen" <pekka.jaaskelainen at tut.fi> > To: "Nadav Rotem" <nrotem at apple.com> > Cc: "LLVM Developers Mailing List" <llvmdev at cs.uiuc.edu> > Sent: Friday, January 25, 2013 5:35:16 AM > Subject: Re: [LLVMdev] LoopVectorizer in OpenCL C work group autovectorization > > On 01/25/2013 09:56 AM, Nadav Rotem wrote: > > Thanks for checking the Loop Vectorizer, I am interested in hearing > > your > > feedback. The Loop Vectorizer does not fit here. OpenCL > > vectorization is > > complete...
2013 Apr 04
1
[LLVMdev] Packed instructions generaetd by LoopVectorize?
Thanks, that did it! Are there any plans to enable the loop vectorizer by default? From: Nadav Rotem [mailto:nrotem at apple.com] Sent: Wednesday, April 03, 2013 13:33 PM To: Nowicki, Tyler Cc: LLVM Developers Mailing List Subject: Re: Packed instructions generaetd by LoopVectorize? Hi Tyler, Try adding -ffast-math. We can only vectorize reduction variables if it is safe to reorder floating
2013 Jan 25
0
[LLVMdev] LoopVectorizer in OpenCL C work group autovectorization
...ekka.jaaskelainen at tut.fi> > To: "Hal Finkel" <hfinkel at anl.gov> > Cc: "LLVM Developers Mailing List" <llvmdev at cs.uiuc.edu>, "Nadav Rotem" <nrotem at apple.com> > Sent: Friday, January 25, 2013 8:14:57 AM > Subject: Re: [LLVMdev] LoopVectorizer in OpenCL C work group autovectorization > > On 01/25/2013 04:00 PM, Hal Finkel wrote: > > Based on this experience, can you propose some metadata that would > > allow > > this to happen (so that the LoopVectorizer would be generally > > useful for > > POCL)? I...
2013 Apr 11
2
[LLVMdev] Decouple LoopVectorizer from O3
...the O3 restriction. > > 189 if (LoopVectorize && OptLevel > 2) > 190 MPM.add(createLoopVectorizePass()); > > Nadav > > > > > On Apr 10, 2013, at 5:39 PM, Anadi Mishra <reachanadi at gmail.com> wrote: > > Hello, > > I am trying out the LoopVectorizer(LV) pass and would like to decouple it > from O3 which is currently required to run LV. I want to do this because I > want to understand the behaviour of LV by trying simple loops but the O3 > mostly optimises away the loop body. > > Any ideas would be appreciated. > > Best, &g...
2013 Jan 31
3
[LLVMdev] LoopVectorizer in OpenCL C work group autovectorization
...input suffers from that. Also, an inner loop vectorizer might be able to handle outer loops e.g. via loop interchange. I'm planning to look into that if time allows. > However, in the long run, I think the only difference between WFV-like > approaches and classic loop vectorization a la LoopVectorizer in an > OpenCL context is the following: > WFV assumes that there is at least one outer loop that has increments of > one, runs a multiple of the SIMD width iterations, and that every > iteration is independent (barriers can be handled by the OpenCL driver > *after* WFV). Yes, this...
2018 Jun 11
2
LoopVectorize fails to vectorize code with condition on reduction
Hello. I'm not able to vectorize this simple C loop doing basically what could be called predicated sum-reduction: #define NMAX 1000 int colOccupied[NMAX]; void Func(int N) { int numSol = 0; for (int c = 0; c < N; c++) { if (colOccupied[c] == 0) numSol++; } return numSol; } The compiler
2018 Feb 08
0
[RFC] Make LoopVectorize Aware of SLP Operations
...the loop so we can make optimal use of the vector registers with compound operations and let the SLP vectorizer generate code. But this would be problematic for cases where the right unroll factor is not known at compile time (e.g. with Arm's scalable vectors). Another advantage of a SLP aware LoopVectorizer is that we would benefit from loop versioning like with regular vectorization. Also Vplan should make it relatively straight-forward to add codegen support. Detect Loops Containing SLP Opportunities ------------------------------------------ This is the key part. LoopVectorize needs to be able to...