Lines Matching full:latch
556 // outerloop latch. in tightlyNested()
567 LLVM_DEBUG(dbgs() << "Checking instructions in Loop header and Loop latch\n"); in tightlyNested()
569 // and outer loop latch doesn't contain any unsafe instructions. in tightlyNested()
582 // Ensure the inner loop exit block flows to the outer loop latch possibly in tightlyNested()
588 << " does not lead to the outer loop latch.\n";); in tightlyNested()
591 // The inner loop exit block does flow to the outer loop latch and not some in tightlyNested()
780 dbgs() << "Loops where the latch is not the exiting block are not" in currentLimitations()
786 << "Loops where the latch is not the exiting block cannot be" in currentLimitations()
863 // Reduction lcssa phi will have only 1 incoming block that from loop latch. in areInnerLoopExitPHIsSupported()
878 // incoming values do not come from the outer loop latch or if the
879 // outer loop latch has a single predecessor. In that case, the value will
882 // that may not be the case, e.g. because the outer loop latch may be executed
892 // The incoming value is defined in the outer loop latch. Currently we in areOuterLoopExitPHIsSupported()
893 // only support that in case the outer loop latch has a single predecessor. in areOuterLoopExitPHIsSupported()
894 // This guarantees that the outer loop latch is executed if and only if in areOuterLoopExitPHIsSupported()
897 // latch). in areOuterLoopExitPHIsSupported()
899 // if the values are produced outside the loop latch. We would need in areOuterLoopExitPHIsSupported()
910 // the latch of InnerLoop, i.e., when defs of the incoming values are further
912 // after interchange, since the original inner latch will become the new outer
913 // latch which may have predecessor paths that do not include those incoming
915 // TODO: Handle transformation of lcssa phis in the InnerLoop latch in case of
920 // If the original outer latch has only one predecessor, then values defined in areInnerLoopLatchPHIsSupported()
922 // at the new outer latch after interchange. in areInnerLoopLatchPHIsSupported()
926 // The outer latch has more than one predecessors, i.e., the inner in areInnerLoopLatchPHIsSupported()
928 // PHI nodes in the inner latch are lcssa phis where the incoming values in areInnerLoopLatchPHIsSupported()
930 // in the original inner latch. If that is the case then bail out since in areInnerLoopLatchPHIsSupported()
931 // those incoming values may not be available at the new outer latch. in areInnerLoopLatchPHIsSupported()
984 LLVM_DEBUG(dbgs() << "Found unsupported PHI nodes in inner loop latch.\n"); in canInterchangeLoops()
990 "in inner loop latch."; in canInterchangeLoops()
1216 // Inner latch
1218 // Outer latch
1227 // Outer latch
1228 // Inner latch
1261 // Now remove inner loop header and latch from the new inner loop and move in restructureLoops()
1269 // Remove the new outer loop header and latch from the new inner loop. in restructureLoops()
1290 LLVM_DEBUG(dbgs() << "Splitting the inner loop latch\n"); in transform()
1293 LLVM_DEBUG(dbgs() << "Failed to find the point to split loop latch \n"); in transform()
1307 // Create a new latch block for the inner loop. We split at the in transform()
1308 // current latch's terminator and then move the condition and all in transform()
1310 // new latch block. in transform()
1319 // Duplicate instruction and move it the new latch. Update uses that in transform()
1450 // defined either in the header or latch. Those blocks will become header and in moveLCSSAPhis()
1451 // latch of the new outer loop, and the only possible users can PHI nodes in moveLCSSAPhis()
1466 // header and latch. in moveLCSSAPhis()
1500 // If the inner loop latch contains LCSSA PHIs, those come from a child loop in moveLCSSAPhis()
1501 // and we have to move them to the new inner latch. in moveLCSSAPhis()
1507 // in the inner loop latch, which became the exit block of the outer loop, in moveLCSSAPhis()
1535 // For PHIs moved from Inner's exit block, we need to replace Inner's latch in moveLCSSAPhis()
1536 // with the new latch. in moveLCSSAPhis()
1604 // The outer loop header might or might not branch to the outer latch. in adjustLoopBranches()
1649 // For PHIs in the exit block of the outer loop, outer's latch has been in adjustLoopBranches()
1685 // latch. In that case, we need to create LCSSA phis for them, because after in adjustLoopBranches()