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...