[PATCH] D77475: GlobalISel: Combine G_UNMERGE_VALUES with G_TRUNC
Matt Arsenault via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sat May 2 13:46:24 PDT 2020
arsenm added a comment.
In D77475#2008333 <https://reviews.llvm.org/D77475#2008333>, @aemerson wrote:
> The description says:
>
> > Try to eliminate an illegal source register type in the artifact combiner to avoid this from happening.
>
> I don't see this happening in this patch.
It eliminates the intermediate illegal vector. In the example in the comment, this is the <4 x s8> vector. It is replaced by doing the unmerge on the original <4 x s32> vector, and inserting scalar G_TRUNCs. Also see my previous question about what "better" really means in the artifact combiner context. Skipping this either or both input operations are already legal blocks this in cases where it still would produce fewer artifacts.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D77475/new/
https://reviews.llvm.org/D77475
More information about the llvm-commits
mailing list