Lines Matching defs:CLI
3987 OpenMPIRBuilder::applyStaticWorkshareLoop(DebugLoc DL, CanonicalLoopInfo *CLI,
3990 assert(CLI->isValid() && "Requires a valid canonical loop");
3991 assert(!isConflictIP(AllocaIP, CLI->getPreheaderIP()) &&
3995 Builder.restoreIP(CLI->getPreheaderIP());
4003 Value *IV = CLI->getIndVar();
4022 Builder.SetInsertPoint(CLI->getPreheader()->getTerminator());
4026 Value *UpperBound = Builder.CreateSub(CLI->getTripCount(), One);
4044 CLI->setTripCount(TripCount);
4050 CLI->mapIndVar([&](Instruction *OldIV) -> Value * {
4051 Builder.SetInsertPoint(CLI->getBody(),
4052 CLI->getBody()->getFirstInsertionPt());
4058 Builder.SetInsertPoint(CLI->getExit(),
4059 CLI->getExit()->getTerminator()->getIterator());
4068 InsertPointTy AfterIP = CLI->getAfterIP();
4069 CLI->invalidate();
4075 DebugLoc DL, CanonicalLoopInfo *CLI, InsertPointTy AllocaIP,
4077 assert(CLI->isValid() && "Requires a valid canonical loop");
4080 LLVMContext &Ctx = CLI->getFunction()->getContext();
4081 Value *IV = CLI->getIndVar();
4082 Value *OrigTripCount = CLI->getTripCount();
4109 Builder.restoreIP(CLI->getPreheaderIP());
4168 redirectTo(DispatchAfter, CLI->getAfter(), DL);
4169 redirectTo(CLI->getExit(), DispatchLatch, DL);
4173 Builder.restoreIP(CLI->getPreheaderIP());
4177 Builder.SetInsertPoint(CLI->getPreheader()->getTerminator());
4187 CLI->setTripCount(BackcastedChunkTC);
4194 CLI->mapIndVar([&](Instruction *) -> Value * {
4195 Builder.restoreIP(CLI->getBodyIP());
4211 CLI->assertOK();
4295 CanonicalLoopInfo *CLI, Value *Ident,
4300 BasicBlock *Preheader = CLI->getPreheader();
4301 Value *TripCount = CLI->getTripCount();
4307 Preheader->splice(std::prev(Preheader->end()), CLI->getBody(),
4308 CLI->getBody()->begin(), std::prev(CLI->getBody()->end()));
4315 Builder.CreateBr(CLI->getExit());
4321 CleanUpInfo.EntryBB = CLI->getHeader();
4322 CleanUpInfo.ExitBB = CLI->getExit();
4349 CLI->invalidate();
4353 OpenMPIRBuilder::applyWorkshareLoopTarget(DebugLoc DL, CanonicalLoopInfo *CLI,
4361 OI.OuterAllocaBB = CLI->getPreheader();
4362 Function *OuterFn = CLI->getPreheader()->getParent();
4370 OI.EntryBB = CLI->getBody();
4371 OI.ExitBB = CLI->getLatch()->splitBasicBlock(CLI->getLatch()->begin(),
4375 Builder.restoreIP({CLI->getPreheader(), CLI->getPreheader()->begin()});
4379 AllocaInst *NewLoopCnt = Builder.CreateAlloca(CLI->getIndVarType(), 0, "");
4381 Builder.CreateLoad(CLI->getIndVarType(), NewLoopCnt);
4405 /* AllocationBlock */ CLI->getPreheader(),
4419 SmallVector<User *> Users(CLI->getIndVar()->user_begin(),
4420 CLI->getIndVar()->user_end());
4424 Inst->replaceUsesOfWith(CLI->getIndVar(), NewLoopCntLoad);
4439 workshareLoopTargetCallback(this, CLI, Ident, OutlinedFn, ParallelTaskPtr,
4443 return CLI->getAfterIP();
4447 DebugLoc DL, CanonicalLoopInfo *CLI, InsertPointTy AllocaIP,
4453 return applyWorkshareLoopTarget(DL, CLI, AllocaIP, LoopType);
4464 return applyDynamicWorkshareLoop(DL, CLI, AllocaIP, EffectiveScheduleType,
4467 return applyStaticWorkshareLoop(DL, CLI, AllocaIP, NeedsBarrier);
4471 return applyDynamicWorkshareLoop(DL, CLI, AllocaIP, EffectiveScheduleType,
4474 return applyStaticChunkedWorkshareLoop(DL, CLI, AllocaIP, NeedsBarrier,
4492 return applyDynamicWorkshareLoop(DL, CLI, AllocaIP, EffectiveScheduleType,
4548 DebugLoc DL, CanonicalLoopInfo *CLI, InsertPointTy AllocaIP,
4550 assert(CLI->isValid() && "Requires a valid canonical loop");
4551 assert(!isConflictIP(AllocaIP, CLI->getPreheaderIP()) &&
4567 Value *IV = CLI->getIndVar();
4584 BasicBlock *PreHeader = CLI->getPreheader();
4588 Value *UpperBound = CLI->getTripCount();
4592 BasicBlock *Header = CLI->getHeader();
4593 BasicBlock *Exit = CLI->getExit();
4594 BasicBlock *Cond = CLI->getCond();
4595 BasicBlock *Latch = CLI->getLatch();
4596 InsertPointTy AfterIP = CLI->getAfterIP();
4598 // The CLI will be "broken" in the code below, as the loop is no longer
4670 CLI->invalidate();
5305 /// Heuristically determine the best-performant unroll factor for \p CLI. This
5308 static int32_t computeHeuristicUnrollFactor(CanonicalLoopInfo *CLI) {
5309 Function *F = CLI->getFunction();
5340 Loop *L = LI.getLoopFor(CLI->getHeader());
5416 // TODO: Determine trip count of \p CLI if constant, computeUnrollCount might