Displaying 5 results from an estimated 5 matches for "vectorelementsize".
2013 Nov 15
4
[LLVMdev] Limit loop vectorizer to SSE
...getPointerOperand();
unsigned Alignment = LI ? LI->getAlignment() : SI->getAlignment();
+ if (Alignment == 0)
+ Alignment = 1;
unsigned AddressSpace = Ptr->getType()->getPointerAddressSpace();
unsigned ScalarAllocatedSize = DL->getTypeAllocSize(ScalarDataTy);
unsigned VectorElementSize = DL->getTypeStoreSize(DataTy)/VF;
Should fix this.
On Nov 15, 2013, at 3:49 PM, Joshua Klontz <josh.klontz at gmail.com> wrote:
> Nadav,
>
> I believe aligned accesses to unaligned pointers is precisely the issue. Consider the function `add_u8S` before[1] and after[2] the loo...
2013 Nov 15
0
[LLVMdev] Limit loop vectorizer to SSE
...0 is supposed to mean the platform default alignment (IIRC, DataLayout::getPrefTypeAlignment tells you what it is).
-Hal
> unsigned AddressSpace = Ptr->getType()->getPointerAddressSpace();
> unsigned ScalarAllocatedSize = DL->getTypeAllocSize(ScalarDataTy);
> unsigned VectorElementSize = DL->getTypeStoreSize(DataTy)/VF;
>
> Should fix this.
>
> On Nov 15, 2013, at 3:49 PM, Joshua Klontz <josh.klontz at gmail.com>
> wrote:
>
> > Nadav,
> >
> > I believe aligned accesses to unaligned pointers is precisely the
> > issue. Conside...
2013 Nov 15
2
[LLVMdev] Limit loop vectorizer to SSE
...the platform default alignment (IIRC, DataLayout::getPrefTypeAlignment tells you what it is).
>
> -Hal
>
>> unsigned AddressSpace = Ptr->getType()->getPointerAddressSpace();
>> unsigned ScalarAllocatedSize = DL->getTypeAllocSize(ScalarDataTy);
>> unsigned VectorElementSize = DL->getTypeStoreSize(DataTy)/VF;
>>
>> Should fix this.
>>
>> On Nov 15, 2013, at 3:49 PM, Joshua Klontz <josh.klontz at gmail.com>
>> wrote:
>>
>>> Nadav,
>>>
>>> I believe aligned accesses to unaligned pointers is preci...
2013 Nov 15
0
[LLVMdev] Limit loop vectorizer to SSE
Nadav,
I believe aligned accesses to unaligned pointers is precisely the issue.
Consider the function `add_u8S` before[1] and after[2] the loop vectorizer
pass. There is no alignment assumption associated with %kernel_data prior
to vectorization. I can't tell if it's the loop vectorizer or the codegen
at fault, but the alignment assumption seems to sneak in somewhere.
v/r,
Josh
[1]
2013 Nov 15
6
[LLVMdev] Limit loop vectorizer to SSE
On Nov 15, 2013, at 12:36 PM, Renato Golin <renato.golin at linaro.org> wrote:
> On 15 November 2013 20:24, Joshua Klontz <josh.klontz at gmail.com> wrote:
> Agreed, is there a pass that will insert a runtime alignment check? Also, what's the easiest way to get at TargetTransformInfo::getRegisterBitWidth() so I don't have to hard code 32? Thanks!
>
> I think