[PATCH] D93229: [VectorCombine] allow peeking through GEPs when creating a vector load

Juneyoung Lee via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 15 17:58:27 PST 2020


aqjune added a comment.

In D93229#2454698 <https://reviews.llvm.org/D93229#2454698>, @spatel wrote:

> In D93229#2453538 <https://reviews.llvm.org/D93229#2453538>, @aqjune wrote:
>
>> Yes, we might want to know who's generating insertvalue undef and replace it with insertvalue poison.
>> The shufflevector pattern works, but using poison as a placeholder will remove latent bugs.
>> Maybe it is time to use poison?
>
> If we switch to initialize with poison elements, I think we would have to swap undef with poison in regression tests and pattern matching in instsimplify/instcombine at the same time. Otherwise, we will be testing/folding the wrong patterns?

Yes, I think so. What do you think about having three patches
(1) Poison placeholder patch (2) InstSimpify/InstCombine patch (3) The regression tests update patch.
and landing those consecutively when all of those are accepted? Patch (1) and (2) should still pass `ninja check`. It will show which tests are related to what.
I think I can prepare (2) and (3). The changes in regression tests (3) can be syntactically done with a script.
I tried this and it worked: `sed -i.backup 's/insertelement <\(.*\)> undef,/insertelement <\1> poison,/g' (filename)`
(sorry, I meant insertelement, not insertvalue)


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D93229/new/

https://reviews.llvm.org/D93229



More information about the llvm-commits mailing list