search for: bbv

Displaying 20 results from an estimated 25 matches for "bbv".

Did you mean: bb
2012 Jan 26
3
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...on-default flags. If I run clang -O3 -mllvm -vectorize -S -emit-llvm -o test.ll test.c then I get no vectorization at all (the output is identical to that without the -vectorize). What target triple is your clang targeting? If I include -mllvm -debug-only=bb-vectorize then the relevant output is: BBV: fusing loop #1 for entry in main... BBV: found 0 instructions with candidate pairs BBV: done! BBV: fusing loop #1 for for.body in main... BBV: found 0 instructions with candidate pairs BBV: done! BBV: fusing loop #1 for for.end in main... BBV: found 0 instructions with candidate pairs BBV: done! B...
2012 Jan 26
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...it-llvm -o test.ll test.c > then I get no vectorization at all (the output is identical to that > without the -vectorize). What target triple is your clang targeting? > Target: arm-none-linux-gnueabi > If I include -mllvm -debug-only=bb-vectorize then the relevant output > is: > BBV: fusing loop #1 for entry in main... > BBV: found 0 instructions with candidate pairs > BBV: done! > BBV: fusing loop #1 for for.body in main... > BBV: found 0 instructions with candidate pairs > BBV: done! > BBV: fusing loop #1 for for.end in main... > BBV: found 0 instruction...
2012 Jan 26
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
On Thu, Jan 26, 2012 at 2:49 PM, Hal Finkel <hfinkel at anl.gov> wrote: > Thanks! Did you compile with any non-default flags other than -mllvm > -vectorize? I used -O3 and -vectorize, no other non-default flags. Sebastian -- Qualcomm Innovation Center, Inc is a member of Code Aurora Forum
2012 Jan 26
2
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
On Thu, 2012-01-26 at 14:34 -0600, Sebastian Pop wrote: > On Tue, Jan 24, 2012 at 6:41 PM, Hal Finkel <hfinkel at anl.gov> wrote: > >> enabling vectorization gets the performance down by 80% on ARM. > >> I will prepare a reduced testcase and try to find out the reason. > >> As a first shot, I would say that this comes from the vectorization of > >> code
2013 Oct 30
0
[LLVMdev] loop vectorizer
I ran the BB vectorizer as I guess this is the SLP vectorizer. BBV: using target information BBV: fusing loop #1 for for.body in _Z3barmmPfS_S_... BBV: found 2 instructions with candidate pairs BBV: found 0 pair connections. BBV: done! However, this was run on the unrolled loop (I guess). Here is the IR printed by 'opt': entry: %cmp9 = icmp ult i64 %...
2013 Oct 30
3
[LLVMdev] loop vectorizer
On 30 October 2013 09:25, Nadav Rotem <nrotem at apple.com> wrote: > The access pattern to arrays a and b is non-linear. Unrolled loops are > usually handled by the SLP-vectorizer. Are ir0 and ir1 consecutive for all > values for i ? > Based on his list of values, it seems that the induction stride is linear within each block of 4 iterations, but it's not a clear
2013 Oct 30
3
[LLVMdev] loop vectorizer
...iginal Message ----- > > > I ran the BB vectorizer as I guess this is the SLP vectorizer. No, while the BB vectorizer is doing a form of SLP vectorization, there is a separate SLP vectorization pass which uses a different algorithm. You can pass -vectorize-slp to opt. -Hal > > BBV: using target information > BBV: fusing loop #1 for for.body in _Z3barmmPfS_S_... > BBV: found 2 instructions with candidate pairs > BBV: found 0 pair connections. > BBV: done! > > However, this was run on the unrolled loop (I guess). > > Here is the IR printed by 'opt...
2013 Oct 30
0
[LLVMdev] loop vectorizer
...--- >> >> I ran the BB vectorizer as I guess this is the SLP vectorizer. > No, while the BB vectorizer is doing a form of SLP vectorization, there is a separate SLP vectorization pass which uses a different algorithm. You can pass -vectorize-slp to opt. > > -Hal > >> BBV: using target information >> BBV: fusing loop #1 for for.body in _Z3barmmPfS_S_... >> BBV: found 2 instructions with candidate pairs >> BBV: found 0 pair connections. >> BBV: done! >> >> However, this was run on the unrolled loop (I guess). >> >> Here...
2013 Oct 30
2
[LLVMdev] loop vectorizer
...I ran the BB vectorizer as I guess this is the SLP vectorizer. >> No, while the BB vectorizer is doing a form of SLP vectorization, there is a separate SLP vectorization pass which uses a different algorithm. You can pass -vectorize-slp to opt. >> >> -Hal >> >>> BBV: using target information >>> BBV: fusing loop #1 for for.body in _Z3barmmPfS_S_... >>> BBV: found 2 instructions with candidate pairs >>> BBV: found 0 pair connections. >>> BBV: done! >>> >>> However, this was run on the unrolled loop (I guess...
2013 Oct 30
0
[LLVMdev] loop vectorizer
...rizer as I guess this is the SLP vectorizer. >>> No, while the BB vectorizer is doing a form of SLP vectorization, there is a separate SLP vectorization pass which uses a different algorithm. You can pass -vectorize-slp to opt. >>> >>> -Hal >>> >>>> BBV: using target information >>>> BBV: fusing loop #1 for for.body in _Z3barmmPfS_S_... >>>> BBV: found 2 instructions with candidate pairs >>>> BBV: found 0 pair connections. >>>> BBV: done! >>>> >>>> However, this was run on the...
2011 Dec 02
5
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...-------------------===## > > LEVEL = ../.. > -PARALLEL_DIRS = Utils Instrumentation Scalar InstCombine IPO Hello > +PARALLEL_DIRS = Utils Instrumentation Scalar InstCombine IPO Vectorize Hello > > include $(LEVEL)/Makefile.config > > diff --git a/lib/Transforms/Vectorize/BBVectorize.cpp b/lib/Transforms/Vectorize/BBVectorize.cpp > new file mode 100644 > index 0000000..5505502 > --- /dev/null > +++ b/lib/Transforms/Vectorize/BBVectorize.cpp > @@ -0,0 +1,1644 @@ > +//===- BBVectorize.cpp - A Basic-Block Vectorizer -------------------------===// > +//...
2011 Dec 14
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...> LEVEL = ../.. > > -PARALLEL_DIRS = Utils Instrumentation Scalar InstCombine IPO Hello > > +PARALLEL_DIRS = Utils Instrumentation Scalar InstCombine IPO Vectorize Hello > > > > include $(LEVEL)/Makefile.config > > > > diff --git a/lib/Transforms/Vectorize/BBVectorize.cpp b/lib/Transforms/Vectorize/BBVectorize.cpp > > new file mode 100644 > > index 0000000..5505502 > > --- /dev/null > > +++ b/lib/Transforms/Vectorize/BBVectorize.cpp > > @@ -0,0 +1,1644 @@ > > +//===- BBVectorize.cpp - A Basic-Block Vectorizer ---------...
2011 Nov 23
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
On Mon, 2011-11-21 at 21:22 -0600, Hal Finkel wrote: > On Mon, 2011-11-21 at 11:55 -0600, Hal Finkel wrote: > > Tobias, > > > > I've attached an updated patch. It contains a few bug fixes and many > > (refactoring and coding-convention) changes inspired by your comments. > > > > I'm currently trying to fix the bug responsible for causing a compile
2005 May 30
3
how to invert the matrix with quite small eigenvalues
Dear all, I encounter some covariance matrix with quite small eigenvalues (around 1e-18), which are smaller than the machine precision. The dimension of my matrix is 17. Here I just fake some small matrix for illustration. a<-diag(c(rep(3,4),1e-18)) # a matrix with small eigenvalues b<-matrix(1:25,ncol=5) # define b to get an orthogonal matrix b<-b+t(b) bb<-eigen(b,symmetric=T)
2011 Dec 02
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...> LEVEL = ../.. > > -PARALLEL_DIRS = Utils Instrumentation Scalar InstCombine IPO Hello > > +PARALLEL_DIRS = Utils Instrumentation Scalar InstCombine IPO Vectorize Hello > > > > include $(LEVEL)/Makefile.config > > > > diff --git a/lib/Transforms/Vectorize/BBVectorize.cpp b/lib/Transforms/Vectorize/BBVectorize.cpp > > new file mode 100644 > > index 0000000..5505502 > > --- /dev/null > > +++ b/lib/Transforms/Vectorize/BBVectorize.cpp > > @@ -0,0 +1,1644 @@ > > +//===- BBVectorize.cpp - A Basic-Block Vectorizer ---------...
2012 Apr 04
2
[LLVMdev] Fwd: [Review Request][PATCH] Add the function "vectorizeBasicBlock"
...ch the pass so that it do not read the options like ReqChainDepth, SearchLimit, SplatBreaksChain, ... etc. from the command line option directly, but read from an instance of the VectorizeConfig class, where the VectorizeConfig class is designed to provide the vectorize related parameters to to the BBVectorize pas. After this, people can pass target specific vectorize configuration to the BBVectorize pass in tools like LLC. And original createBBVectorizePass function can create a VectorizeConfig that read the configuration from the commandline options and pass it to the BBVectorizePass, hence us...
2011 Nov 22
5
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
On Mon, 2011-11-21 at 11:55 -0600, Hal Finkel wrote: > Tobias, > > I've attached an updated patch. It contains a few bug fixes and many > (refactoring and coding-convention) changes inspired by your comments. > > I'm currently trying to fix the bug responsible for causing a compile > failure when compiling >
2011 Nov 17
2
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...my thoughts. > } > > PassManagerBuilder::~PassManagerBuilder() { > @@ -170,6 +176,14 @@ void PassManagerBuilder::populateModulePassManager(PassManagerBase&MPM) { > > addExtensionsToPM(EP_ScalarOptimizerLate, MPM); > > + if (Vectorize) { > + MPM.add(createBBVectorizePass()); > + if (OptLevel> 1) { > + MPM.add(createInstructionCombiningPass()); > + MPM.add(createGVNPass()); // Remove redundancies > + } > + } > + What is the reason you will not enable this at -O1. LLVM runs even at -O1 a number of i...
2012 Apr 04
0
[LLVMdev] [Review Request][PATCH] Add the function "vectorizeBasicBlock"
...it do not read the options like ReqChainDepth, > SearchLimit, SplatBreaksChain, ... etc. from the command line option > directly, but read from an instance of the VectorizeConfig class, > where the VectorizeConfig class is designed to provide the vectorize > related parameters to to the BBVectorize pas. > > After this, people can pass target specific vectorize configuration to > the BBVectorize pass in tools like LLC. And original > createBBVectorizePass function can create a VectorizeConfig that read > the configuration from the commandline options and pass it to the...
2011 Nov 21
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...gt; PassManagerBuilder::~PassManagerBuilder() { > > @@ -170,6 +176,14 @@ void PassManagerBuilder::populateModulePassManager(PassManagerBase&MPM) { > > > > addExtensionsToPM(EP_ScalarOptimizerLate, MPM); > > > > + if (Vectorize) { > > + MPM.add(createBBVectorizePass()); > > + if (OptLevel> 1) { > > + MPM.add(createInstructionCombiningPass()); > > + MPM.add(createGVNPass()); // Remove redundancies > > + } > > + } > > + > > What is the reason you will not enable this at -...