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