Lines Matching defs:LoopVersioningLICM

1 //===- LoopVersioningLICM.cpp - LICM Loop Versioning ----------------------===//
27 // a) Perform LoopVersioningLICM's feasibility check.
62 #include "llvm/Transforms/Scalar/LoopVersioningLICM.h"
100 cl::desc("LoopVersioningLICM's minimum allowed percentage"
108 "LoopVersioningLICM's threshold for maximum allowed loop nest/depth"),
113 struct LoopVersioningLICM {
118 LoopVersioningLICM(AliasAnalysis *AA, ScalarEvolution *SE,
175 /// Check loop structure and confirms it's good for LoopVersioningLICM.
176 bool LoopVersioningLICM::legalLoopStructure() {
226 /// LoopVersioningLICM.
227 bool LoopVersioningLICM::legalLoopMemoryAccesses() {
305 bool LoopVersioningLICM::instructionSafeForVersioning(Instruction *I) {
359 /// LoopVersioningLICM.
360 bool LoopVersioningLICM::legalLoopInstructions() {
441 bool LoopVersioningLICM::isLoopAlreadyVisited() {
442 // Check LoopVersioningLICM metadata into loop
449 /// Checks legality for LoopVersioningLICM by considering following:
453 bool LoopVersioningLICM::isLegalForVersioning() {
459 dbgs() << " Revisiting loop in LoopVersioningLICM not allowed.\n\n");
465 dbgs() << " Loop structure not suitable for LoopVersioningLICM\n\n");
478 << " Loop instructions not suitable for LoopVersioningLICM\n\n");
485 << " Loop memory access not suitable for LoopVersioningLICM\n\n");
509 /// During LoopVersioningLICM legality we ignore loops having must
511 void LoopVersioningLICM::setNoAliasToLoop(Loop *VerLoop) {
541 bool LoopVersioningLICM::run(DominatorTree *DT) {
548 // Check feasiblity of LoopVersioningLICM.
586 if (!LoopVersioningLICM(AA, SE, &ORE, LAIs, LAR.LI, &L).run(DT))