forked from OSchip/llvm-project
parent
f9c59b7122
commit
362cc7b0fd
|
@ -179,9 +179,9 @@ bool Loop::isLCSSAForm(DominatorTree &DT) const {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Loop::isRecursivelyLCSSAForm(DominatorTree &DT, const LoopInfo &LI) const {
|
bool Loop::isRecursivelyLCSSAForm(DominatorTree &DT, const LoopInfo &LI) const {
|
||||||
// For each block we check that it doesn't have any uses outside of it's
|
// For each block we check that it doesn't have any uses outside of its
|
||||||
// innermost loop. This process will transitivelly guarntee that current loop
|
// innermost loop. This process will transitively guarantee that the current
|
||||||
// and all of the nested loops are in the LCSSA form.
|
// loop and all of the nested loops are in LCSSA form.
|
||||||
return all_of(this->blocks(), [&](const BasicBlock *BB) {
|
return all_of(this->blocks(), [&](const BasicBlock *BB) {
|
||||||
return isBlockInLCSSAForm(*LI.getLoopFor(BB), *BB, DT);
|
return isBlockInLCSSAForm(*LI.getLoopFor(BB), *BB, DT);
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue