Lines Matching defs:CLI
4143 OpenMPIRBuilder::applyStaticWorkshareLoop(DebugLoc DL, CanonicalLoopInfo *CLI,
4146 assert(CLI->isValid() && "Requires a valid canonical loop");
4147 assert(!isConflictIP(AllocaIP, CLI->getPreheaderIP()) &&
4151 Builder.restoreIP(CLI->getPreheaderIP());
4159 Value *IV = CLI->getIndVar();
4178 Builder.SetInsertPoint(CLI->getPreheader()->getTerminator());
4182 Value *UpperBound = Builder.CreateSub(CLI->getTripCount(), One);
4200 CLI->setTripCount(TripCount);
4206 CLI->mapIndVar([&](Instruction *OldIV) -> Value * {
4207 Builder.SetInsertPoint(CLI->getBody(),
4208 CLI->getBody()->getFirstInsertionPt());
4214 Builder.SetInsertPoint(CLI->getExit(),
4215 CLI->getExit()->getTerminator()->getIterator());
4228 InsertPointTy AfterIP = CLI->getAfterIP();
4229 CLI->invalidate();
4236 CanonicalLoopInfo *CLI,
4240 assert(CLI->isValid() && "Requires a valid canonical loop");
4243 LLVMContext &Ctx = CLI->getFunction()->getContext();
4244 Value *IV = CLI->getIndVar();
4245 Value *OrigTripCount = CLI->getTripCount();
4272 Builder.restoreIP(CLI->getPreheaderIP());
4338 redirectTo(DispatchAfter, CLI->getAfter(), DL);
4339 redirectTo(CLI->getExit(), DispatchLatch, DL);
4343 Builder.restoreIP(CLI->getPreheaderIP());
4347 Builder.SetInsertPoint(CLI->getPreheader()->getTerminator());
4357 CLI->setTripCount(BackcastedChunkTC);
4364 CLI->mapIndVar([&](Instruction *) -> Value * {
4365 Builder.restoreIP(CLI->getBodyIP());
4385 CLI->assertOK();
4469 CanonicalLoopInfo *CLI, Value *Ident,
4474 BasicBlock *Preheader = CLI->getPreheader();
4475 Value *TripCount = CLI->getTripCount();
4481 Preheader->splice(std::prev(Preheader->end()), CLI->getBody(),
4482 CLI->getBody()->begin(), std::prev(CLI->getBody()->end()));
4490 Builder.CreateBr(CLI->getExit());
4496 CleanUpInfo.EntryBB = CLI->getHeader();
4497 CleanUpInfo.ExitBB = CLI->getExit();
4524 CLI->invalidate();
4528 OpenMPIRBuilder::applyWorkshareLoopTarget(DebugLoc DL, CanonicalLoopInfo *CLI,
4536 OI.OuterAllocaBB = CLI->getPreheader();
4537 Function *OuterFn = CLI->getPreheader()->getParent();
4545 OI.EntryBB = CLI->getBody();
4546 OI.ExitBB = CLI->getLatch()->splitBasicBlock(CLI->getLatch()->begin(),
4550 Builder.restoreIP({CLI->getPreheader(), CLI->getPreheader()->begin()});
4554 AllocaInst *NewLoopCnt = Builder.CreateAlloca(CLI->getIndVarType(), 0, "");
4556 Builder.CreateLoad(CLI->getIndVarType(), NewLoopCnt);
4580 /* AllocationBlock */ CLI->getPreheader(),
4594 SmallVector<User *> Users(CLI->getIndVar()->user_begin(),
4595 CLI->getIndVar()->user_end());
4599 Inst->replaceUsesOfWith(CLI->getIndVar(), NewLoopCntLoad);
4614 workshareLoopTargetCallback(this, CLI, Ident, OutlinedFn, ParallelTaskPtr,
4618 return CLI->getAfterIP();
4622 DebugLoc DL, CanonicalLoopInfo *CLI, InsertPointTy AllocaIP,
4628 return applyWorkshareLoopTarget(DL, CLI, AllocaIP, LoopType);
4639 return applyDynamicWorkshareLoop(DL, CLI, AllocaIP, EffectiveScheduleType,
4642 return applyStaticWorkshareLoop(DL, CLI, AllocaIP, NeedsBarrier);
4646 return applyDynamicWorkshareLoop(DL, CLI, AllocaIP, EffectiveScheduleType,
4649 return applyStaticChunkedWorkshareLoop(DL, CLI, AllocaIP, NeedsBarrier,
4667 return applyDynamicWorkshareLoop(DL, CLI, AllocaIP, EffectiveScheduleType,
4723 OpenMPIRBuilder::applyDynamicWorkshareLoop(DebugLoc DL, CanonicalLoopInfo *CLI,
4727 assert(CLI->isValid() && "Requires a valid canonical loop");
4728 assert(!isConflictIP(AllocaIP, CLI->getPreheaderIP()) &&
4744 Value *IV = CLI->getIndVar();
4761 BasicBlock *PreHeader = CLI->getPreheader();
4765 Value *UpperBound = CLI->getTripCount();
4769 BasicBlock *Header = CLI->getHeader();
4770 BasicBlock *Exit = CLI->getExit();
4771 BasicBlock *Cond = CLI->getCond();
4772 BasicBlock *Latch = CLI->getLatch();
4773 InsertPointTy AfterIP = CLI->getAfterIP();
4775 // The CLI will be "broken" in the code below, as the loop is no longer
4850 CLI->invalidate();
5481 /// Heuristically determine the best-performant unroll factor for \p CLI. This
5484 static int32_t computeHeuristicUnrollFactor(CanonicalLoopInfo *CLI) {
5485 Function *F = CLI->getFunction();
5516 Loop *L = LI.getLoopFor(CLI->getHeader());
5592 // TODO: Determine trip count of \p CLI if constant, computeUnrollCount might