From 9adea01c9fb4838b042273dae7104441ceff1570 Mon Sep 17 00:00:00 2001 From: Sanjay Patel Date: Tue, 26 Jun 2018 16:39:29 +0000 Subject: [InstCombine] simplify code for urem fold; NFCI llvm-svn: 335623 --- llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'llvm/lib/Transforms') diff --git a/llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp b/llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp index 9833bbc2a15..65046f26259 100644 --- a/llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp +++ b/llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp @@ -1303,11 +1303,8 @@ Instruction *InstCombiner::visitURem(BinaryOperator &I) { } // 1 urem X -> zext(X != 1) - if (match(Op0, m_One())) { - Value *Cmp = Builder.CreateICmpNE(Op1, Op0); - Value *Ext = Builder.CreateZExt(Cmp, Ty); - return replaceInstUsesWith(I, Ext); - } + if (match(Op0, m_One())) + return CastInst::CreateZExtOrBitCast(Builder.CreateICmpNE(Op1, Op0), Ty); // X urem C -> X < C ? X : X - C, where C >= signbit. if (match(Op1, m_Negative())) { -- cgit v1.2.3