[PATCH] D109236: [AggressiveInstCombine] Add vector instructions to `TruncInstCombine` DAG

Anton Afanasyev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 3 10:22:19 PDT 2021


anton-afanasyev marked an inline comment as done.
anton-afanasyev added a comment.

In D109236#2982345 <https://reviews.llvm.org/D109236#2982345>, @lebedev.ri wrote:

> Can you add a test with insert into poison / unary shuffle?

Ok, added



================
Comment at: llvm/lib/Transforms/AggressiveInstCombine/TruncInstCombine.cpp:436
+          V1, V2, cast<ShuffleVectorInst>(I)->getShuffleMask());
+      break;
+    }
----------------
RKSimon wrote:
> Are we allowed to create new shuffles inside aggressiveinstcombine? A different type, even with the same mask, means that this might have a very different performance.
Hmm, if that's the case, the only stuff we could do is to remove shuffles processing back. We can check perfomance difference for specific target, but that can't be done before `NewBitWidth` choosing, when it is too late (the DAG is started reducing already). One could change whole algorithm, but that's not the case to do it specially for `shufflevector` support.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D109236



More information about the llvm-commits mailing list