[PATCH] D88492: [InstCombine] visitTrunc - remove dead trunc(lshr (zext A), C) combine
Simon Pilgrim via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 30 03:09:08 PDT 2020
RKSimon added a comment.
For the record - the tests from rG7a55989dc430 <https://reviews.llvm.org/rG7a55989dc4305e66734bdd84a9f9eefeb9fe64bd> are all being caught by a mixture of canEvaluateTruncated inside visitTrunc and the "lshr (zext iM X to iN), C --> zext (lshr X, C) to iN" fold in visitLShr - the bin diffs can probably be attributed to visitTrunc no longer catching it and having to wait for the inner visitLShr call.
BTW - All of these folds are still very weak on non-uniform vector support - the number of places where we're using m_ConstantInt or m_APInt instead of a more general m_Constant eval is really annoying.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D88492/new/
https://reviews.llvm.org/D88492
More information about the llvm-commits
mailing list