diff options
Diffstat (limited to 'bolt/lib/Passes')
| -rw-r--r-- | bolt/lib/Passes/BinaryPasses.cpp | 17 | ||||
| -rw-r--r-- | bolt/lib/Passes/MarkRAStates.cpp | 5 | 
2 files changed, 4 insertions, 18 deletions
| diff --git a/bolt/lib/Passes/BinaryPasses.cpp b/bolt/lib/Passes/BinaryPasses.cpp index e1a1856..1d187de 100644 --- a/bolt/lib/Passes/BinaryPasses.cpp +++ b/bolt/lib/Passes/BinaryPasses.cpp @@ -1508,12 +1508,6 @@ Error PrintProgramStats::runOnFunctions(BinaryContext &BC) {    if (NumAllStaleFunctions) {      const float PctStale =          NumAllStaleFunctions / (float)NumAllProfiledFunctions * 100.0f; -    const float PctStaleFuncsWithEqualBlockCount = -        (float)BC.Stats.NumStaleFuncsWithEqualBlockCount / -        NumAllStaleFunctions * 100.0f; -    const float PctStaleBlocksWithEqualIcount = -        (float)BC.Stats.NumStaleBlocksWithEqualIcount / -        BC.Stats.NumStaleBlocks * 100.0f;      auto printErrorOrWarning = [&]() {        if (PctStale > opts::StaleThreshold)          BC.errs() << "BOLT-ERROR: "; @@ -1536,17 +1530,6 @@ Error PrintProgramStats::runOnFunctions(BinaryContext &BC) {                  << "%) belong to functions with invalid"                     " (possibly stale) profile.\n";      } -    BC.outs() << "BOLT-INFO: " << BC.Stats.NumStaleFuncsWithEqualBlockCount -              << " stale function" -              << (BC.Stats.NumStaleFuncsWithEqualBlockCount == 1 ? "" : "s") -              << format(" (%.1f%% of all stale)", -                        PctStaleFuncsWithEqualBlockCount) -              << " have matching block count.\n"; -    BC.outs() << "BOLT-INFO: " << BC.Stats.NumStaleBlocksWithEqualIcount -              << " stale block" -              << (BC.Stats.NumStaleBlocksWithEqualIcount == 1 ? "" : "s") -              << format(" (%.1f%% of all stale)", PctStaleBlocksWithEqualIcount) -              << " have matching icount.\n";      if (PctStale > opts::StaleThreshold) {        return createFatalBOLTError(            Twine("BOLT-ERROR: stale functions exceed specified threshold of ") + diff --git a/bolt/lib/Passes/MarkRAStates.cpp b/bolt/lib/Passes/MarkRAStates.cpp index af6a5ca7..b262d66 100644 --- a/bolt/lib/Passes/MarkRAStates.cpp +++ b/bolt/lib/Passes/MarkRAStates.cpp @@ -43,10 +43,11 @@ bool MarkRAStates::runOnFunction(BinaryFunction &BF) {          // Not all functions have .cfi_negate_ra_state in them. But if one does,          // we expect psign/pauth instructions to have the hasNegateRAState          // annotation. -        BF.setIgnored();          BC.outs() << "BOLT-INFO: inconsistent RAStates in function "                    << BF.getPrintName()                    << ": ptr sign/auth inst without .cfi_negate_ra_state\n"; +        std::lock_guard<std::mutex> Lock(IgnoreMutex); +        BF.setIgnored();          return false;        }      } @@ -67,6 +68,7 @@ bool MarkRAStates::runOnFunction(BinaryFunction &BF) {            BC.outs() << "BOLT-INFO: inconsistent RAStates in function "                      << BF.getPrintName()                      << ": ptr signing inst encountered in Signed RA state\n"; +          std::lock_guard<std::mutex> Lock(IgnoreMutex);            BF.setIgnored();            return false;          } @@ -80,6 +82,7 @@ bool MarkRAStates::runOnFunction(BinaryFunction &BF) {                      << BF.getPrintName()                      << ": ptr authenticating inst encountered in Unsigned RA "                         "state\n"; +          std::lock_guard<std::mutex> Lock(IgnoreMutex);            BF.setIgnored();            return false;          } | 
