[llvm] r296575 - [SLP] Fixes the bug due to absence of in order uses of scalars which needs to be available

Hans Wennborg via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 1 11:14:26 PST 2017


This caused miscompiles in Chromium (PR32109). I've reverted in r296654.

On Tue, Feb 28, 2017 at 7:51 PM, Mohammad Shahid via llvm-commits
<llvm-commits at lists.llvm.org> wrote:
> Author: ashahid
> Date: Tue Feb 28 21:51:54 2017
> New Revision: 296575
>
> URL: http://llvm.org/viewvc/llvm-project?rev=296575&view=rev
> Log:
> [SLP] Fixes the bug due to absence of in order uses of scalars which needs to be available
> for VectorizeTree() API.This API uses it for proper mask computation to be used in shufflevector IR.
> The fix is to compute the mask for out of order memory accesses while building the vectorizable tree
> instead of actual vectorization of vectorizable tree.
>
> Reviewers: mkuper
>
> Differential Revision: https://reviews.llvm.org/D30159
>
> Change-Id: Id1e287f073fa4959713ba545fa4254db5da8b40d
>
> Added:
>     llvm/trunk/test/Transforms/SLPVectorizer/X86/jumbled-load-bug.ll
> Modified:
>     llvm/trunk/include/llvm/Analysis/LoopAccessAnalysis.h
>     llvm/trunk/lib/Analysis/LoopAccessAnalysis.cpp
>     llvm/trunk/lib/Transforms/Vectorize/SLPVectorizer.cpp
>     llvm/trunk/test/Transforms/SLPVectorizer/X86/jumbled-same.ll


More information about the llvm-commits mailing list