SuperVectorization: fix 'isa' assertion
authorAlex Zinenko <zinenko@google.com>
Wed, 26 Dec 2018 20:10:07 +0000 (12:10 -0800)
committerjpienaar <jpienaar@google.com>
Fri, 29 Mar 2019 21:37:20 +0000 (14:37 -0700)
commiteb0f9f37afcd630307eaa9b9e4b2efdab0453d49
treea4e10f813b8f33c4ef3fab1926d19a228acaf3db
parent9403f80dd339c08466155dbd2c363c1bfee9ecd1
SuperVectorization: fix 'isa' assertion

Supervectorization uses null pointers to SSA values as a means of communicating
the failure to vectorize.  In operation vectorization, all operations producing
the values of operation arguments must be vectorized for the given operation to
be vectorized.  The existing check verified if any of the value "def"
statements was vectorized instead, sometimes leading to assertions inside `isa`
called on a null pointer.  Fix this to check that all "def" statements were
vectorized.

PiperOrigin-RevId: 226941552
mlir/lib/Transforms/Vectorize.cpp
mlir/test/Transforms/Vectorize/vectorize_1d.mlir