search for: loopvector

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

2013 Jan 04
2
[LLVMdev] LLVM on ARM A15
...shared libraries. Just commenting out the whole if/else block and setting -fPIC anyway does the trick. I'll check later why the flag is "not supported". * Timings Whole compilation with -j2 took an hour (ARM back-end only), including check-all, which passed brilliantly, except for LoopVectorize tests. ;) I'm guessing this is due to it being disabled by Nadav and when we get the cost model right it'll go back to passing. Maybe we should mark them as supported only by platforms that implement the cost model? ******************** Testing Time: 521.68s ******************** Failin...
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 a...
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 @@ -1067,7 +1067,7 @@ struct LoopVectorize : public FunctionPass { // We only handle inner loops, so if there are...
2013 Jan 04
0
[LLVMdev] LLVM on ARM A15
...ust commenting out the whole if/else block and setting -fPIC anyway does the trick. I'll check later why the flag is "not supported". > > * Timings > > Whole compilation with -j2 took an hour (ARM back-end only), including check-all, which passed brilliantly, except for LoopVectorize tests. ;) > > I'm guessing this is due to it being disabled by Nadav and when we get the cost model right it'll go back to passing. Maybe we should mark them as supported only by platforms that implement the cost model? > > ******************** > Testing Time: 521.68s &g...
2014 Mar 18
2
[LLVMdev] E = L->begin() in LoopVectorize
...wrote: > > > 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 > > @@ -1067,7 +1067,7 @@ struct LoopVectorize : public FunctionPass { &g...
2007 Feb 20
1
Difficulties with dataframe filter using elements from an array created using a for loop or seq()
...utput, you can see that the loop using the "handmadevector" that creates a filter and counts the elements, correctly finds one match for each element in the vector, but the seq() and for loop produced vectors each give a mixture of true and false matches. Can anyone tell me why the "loopvector" and "seqvector" do not provide the same output as the "handmadevector". Thank you for your assistance! Todd -- Todd A. Johnson Research Associate, Laboratory for Medical Informatics SNP Research Center,RIKEN 1-7-22Suehiro,Tsurumi-ku,Yokohama Kanagawa 230-0045,Japan...
2013 Apr 11
0
[LLVMdev] Decouple LoopVectorizer from O3
Hi Anadi, In the file PassManagerBuilder.cpp you 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 requir...
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
Hi Nadav, I tried your suggestion by changing the condition to : 189 if (LoopVectorize && OptLevel >= 0) 190 MPM.add(createLoopVectorizePass()); and compiled. Then I used the following command: opt -mtriple=x86_64-linux-gnu -vectorize-loops -vectorizer-min-trip-count=6 -debug-only=loop-vectorize -O1-S -o example1_vect.s example1.s where example1.s is IR generated...
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...
2016 Aug 21
2
LoopVectorize module - some possible enhancements
Hello, Michael, I'd like to ask if we can enhance the LoopVectorize LLVM module (I am currently using a version from Jul 2016). More exactly: - do you envision to support 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 define...
2018 Feb 06
2
[RFC] Make LoopVectorize Aware of SLP Operations
Hello, We would like to propose making LoopVectorize aware of SLP operations, to improve the generated code for loops operating on struct fields or doing complex math. At the moment, LoopVectorize uses interleaving to vectorize loops that operate on values loaded/stored from consecutive addresses: vector loads/stores are generated to combine...
2013 Apr 11
0
[LLVMdev] Decouple LoopVectorizer from O3
...ks, Nadav The loop vectorizer has some LSR-like capabilities for merging multiple induction variables into a On Apr 10, 2013, at 7:52 PM, Anadi Mishra <reachanadi at gmail.com> wrote: > Hi Nadav, > > I tried your suggestion by changing the condition to : > > 189 if (LoopVectorize && OptLevel >= 0) > 190 MPM.add(createLoopVectorizePass()); > > and compiled. Then I used the following command: > > opt -mtriple=x86_64-linux-gnu -vectorize-loops > -vectorizer-min-trip-count=6 -debug-only=loop-vectorize -O1-S -o > example1_vect.s example1....
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 > > comp...
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 point operations. Thanks, Nadav On Apr 3, 2013, at 10:29 AM, "Nowicki, Tyler" <tyler.nowicki at intel.com<mailto:tyler.nowicki at intel.com>> wrote: Hi, I...
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)...
2013 Apr 11
2
[LLVMdev] Decouple LoopVectorizer from O3
...oop vectorizer has some LSR-like capabilities for merging multiple > induction variables into a > > > On Apr 10, 2013, at 7:52 PM, Anadi Mishra <reachanadi at gmail.com> wrote: > > Hi Nadav, > > I tried your suggestion by changing the condition to : > > 189 if (LoopVectorize && OptLevel >= 0) > 190 MPM.add(createLoopVectorizePass()); > > and compiled. Then I used the following command: > > opt -mtriple=x86_64-linux-gnu -vectorize-loops > -vectorizer-min-trip-count=6 -debug-only=loop-vectorize -O1-S -o > example1_vect.s example1.s...
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, t...
2018 Jun 11
2
LoopVectorize fails to vectorize code with condition on reduction
...tified PHI. %2 = phi i32 [ 0, %for.body.lr.ph ], [ %4, %for.inc ] LV: Can't vectorize the instructions or CFG LV: Not vectorizing: Cannot prove legality. This was obtained with the latest LLVM - SVN rev 334367, from Jun 10 2018. Could you please tell me why do you think LoopVectorize is not being able to vectorize the above C code. BTW, I was hoping that LoopVectorize can change the code to be amenable to simple if-conversion like the following C code manually transformed: void Func_manually_transformed(int N) { int numSol = 0; for (int c = 0;...
2018 Feb 08
0
[RFC] Make LoopVectorize Aware of SLP Operations
...an example of what could be a preparatory VPlan-to-VPlan transformation that could precede and simplify the core analysis of the SLP-aware analysis. > The SLP vectorizer in LLVM already implements a similar analysis. In the long term, it would probably make sense to share the analysis between LoopVectorize and the SLP vectorizer. But initially we think it would be safer to start with a separate and initially more limited analysis in LoopVectorize. As a first step, this sounds reasonable to me. If it's implemented on top of VPlan it could be reused in a future VPlan-base SLP. We should have th...