reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
412 bool CanAddPredicate = !TheLoop->getHeader()->getParent()->hasOptSize(); 413 int Stride = getPtrStride(PSE, Ptr, TheLoop, Strides, CanAddPredicate, false); 424 assert(!TheLoop->empty() && "We are not vectorizing an outer loop."); 430 for (BasicBlock *BB : TheLoop->blocks()) { 437 "CFGNotUnderstood", ORE, TheLoop); 451 !TheLoop->isLoopInvariant(Br->getCondition()) && 456 "CFGNotUnderstood", ORE, TheLoop); 466 if (!isUniformLoopNest(TheLoop /*loop nest*/, 467 TheLoop /*context outer loop*/)) { 470 "CFGNotUnderstood", ORE, TheLoop); 481 "UnsupportedPhi", ORE, TheLoop); 537 AllowedExit.insert(Phi->getIncomingValueForBlock(TheLoop->getLoopLatch())); 544 BasicBlock *Header = TheLoop->getHeader(); 549 if (InductionDescriptor::isInductionPHI(&Phi, TheLoop, PSE, ID) && 570 BasicBlock *Header = TheLoop->getHeader(); 578 for (BasicBlock *BB : TheLoop->blocks()) { 588 "CFGNotUnderstood", ORE, TheLoop); 609 "CFGNotUnderstood", ORE, TheLoop, Phi); 614 if (RecurrenceDescriptor::isReductionPHI(Phi, TheLoop, RedDes, DB, AC, 638 if (InductionDescriptor::isInductionPHI(Phi, TheLoop, PSE, ID)) { 645 if (RecurrenceDescriptor::isFirstOrderRecurrence(Phi, TheLoop, 653 if (InductionDescriptor::isInductionPHI(Phi, TheLoop, PSE, ID, true)) { 661 "NonReductionValueUsedOutsideLoop", ORE, TheLoop, Phi); 692 "CantVectorizeLibcall", ORE, TheLoop, CI); 696 "CantVectorizeLibcall", ORE, TheLoop, CI); 708 if (!SE->isLoopInvariant(PSE.getSCEV(CI->getOperand(i)), TheLoop)) { 711 "CantVectorizeIntrinsic", ORE, TheLoop, CI); 724 "CantVectorizeInstructionReturnType", ORE, TheLoop, &I); 734 "CantVectorizeStore", ORE, TheLoop, ST); 750 "CantVectorizeNontemporalStore", ORE, TheLoop, ST); 767 "CantVectorizeNontemporalLoad", ORE, TheLoop, LD); 785 if (hasOutsideLoopUser(TheLoop, &I, AllowedExit)) { 796 "ValueUsedOutsideLoop", ORE, TheLoop, &I); 806 "NoInductionVariable", ORE, TheLoop); 811 "NoIntegerInductionVariable", ORE, TheLoop); 828 LAI = &(*GetLAA)(*TheLoop); 842 "CantVectorizeStoreToLoopInvariantAddress", ORE, TheLoop); 874 return LoopAccessInfo::blockNeedsPredication(BB, TheLoop, DT); 879 const bool IsAnnotatedParallel = TheLoop->isAnnotatedParallel(); 927 ORE, TheLoop); 931 assert(TheLoop->getNumBlocks() > 1 && "Single block loops are vectorizable"); 941 for (BasicBlock *BB : TheLoop->blocks()) { 958 isDereferenceableAndAlignedInLoop(LI, TheLoop, SE, *DT)) 964 BasicBlock *Header = TheLoop->getHeader(); 965 for (BasicBlock *BB : TheLoop->blocks()) { 970 "LoopContainsSwitch", ORE, TheLoop, 981 "NoCFGForSelect", ORE, TheLoop, 989 "NoCFGForSelect", ORE, TheLoop, 1020 "CFGNotUnderstood", ORE, TheLoop); 1031 "CFGNotUnderstood", ORE, TheLoop); 1042 "CFGNotUnderstood", ORE, TheLoop); 1055 "CFGNotUnderstood", ORE, TheLoop); 1099 if (!canVectorizeLoopNestCFG(TheLoop, UseVPlanNativePath)) { 1107 LLVM_DEBUG(dbgs() << "LV: Found a loop: " << TheLoop->getHeader()->getName() 1112 if (!TheLoop->empty()) { 1119 ORE, TheLoop); 1129 assert(TheLoop->empty() && "Inner loop expected."); 1131 unsigned NumBlocks = TheLoop->getNumBlocks(); 1171 "TooManySCEVRunTimeChecks", ORE, TheLoop); 1194 "NoPrimaryInduction", ORE, TheLoop); 1211 if (TheLoop->contains(UI)) 1216 "LiveOutFoldingTailByMasking", ORE, TheLoop, UI); 1226 for (BasicBlock *BB : TheLoop->blocks()) { 1231 "NoCFGForSelect", ORE, TheLoop,