[PATCH] D29717: [LoopVectorize] Added address space check when analysing interleaved accesses

Friedman, Eli via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 22 11:25:28 PST 2017


On 2/22/2017 6:08 AM, Karl-Johan Karlsson via llvm-commits wrote:
> I added Eli Friedman as he was in the discussion in the original review.
>
> On 2017-02-17 13:43, Matthew Simpson wrote:
>> I would definitely expect to have pointer types here. The SCEVs are
>> collected by collectConstStrideAccesses and replaceSymbolicStrideSCEV.
>> Maybe you've uncovered a bug there somewhere?
>
> I have been able to reproduce the buildbot fault locally, but as it is 
> a ThinLTO build it is really complicated to extract a small 
> llvm-assembler reproducer.
>
> In gdb standing at my added address space check in 
> InterleavedAccessInfo::analyzeInterleaving().
>
> Is it a fault that DesA.Scev is not of pointer type?

It looks like the problem you're running into is that you're dealing 
with a null pointer, and SCEV models null pointers as i64 0 (as opposed 
to treating them as opaque values).  I would say it's a SCEV bug: null 
!= 0 on some targets.

-Eli

-- 
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project



More information about the llvm-commits mailing list