[PATCH] D93229: [VectorCombine] allow peeking through GEPs when creating a vector load
Sanjay Patel via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Dec 17 11:00:02 PST 2020
spatel added a comment.
In D93229#2459265 <https://reviews.llvm.org/D93229#2459265>, @aqjune wrote:
> In D93229#2457696 <https://reviews.llvm.org/D93229#2457696>, @spatel wrote:
>
>> We can use an alternate plan to make incremental progress, but it will cause redundancy while we transition:
>>
>> 1. Replicate all of the regression tests with the poison constant instead of undef. If we add some unique TODO text marker on all of those new tests, we can then grep to make sure everything that we expect to get updated is actually updated in later steps.
>> 2. Update instcombine/simplify/vectorizer folds to match poison patterns (create a `m_UndefOrPoison()` pattern matcher?)
>
> m_Undef already matches poison because PoisonValue is a subclass of UndefValue :)
>
>> 3. Run Alive2 through all of the updated regression tests to verify.
>> 4. Update codegen to deal with poison constant?
>> 5. Update folds from step 2 to create poison rather than undef (if that's what they were doing)?
>> 6. Change IRBuilder or other instruction creators to create poison from the start.
>
> I think we can split the goal and first work on replacing the placeholder value that is used by `insertelement` only.
> In this case, actually InstSimplify/InstCombine change isn't necessary as well. It can be done only when suboptimal assembly is being generated.
> What do you think?
Ok - can you create that patch? (We should move this conversation to llvm-dev or another review to reduce confusion.)
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D93229/new/
https://reviews.llvm.org/D93229
More information about the llvm-commits
mailing list