search for: getdepthfactor

Displaying 7 results from an estimated 7 matches for "getdepthfactor".

2012 Feb 03
3
[LLVMdev] [BBVectorizer] Obvious vectorization benefit, but req-chain is too short
Hi Hal, this is one of the first test cases, I would love to have improved vectorizer support. I sent it out earlier, but I think it is a good time to look into it again, after the vectorizer was committed. The basic examples is a set of scalar loads that load for consecutive elements and store them back right ahead. For me this is an obvious case where vectorization is beneficial
2011 Dec 02
5
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...t > + // enough to be vectorized. The length is also used in comparing > + // candidate chains where longer chains are considered to be better. > + // Note: when this function returns 0, the resulting instructions are > + // not actually fused. > + static inline size_t getDepthFactor(Value *V) { > + if (isa<InsertElementInst>(V) || isa<ExtractElementInst>(V)) { Why have InsertElementInst, ExtractElementInst instructions a weight of zero? > + return 0; > + } No need for braces. > + > + return 1; > + } > + > + //...
2011 Dec 14
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...h to be vectorized. The length is also used in comparing > > + // candidate chains where longer chains are considered to be better. > > + // Note: when this function returns 0, the resulting instructions are > > + // not actually fused. > > + static inline size_t getDepthFactor(Value *V) { > > + if (isa<InsertElementInst>(V) || isa<ExtractElementInst>(V)) { > > Why have InsertElementInst, ExtractElementInst instructions a weight of > zero? > > > + return 0; > > + } > No need for braces. > > > + >...
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
2011 Dec 02
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...h to be vectorized. The length is also used in comparing > > + // candidate chains where longer chains are considered to be better. > > + // Note: when this function returns 0, the resulting instructions are > > + // not actually fused. > > + static inline size_t getDepthFactor(Value *V) { > > + if (isa<InsertElementInst>(V) || isa<ExtractElementInst>(V)) { > > Why have InsertElementInst, ExtractElementInst instructions a weight of > zero? Two reasons: First, they cannot be usefully fused. Second, because the pass generates a lot of these...
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 Dec 02
1
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...orized. The length is also used in comparing >>> + // candidate chains where longer chains are considered to be better. >>> + // Note: when this function returns 0, the resulting instructions are >>> + // not actually fused. >>> + static inline size_t getDepthFactor(Value *V) { >>> + if (isa<InsertElementInst>(V) || isa<ExtractElementInst>(V)) { >> >> Why have InsertElementInst, ExtractElementInst instructions a weight of >> zero? > > Two reasons: First, they cannot be usefully fused. Second, because the > p...