[Analysis] Use range-based for loops (NFC) (#146466)

This commit is contained in:
Kazu Hirata 2025-07-01 19:38:28 -07:00 committed by GitHub
parent 2599a9aeb5
commit eb07f0d4a9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 16 additions and 24 deletions

View File

@ -1394,10 +1394,9 @@ public:
//===--------------------------------------------------------------------===//
template <typename Callback> void VisitBlockStmts(Callback &O) const {
for (const_iterator I = begin(), E = end(); I != E; ++I)
for (CFGBlock::const_iterator BI = (*I)->begin(), BE = (*I)->end();
BI != BE; ++BI) {
if (std::optional<CFGStmt> stmt = BI->getAs<CFGStmt>())
for (CFGBlock *BB : *this)
for (const CFGElement &Elem : *BB) {
if (std::optional<CFGStmt> stmt = Elem.getAs<CFGStmt>())
O(const_cast<Stmt *>(stmt->getStmt()));
}
}

View File

@ -1753,10 +1753,9 @@ std::unique_ptr<CFG> CFGBuilder::buildCFG(const Decl *D, Stmt *Statement) {
// Add successors to the Indirect Goto Dispatch block (if we have one).
if (CFGBlock *B = cfg->getIndirectGotoBlock())
for (LabelSetTy::iterator I = AddressTakenLabels.begin(),
E = AddressTakenLabels.end(); I != E; ++I ) {
for (LabelDecl *LD : AddressTakenLabels) {
// Lookup the target block.
LabelMapTy::iterator LI = LabelMap.find(*I);
LabelMapTy::iterator LI = LabelMap.find(LD);
// If there is no target block that contains label, then we are looking
// at an incomplete AST. Handle this by not registering a successor.

View File

@ -83,8 +83,8 @@ CFGStmtMap *CFGStmtMap::Build(CFG *C, ParentMap *PM) {
// Walk all blocks, accumulating the block-level expressions, labels,
// and terminators.
for (CFG::iterator I = C->begin(), E = C->end(); I != E; ++I)
Accumulate(*SM, *I);
for (CFGBlock *BB : *C)
Accumulate(*SM, BB);
return new CFGStmtMap(PM, SM);
}

View File

@ -223,10 +223,7 @@ void CallGraph::print(raw_ostream &OS) const {
// We are going to print the graph in reverse post order, partially, to make
// sure the output is deterministic.
llvm::ReversePostOrderTraversal<const CallGraph *> RPOT(this);
for (llvm::ReversePostOrderTraversal<const CallGraph *>::rpo_iterator
I = RPOT.begin(), E = RPOT.end(); I != E; ++I) {
const CallGraphNode *N = *I;
for (const CallGraphNode *N : RPOT) {
OS << " Function: ";
if (N == Root)
OS << "< root >";

View File

@ -546,8 +546,8 @@ LiveVariablesImpl::runOnBlock(const CFGBlock *block,
void LiveVariables::runOnAllBlocks(LiveVariables::Observer &obs) {
const CFG *cfg = getImpl(impl).analysisContext.getCFG();
for (CFG::const_iterator it = cfg->begin(), ei = cfg->end(); it != ei; ++it)
getImpl(impl).runOnBlock(*it, getImpl(impl).blocksEndToLiveness[*it], &obs);
for (CFGBlock *B : *cfg)
getImpl(impl).runOnBlock(B, getImpl(impl).blocksEndToLiveness[B], &obs);
}
LiveVariables::LiveVariables(void *im) : impl(im) {}
@ -618,10 +618,8 @@ void LiveVariables::dumpBlockLiveness(const SourceManager &M) {
void LiveVariablesImpl::dumpBlockLiveness(const SourceManager &M) {
std::vector<const CFGBlock *> vec;
for (llvm::DenseMap<const CFGBlock *, LiveVariables::LivenessValues>::iterator
it = blocksEndToLiveness.begin(), ei = blocksEndToLiveness.end();
it != ei; ++it) {
vec.push_back(it->first);
for (const auto &KV : blocksEndToLiveness) {
vec.push_back(KV.first);
}
llvm::sort(vec, [](const CFGBlock *A, const CFGBlock *B) {
return A->getBlockID() < B->getBlockID();

View File

@ -1146,9 +1146,9 @@ void PathDiagnostic::FullProfile(llvm::FoldingSetNodeID &ID) const {
LLVM_DUMP_METHOD void PathPieces::dump() const {
unsigned index = 0;
for (PathPieces::const_iterator I = begin(), E = end(); I != E; ++I) {
for (const PathDiagnosticPieceRef &Piece : *this) {
llvm::errs() << "[" << index++ << "] ";
(*I)->dump();
Piece->dump();
llvm::errs() << "\n";
}
}

View File

@ -460,9 +460,8 @@ static bool isInCoroutineStmt(const Stmt *DeadStmt, const CFGBlock *Block) {
const Stmt *CoroStmt = nullptr;
// Find the first coroutine statement after the DeadStmt in the block.
bool AfterDeadStmt = false;
for (CFGBlock::const_iterator I = Block->begin(), E = Block->end(); I != E;
++I)
if (std::optional<CFGStmt> CS = I->getAs<CFGStmt>()) {
for (const CFGElement &Elem : *Block)
if (std::optional<CFGStmt> CS = Elem.getAs<CFGStmt>()) {
const Stmt *S = CS->getStmt();
if (S == DeadStmt)
AfterDeadStmt = true;