diff --git a/lib/Transforms/Scalar/LoopIdiomRecognize.cpp b/lib/Transforms/Scalar/LoopIdiomRecognize.cpp index b95d764d4d5d..1e3bf915b741 100644 --- a/lib/Transforms/Scalar/LoopIdiomRecognize.cpp +++ b/lib/Transforms/Scalar/LoopIdiomRecognize.cpp @@ -1539,7 +1539,7 @@ static CallInst *createCTLZIntrinsic(IRBuilder<> &IRBuilder, Value *Val, void LoopIdiomRecognize::transformLoopToCountable( BasicBlock *Preheader, Instruction *CntInst, PHINode *CntPhi, Value *InitX, const DebugLoc DL, bool ZeroCheck, bool IsCntPhiUsedOutsideLoop) { - BranchInst *PreheaderBr = dyn_cast(Preheader->getTerminator()); + BranchInst *PreheaderBr = cast(Preheader->getTerminator()); // Step 1: Insert the CTLZ instruction at the end of the preheader block // Count = BitWidth - CTLZ(InitX); @@ -1587,7 +1587,7 @@ void LoopIdiomRecognize::transformLoopToCountable( // ... // Br: loop if (Dec != 0) BasicBlock *Body = *(CurLoop->block_begin()); - auto *LbBr = dyn_cast(Body->getTerminator()); + auto *LbBr = cast(Body->getTerminator()); ICmpInst *LbCond = cast(LbBr->getCondition()); Type *Ty = Count->getType(); @@ -1624,7 +1624,7 @@ void LoopIdiomRecognize::transformLoopToPopcount(BasicBlock *PreCondBB, Instruction *CntInst, PHINode *CntPhi, Value *Var) { BasicBlock *PreHead = CurLoop->getLoopPreheader(); - auto *PreCondBr = dyn_cast(PreCondBB->getTerminator()); + auto *PreCondBr = cast(PreCondBB->getTerminator()); const DebugLoc DL = CntInst->getDebugLoc(); // Assuming before transformation, the loop is following: @@ -1695,7 +1695,7 @@ void LoopIdiomRecognize::transformLoopToPopcount(BasicBlock *PreCondBB, // do { cnt++; x &= x-1; t--) } while (t > 0); BasicBlock *Body = *(CurLoop->block_begin()); { - auto *LbBr = dyn_cast(Body->getTerminator()); + auto *LbBr = cast(Body->getTerminator()); ICmpInst *LbCond = cast(LbBr->getCondition()); Type *Ty = TripCnt->getType();