diff --git a/bolt/lib/Passes/Instrumentation.cpp b/bolt/lib/Passes/Instrumentation.cpp index ebb3925749b4d..76766b05b9176 100644 --- a/bolt/lib/Passes/Instrumentation.cpp +++ b/bolt/lib/Passes/Instrumentation.cpp @@ -109,9 +109,8 @@ static bool hasAArch64ExclusiveMemop( BinaryBasicBlock *BB = BBQueue.front().first; bool IsLoad = BBQueue.front().second; BBQueue.pop(); - if (Visited.find(BB) != Visited.end()) + if (!Visited.insert(BB).second) continue; - Visited.insert(BB); for (const MCInst &Inst : *BB) { // Two loads one after another - skip whole function @@ -126,8 +125,7 @@ static bool hasAArch64ExclusiveMemop( if (BC.MIB->isAArch64ExclusiveLoad(Inst)) IsLoad = true; - if (IsLoad && BBToSkip.find(BB) == BBToSkip.end()) { - BBToSkip.insert(BB); + if (IsLoad && BBToSkip.insert(BB).second) { if (opts::Verbosity >= 2) { outs() << "BOLT-INSTRUMENTER: skip BB " << BB->getName() << " due to exclusive instruction in function "