[GlobalISel][IRTranslator] When translating vector geps, splat the base pointer if...
authorAmara Emerson <aemerson@apple.com>
Fri, 31 Jan 2020 00:25:20 +0000 (16:25 -0800)
committerAmara Emerson <aemerson@apple.com>
Fri, 31 Jan 2020 00:27:27 +0000 (16:27 -0800)
commit84bd8511085891a7c5f413f2d54d3a31b98105aa
tree2ecfcfa91b1d07e396ce6dfd9d2c07955fc30325
parent3b23453b6cbff7366e91c7bb76c3a0c529ec8515
[GlobalISel][IRTranslator] When translating vector geps, splat the base pointer if required.

We can have geps that have a scalar base pointer, and a vector index value, which
means that the base pointer must be splatted into a vector of pointers.

This fixes crashes on arm64 GlobalISel with optimizations enabled.
llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
llvm/test/CodeGen/AArch64/GlobalISel/translate-gep.ll