[PATCH] D139339: [InstCombine] Bubble vector.reverse of select operands to their result.

Sander de Smalen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 6 00:49:41 PST 2022


sdesmalen added inline comments.


================
Comment at: llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp:2350
+      if (match(FVal, m_VecReverse(m_Value(Y))) &&
+          (Cond->hasOneUse() || TVal->hasOneUse() || FVal->hasOneUse()))
+        return createSelReverse(C, X, Y);
----------------
what is the reasoning behind //either// of them having a single use?


================
Comment at: llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp:2353
+
+      // select rev(C), rev(X), YSplat --> rev(select C, X, FValSplat)
+      if ((Cond->hasOneUse() || TVal->hasOneUse()) && isSplatValue(FVal))
----------------
FValSplat?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D139339



More information about the llvm-commits mailing list