[PATCH] D76800: [InstCombine] Fix Incorrect fold of ashr+xor -> lshr w/ vectors

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 25 14:38:48 PDT 2020


RKSimon added reviewers: spatel, RKSimon.
RKSimon added inline comments.


================
Comment at: llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp:3072
     if (match(NotVal, m_AShr(m_Constant(C), m_Value(Y))) &&
-        match(C, m_Negative()))
+        match(C, m_Negative()) &&
+        (!C->getType()->isVectorTy() || !C->containsUndefElement()))
----------------
m_Negative uses cst_pred_ty internally which just continues if it finds an undef in a vector - maybe we don't want that?



Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D76800





More information about the llvm-commits mailing list