[llvm] b977f8d - [InstCombine] reduce code duplication; NFC
Sanjay Patel via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 24 11:18:54 PST 2023
Author: Sanjay Patel
Date: 2023-01-24T14:18:40-05:00
New Revision: b977f8df49021e8a74ca40de61b7ca8029d29f82
URL: https://github.com/llvm/llvm-project/commit/b977f8df49021e8a74ca40de61b7ca8029d29f82
DIFF: https://github.com/llvm/llvm-project/commit/b977f8df49021e8a74ca40de61b7ca8029d29f82.diff
LOG: [InstCombine] reduce code duplication; NFC
Added:
Modified:
llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp b/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
index d16731e8a3fb..44262ebcd1f1 100644
--- a/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
+++ b/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
@@ -1284,7 +1284,7 @@ Instruction *InstCombinerImpl::visitZExt(ZExtInst &Zext) {
Value *A = CSrc->getOperand(0);
unsigned SrcSize = A->getType()->getScalarSizeInBits();
unsigned MidSize = CSrc->getType()->getScalarSizeInBits();
- unsigned DstSize = Zext.getType()->getScalarSizeInBits();
+ unsigned DstSize = DestTy->getScalarSizeInBits();
// If we're actually extending zero bits, then if
// SrcSize < DstSize: zext(a & mask)
// SrcSize == DstSize: a & mask
@@ -1293,7 +1293,7 @@ Instruction *InstCombinerImpl::visitZExt(ZExtInst &Zext) {
APInt AndValue(APInt::getLowBitsSet(SrcSize, MidSize));
Constant *AndConst = ConstantInt::get(A->getType(), AndValue);
Value *And = Builder.CreateAnd(A, AndConst, CSrc->getName() + ".mask");
- return new ZExtInst(And, Zext.getType());
+ return new ZExtInst(And, DestTy);
}
if (SrcSize == DstSize) {
@@ -1302,7 +1302,7 @@ Instruction *InstCombinerImpl::visitZExt(ZExtInst &Zext) {
AndValue));
}
if (SrcSize > DstSize) {
- Value *Trunc = Builder.CreateTrunc(A, Zext.getType());
+ Value *Trunc = Builder.CreateTrunc(A, DestTy);
APInt AndValue(APInt::getLowBitsSet(DstSize, MidSize));
return BinaryOperator::CreateAnd(Trunc,
ConstantInt::get(Trunc->getType(),
@@ -1317,16 +1317,15 @@ Instruction *InstCombinerImpl::visitZExt(ZExtInst &Zext) {
Constant *C;
Value *X;
if (match(Src, m_OneUse(m_And(m_Trunc(m_Value(X)), m_Constant(C)))) &&
- X->getType() == Zext.getType())
- return BinaryOperator::CreateAnd(X,
- ConstantExpr::getZExt(C, Zext.getType()));
+ X->getType() == DestTy)
+ return BinaryOperator::CreateAnd(X, ConstantExpr::getZExt(C, DestTy));
// zext((trunc(X) & C) ^ C) -> ((X & zext(C)) ^ zext(C)).
Value *And;
if (match(Src, m_OneUse(m_Xor(m_Value(And), m_Constant(C)))) &&
match(And, m_OneUse(m_And(m_Trunc(m_Value(X)), m_Specific(C)))) &&
- X->getType() == Zext.getType()) {
- Constant *ZC = ConstantExpr::getZExt(C, Zext.getType());
+ X->getType() == DestTy) {
+ Constant *ZC = ConstantExpr::getZExt(C, DestTy);
return BinaryOperator::CreateXor(Builder.CreateAnd(X, ZC), ZC);
}
More information about the llvm-commits
mailing list