From 3424447645c0ae09cc97fc59fc0f2bd383a67ed1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Spaits?= Date: Wed, 14 Jan 2026 15:50:04 +0100 Subject: [PATCH] =?UTF-8?q?[InstCombine]=C2=A0Remove=20unnecessary=20type?= =?UTF-8?q?=20equality=20check=20when=20creating=20zext=20or=20trunc=20(NF?= =?UTF-8?q?C)=20(#175947)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This came up during discussions under PR #161101. --- llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp b/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp index 4c70e4a6e0fe..eee3d0f6f3e1 100644 --- a/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp +++ b/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp @@ -3965,8 +3965,7 @@ Instruction *InstCombinerImpl::visitCallInst(CallInst &CI) { Value *V = Builder.CreateBitCast( Vect, Builder.getIntNTy(FTy->getNumElements())); Value *Res = Builder.CreateUnaryIntrinsic(Intrinsic::ctpop, V); - if (Res->getType() != II->getType()) - Res = Builder.CreateZExtOrTrunc(Res, II->getType()); + Res = Builder.CreateZExtOrTrunc(Res, II->getType()); if (Arg != Vect && cast(Arg)->getOpcode() == Instruction::SExt) Res = Builder.CreateNeg(Res); @@ -4041,8 +4040,7 @@ Instruction *InstCombinerImpl::visitCallInst(CallInst &CI) { if (auto *VTy = dyn_cast(Vect->getType())) if (VTy->getElementType() == Builder.getInt1Ty()) { Value *Res = Builder.CreateAndReduce(Vect); - if (Res->getType() != II->getType()) - Res = Builder.CreateZExt(Res, II->getType()); + Res = Builder.CreateZExt(Res, II->getType()); return replaceInstUsesWith(CI, Res); } }