[CodeGen] Fix getArrayAccessFor crashes as in bug 32534 with -polly-vectorizer=polly.
authorMichael Kruse <llvm-project@meinersbur.de>
Tue, 12 Nov 2019 19:48:07 +0000 (13:48 -0600)
committerMichael Kruse <llvm-project@meinersbur.de>
Tue, 12 Nov 2019 19:58:28 +0000 (13:58 -0600)
commit0aff3174dcc00516fd26c6554266b05a236166bb
treeef2606fb110365f5cbb176e6d75cb33418879219
parent964842861c8acd53b8df8799f7c3800c5528fb72
[CodeGen] Fix getArrayAccessFor crashes as in bug 32534 with -polly-vectorizer=polly.

Root cause is VectorBlockGenerator::copyStmt iterates all instructions
in basic block, however some load instructions may be not unnecessary
thus removed by simplification. As a result, these load instructions
don't have a corresponding array.

Looking at BlockGenerator::copyBB, it only iterates instructions list
of ScopStmt. Given it must be a block type scop in case of
vectorization, I think we should do the same in
VectorBlockGenerator::copyStmt.

Patch by bin.narwal <bin.narwal@gmail.com>

Differential Revision: https://reviews.llvm.org/D70076
polly/lib/CodeGen/BlockGenerators.cpp