Lines Matching defs:LoopVersioningLICM

1 //===- LoopVersioningLICM.cpp - LICM Loop Versioning ----------------------===//
27 // a) Perform LoopVersioningLICM's feasibility check.
62 #include "llvm/Transforms/Scalar/LoopVersioningLICM.h"
98 cl::desc("LoopVersioningLICM's minimum allowed percentage "
106 "LoopVersioningLICM's threshold for maximum allowed loop nest/depth"),
111 struct LoopVersioningLICM {
116 LoopVersioningLICM(AliasAnalysis *AA, ScalarEvolution *SE,
173 /// Check loop structure and confirms it's good for LoopVersioningLICM.
174 bool LoopVersioningLICM::legalLoopStructure() {
224 /// LoopVersioningLICM.
225 bool LoopVersioningLICM::legalLoopMemoryAccesses() {
303 bool LoopVersioningLICM::instructionSafeForVersioning(Instruction *I) {
357 /// LoopVersioningLICM.
358 bool LoopVersioningLICM::legalLoopInstructions() {
439 bool LoopVersioningLICM::isLoopAlreadyVisited() {
440 // Check LoopVersioningLICM metadata into loop
447 /// Checks legality for LoopVersioningLICM by considering following:
451 bool LoopVersioningLICM::isLegalForVersioning() {
457 dbgs() << " Revisiting loop in LoopVersioningLICM not allowed.\n\n");
463 dbgs() << " Loop structure not suitable for LoopVersioningLICM\n\n");
476 << " Loop instructions not suitable for LoopVersioningLICM\n\n");
483 << " Loop memory access not suitable for LoopVersioningLICM\n\n");
507 /// During LoopVersioningLICM legality we ignore loops having must
509 void LoopVersioningLICM::setNoAliasToLoop(Loop *VerLoop) {
539 bool LoopVersioningLICM::run(DominatorTree *DT) {
546 // Check feasiblity of LoopVersioningLICM.
584 if (!LoopVersioningLICM(AA, SE, &ORE, LAIs, LAR.LI, &L).run(DT))