mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-01-16 13:08:42 +00:00
Use llvm::reverse to make a bunch of loops use foreach. NFC.
In llvm commit r243581, a reverse range adapter was added which allows us to change code such as for (auto I = Fields.rbegin(), E = Fields.rend(); I != E; ++I) { in to for (const FieldDecl *I : llvm::reverse(Fields)) This commit changes a few of the places in clang which are eligible to use this new adapter. llvm-svn: 243663
This commit is contained in:
parent
7a0c3a92c0
commit
57d3f14502
@ -505,11 +505,10 @@ void TransformActionsImpl::commitClearDiagnostic(ArrayRef<unsigned> IDs,
|
||||
void TransformActionsImpl::addInsertion(SourceLocation loc, StringRef text) {
|
||||
SourceManager &SM = Ctx.getSourceManager();
|
||||
loc = SM.getExpansionLoc(loc);
|
||||
for (std::list<CharRange>::reverse_iterator
|
||||
I = Removals.rbegin(), E = Removals.rend(); I != E; ++I) {
|
||||
if (!SM.isBeforeInTranslationUnit(loc, I->End))
|
||||
for (const CharRange &I : llvm::reverse(Removals)) {
|
||||
if (!SM.isBeforeInTranslationUnit(loc, I.End))
|
||||
break;
|
||||
if (I->Begin.isBeforeInTranslationUnitThan(loc))
|
||||
if (I.Begin.isBeforeInTranslationUnitThan(loc))
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -994,9 +994,8 @@ std::unique_ptr<CFG> CFGBuilder::buildCFG(const Decl *D, Stmt *Statement) {
|
||||
|
||||
// For C++ constructor add initializers to CFG.
|
||||
if (const CXXConstructorDecl *CD = dyn_cast_or_null<CXXConstructorDecl>(D)) {
|
||||
for (CXXConstructorDecl::init_const_reverse_iterator I = CD->init_rbegin(),
|
||||
E = CD->init_rend(); I != E; ++I) {
|
||||
B = addInitializer(*I);
|
||||
for (auto *I : llvm::reverse(CD->inits())) {
|
||||
B = addInitializer(I);
|
||||
if (badCFG)
|
||||
return nullptr;
|
||||
}
|
||||
|
@ -2614,10 +2614,9 @@ static void deactivateArgCleanupsBeforeCall(CodeGenFunction &CGF,
|
||||
ArrayRef<CallArgList::CallArgCleanup> Cleanups =
|
||||
CallArgs.getCleanupsToDeactivate();
|
||||
// Iterate in reverse to increase the likelihood of popping the cleanup.
|
||||
for (ArrayRef<CallArgList::CallArgCleanup>::reverse_iterator
|
||||
I = Cleanups.rbegin(), E = Cleanups.rend(); I != E; ++I) {
|
||||
CGF.DeactivateCleanupBlock(I->Cleanup, I->IsActiveIP);
|
||||
I->IsActiveIP->eraseFromParent();
|
||||
for (const auto &I : llvm::reverse(Cleanups)) {
|
||||
CGF.DeactivateCleanupBlock(I.Cleanup, I.IsActiveIP);
|
||||
I.IsActiveIP->eraseFromParent();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -496,12 +496,12 @@ struct CounterCoverageMappingBuilder
|
||||
|
||||
llvm::SmallSet<SourceLocation, 8> StartLocs;
|
||||
Optional<Counter> ParentCounter;
|
||||
for (auto I = RegionStack.rbegin(), E = RegionStack.rend(); I != E; ++I) {
|
||||
if (!I->hasStartLoc())
|
||||
for (SourceMappingRegion &I : llvm::reverse(RegionStack)) {
|
||||
if (!I.hasStartLoc())
|
||||
continue;
|
||||
SourceLocation Loc = I->getStartLoc();
|
||||
SourceLocation Loc = I.getStartLoc();
|
||||
if (!isNestedIn(Loc, ParentFile)) {
|
||||
ParentCounter = I->getCounter();
|
||||
ParentCounter = I.getCounter();
|
||||
break;
|
||||
}
|
||||
|
||||
@ -510,11 +510,11 @@ struct CounterCoverageMappingBuilder
|
||||
// correct count. We avoid creating redundant regions by stopping once
|
||||
// we've seen this region.
|
||||
if (StartLocs.insert(Loc).second)
|
||||
SourceRegions.emplace_back(I->getCounter(), Loc,
|
||||
SourceRegions.emplace_back(I.getCounter(), Loc,
|
||||
getEndOfFileOrMacro(Loc));
|
||||
Loc = getIncludeOrExpansionLoc(Loc);
|
||||
}
|
||||
I->setStartLoc(getPreciseTokenLocEnd(Loc));
|
||||
I.setStartLoc(getPreciseTokenLocEnd(Loc));
|
||||
}
|
||||
|
||||
if (ParentCounter) {
|
||||
|
@ -1098,8 +1098,7 @@ static void DiagnoseSwitchLabelsFallthrough(Sema &S, AnalysisDeclContext &AC,
|
||||
|
||||
FM.fillReachableBlocks(Cfg);
|
||||
|
||||
for (CFG::reverse_iterator I = Cfg->rbegin(), E = Cfg->rend(); I != E; ++I) {
|
||||
const CFGBlock *B = *I;
|
||||
for (const CFGBlock *B : llvm::reverse(*Cfg)) {
|
||||
const Stmt *Label = B->getLabel();
|
||||
|
||||
if (!Label || !isa<SwitchCase>(Label))
|
||||
|
@ -8570,9 +8570,8 @@ namespace {
|
||||
|
||||
// Convert FieldDecls to their index number.
|
||||
llvm::SmallVector<unsigned, 4> UsedFieldIndex;
|
||||
for (auto I = Fields.rbegin(), E = Fields.rend(); I != E; ++I) {
|
||||
UsedFieldIndex.push_back((*I)->getFieldIndex());
|
||||
}
|
||||
for (const FieldDecl *I : llvm::reverse(Fields))
|
||||
UsedFieldIndex.push_back(I->getFieldIndex());
|
||||
|
||||
// See if a warning is needed by checking the first difference in index
|
||||
// numbers. If field being used has index less than the field being
|
||||
|
@ -1592,16 +1592,15 @@ void ASTReader::ReadDefinedMacros() {
|
||||
// Note that we are loading defined macros.
|
||||
Deserializing Macros(this);
|
||||
|
||||
for (ModuleReverseIterator I = ModuleMgr.rbegin(),
|
||||
E = ModuleMgr.rend(); I != E; ++I) {
|
||||
BitstreamCursor &MacroCursor = (*I)->MacroCursor;
|
||||
for (auto &I : llvm::reverse(ModuleMgr)) {
|
||||
BitstreamCursor &MacroCursor = I->MacroCursor;
|
||||
|
||||
// If there was no preprocessor block, skip this file.
|
||||
if (!MacroCursor.getBitStreamReader())
|
||||
continue;
|
||||
|
||||
BitstreamCursor Cursor = MacroCursor;
|
||||
Cursor.JumpToBit((*I)->MacroStartOffset);
|
||||
Cursor.JumpToBit(I->MacroStartOffset);
|
||||
|
||||
RecordData Record;
|
||||
while (true) {
|
||||
@ -1623,7 +1622,7 @@ void ASTReader::ReadDefinedMacros() {
|
||||
|
||||
case PP_MACRO_OBJECT_LIKE:
|
||||
case PP_MACRO_FUNCTION_LIKE:
|
||||
getLocalIdentifier(**I, Record[0]);
|
||||
getLocalIdentifier(*I, Record[0]);
|
||||
break;
|
||||
|
||||
case PP_TOKEN:
|
||||
|
@ -663,9 +663,7 @@ void ExprEngine::VisitGuardedExpr(const Expr *Ex,
|
||||
bool hasValue = false;
|
||||
SVal V;
|
||||
|
||||
for (CFGBlock::const_reverse_iterator I = SrcBlock->rbegin(),
|
||||
E = SrcBlock->rend(); I != E; ++I) {
|
||||
CFGElement CE = *I;
|
||||
for (CFGElement CE : llvm::reverse(*SrcBlock)) {
|
||||
if (Optional<CFGStmt> CS = CE.getAs<CFGStmt>()) {
|
||||
const Expr *ValEx = cast<Expr>(CS->getStmt());
|
||||
ValEx = ValEx->IgnoreParens();
|
||||
|
@ -2174,10 +2174,8 @@ void EnqueueVisitor::VisitCompoundLiteralExpr(const CompoundLiteralExpr *E) {
|
||||
AddTypeLoc(E->getTypeSourceInfo());
|
||||
}
|
||||
void EnqueueVisitor::VisitCompoundStmt(const CompoundStmt *S) {
|
||||
for (CompoundStmt::const_reverse_body_iterator I = S->body_rbegin(),
|
||||
E = S->body_rend(); I != E; ++I) {
|
||||
AddStmt(*I);
|
||||
}
|
||||
for (auto &I : llvm::reverse(S->body()))
|
||||
AddStmt(I);
|
||||
}
|
||||
void EnqueueVisitor::
|
||||
VisitMSDependentExistsStmt(const MSDependentExistsStmt *S) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user