From 694c4191ad5f685ec0d9dc0798be6203757987ca Mon Sep 17 00:00:00 2001 From: Sanjoy Das Date: Fri, 16 Oct 2015 01:00:44 +0000 Subject: [PATCH] [IndVars] Extract out a few local variables; NFC git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250482 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Transforms/Scalar/IndVarSimplify.cpp | 56 ++++++++++++++---------- 1 file changed, 32 insertions(+), 24 deletions(-) diff --git a/lib/Transforms/Scalar/IndVarSimplify.cpp b/lib/Transforms/Scalar/IndVarSimplify.cpp index 98273d3351b..90d73d0978f 100644 --- a/lib/Transforms/Scalar/IndVarSimplify.cpp +++ b/lib/Transforms/Scalar/IndVarSimplify.cpp @@ -957,25 +957,29 @@ Instruction *WidenIV::cloneIVUser(NarrowIVDefUse DU, } Instruction *WidenIV::cloneBitwiseIVUser(NarrowIVDefUse DU) { - DEBUG(dbgs() << "Cloning bitwise IVUser: " << *DU.NarrowUse << "\n"); + Instruction *NarrowUse = DU.NarrowUse; + Instruction *NarrowDef = DU.NarrowDef; + Instruction *WideDef = DU.WideDef; + + DEBUG(dbgs() << "Cloning bitwise IVUser: " << *NarrowUse << "\n"); // Replace NarrowDef operands with WideDef. Otherwise, we don't know anything // about the narrow operand yet so must insert a [sz]ext. It is probably loop // invariant and will be folded or hoisted. If it actually comes from a // widened IV, it should be removed during a future call to widenIVUse. - Value *LHS = (DU.NarrowUse->getOperand(0) == DU.NarrowDef) - ? DU.WideDef - : getExtend(DU.NarrowUse->getOperand(0), WideType, IsSigned, - DU.NarrowUse); - Value *RHS = (DU.NarrowUse->getOperand(1) == DU.NarrowDef) - ? DU.WideDef - : getExtend(DU.NarrowUse->getOperand(1), WideType, IsSigned, - DU.NarrowUse); - - auto *NarrowBO = cast(DU.NarrowUse); + Value *LHS = + (NarrowUse->getOperand(0) == NarrowDef) + ? WideDef + : getExtend(NarrowUse->getOperand(0), WideType, IsSigned, NarrowUse); + Value *RHS = + (NarrowUse->getOperand(1) == NarrowDef) + ? WideDef + : getExtend(NarrowUse->getOperand(1), WideType, IsSigned, NarrowUse); + + auto *NarrowBO = cast(NarrowUse); auto *WideBO = BinaryOperator::Create(NarrowBO->getOpcode(), LHS, RHS, NarrowBO->getName()); - IRBuilder<> Builder(DU.NarrowUse); + IRBuilder<> Builder(NarrowUse); Builder.Insert(WideBO); if (const auto *OBO = dyn_cast(NarrowBO)) { if (OBO->hasNoUnsignedWrap()) @@ -988,25 +992,29 @@ Instruction *WidenIV::cloneBitwiseIVUser(NarrowIVDefUse DU) { Instruction *WidenIV::cloneArithmeticIVUser(NarrowIVDefUse DU, const SCEVAddRecExpr *WideAR) { - DEBUG(dbgs() << "Cloning arithmetic IVUser: " << *DU.NarrowUse << "\n"); + Instruction *NarrowUse = DU.NarrowUse; + Instruction *NarrowDef = DU.NarrowDef; + Instruction *WideDef = DU.WideDef; + + DEBUG(dbgs() << "Cloning arithmetic IVUser: " << *NarrowUse << "\n"); // Replace NarrowDef operands with WideDef. Otherwise, we don't know anything // about the narrow operand yet so must insert a [sz]ext. It is probably loop // invariant and will be folded or hoisted. If it actually comes from a // widened IV, it should be removed during a future call to widenIVUse. - Value *LHS = (DU.NarrowUse->getOperand(0) == DU.NarrowDef) - ? DU.WideDef - : getExtend(DU.NarrowUse->getOperand(0), WideType, IsSigned, - DU.NarrowUse); - Value *RHS = (DU.NarrowUse->getOperand(1) == DU.NarrowDef) - ? DU.WideDef - : getExtend(DU.NarrowUse->getOperand(1), WideType, IsSigned, - DU.NarrowUse); - - auto *NarrowBO = cast(DU.NarrowUse); + Value *LHS = + (NarrowUse->getOperand(0) == NarrowDef) + ? WideDef + : getExtend(NarrowUse->getOperand(0), WideType, IsSigned, NarrowUse); + Value *RHS = + (NarrowUse->getOperand(1) == NarrowDef) + ? WideDef + : getExtend(NarrowUse->getOperand(1), WideType, IsSigned, NarrowUse); + + auto *NarrowBO = cast(NarrowUse); auto *WideBO = BinaryOperator::Create(NarrowBO->getOpcode(), LHS, RHS, NarrowBO->getName()); - IRBuilder<> Builder(DU.NarrowUse); + IRBuilder<> Builder(NarrowUse); Builder.Insert(WideBO); if (const auto *OBO = dyn_cast(NarrowBO)) { if (OBO->hasNoUnsignedWrap()) -- 2.34.1