[PATCH] D108355: [AggressiveInstCombine] Add arithmetic shift right instr to `TruncInstCombine` DAG
Roman Lebedev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Aug 19 07:56:36 PDT 2021
lebedev.ri added inline comments.
================
Comment at: llvm/lib/Transforms/AggressiveInstCombine/TruncInstCombine.cpp:299-307
+ if (I->getOpcode() == Instruction::AShr ||
+ I->getOpcode() == Instruction::LShr) {
KnownBits KnownLHS = computeKnownBits(I->getOperand(0), DL);
MinBitWidth =
- std::max(MinBitWidth, KnownLHS.getMaxValue().getActiveBits());
+ std::max(MinBitWidth, OrigBitWidth - KnownLHS.countMinSignBits() +
+ KnownLHS.isNegative());
if (MinBitWidth >= OrigBitWidth)
----------------
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D108355/new/
https://reviews.llvm.org/D108355
More information about the llvm-commits
mailing list