================ @@ -53,19 +52,8 @@ static int blockIndexInPredecessor(const CFGBlock &Pred, return BlockPos - Pred.succ_begin(); } -static bool isLoopHead(const CFGBlock &B) { - if (const auto *T = B.getTerminatorStmt()) - switch (T->getStmtClass()) { - case Stmt::WhileStmtClass: - case Stmt::DoStmtClass: - case Stmt::ForStmtClass: - case Stmt::CXXForRangeStmtClass: - return true; - default: - return false; - } - - return false; +static bool isBackedgeNode(const CFGBlock &B) { ---------------- martinboehme wrote:
Yes, but * It still requires work (not everyone has an IDE with great cross-linking, so this could be multiple clicks), and * * We're introducing a new term here ("backedge node"), and it's not clear without an explanation whether a) we intend for this to be a synonym for "has loop target" (but then why aren't we reusing that term -- is it because we think "backedge node" is clearer?), or b) `getLoopTarget() != nullptr` happens to be the right implementation today, but we think it might change in the future, so we're wrapping this check in a function? https://github.com/llvm/llvm-project/pull/68923 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits