[PATCH] Extend LoopVectorizationLegality::isConsecutivePtr to handle multiple level GEPs

Wei Mi wmi at google.com
Wed Jun 17 11:57:32 PDT 2015


Sorry for the confusion introduced. In that testcase, I only checked
the vectorization result -- wide loads must be generated. Both patches
in http://reviews.llvm.org/D9865 and http://reviews.llvm.org/D10281
can make that testcase pass independently. However, your question
remind me that I had better do the check directly: .i.e, check geps
are well formed before vectorization in http://reviews.llvm.org/D9865.

Wei.

On Wed, Jun 17, 2015 at 11:40 AM, Quentin Colombet <qcolombet at apple.com> wrote:
>
>> On Jun 17, 2015, at 11:29 AM, Wei Mi <wmi at google.com> wrote:
>>
>>> I assume that since you found that limitation, you have a test case that exposes it. Could you add the test case to the patch please?
>>
>>
>> I add the testcase which is the same one as test/Transforms/InstCombine/gep-merge1.ll in http://reviews.llvm.org/D9865.
>
> I do not understand. I thought that test case was to make sure that the geps inside the loop are well formed for the current loop vectorizer (i.e., without this patch).
>
> Q.
>
>>
>> Thanks,
>> Wei.
>>
>>
>> REPOSITORY
>>  rL LLVM
>>
>> http://reviews.llvm.org/D10281
>>
>> Files:
>>  lib/Transforms/Vectorize/LoopVectorize.cpp
>>  test/Transforms/LoopVectorize/pr23580.ll
>>
>> EMAIL PREFERENCES
>>  http://reviews.llvm.org/settings/panel/emailpreferences/
>> <D10281.27851.patch>
>



More information about the llvm-commits mailing list