[llvm] 8f826fe - Fix reverse-iteration buildbot.

Eli Friedman via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 19 14:21:18 PDT 2022


Author: Eli Friedman
Date: 2022-08-19T14:21:05-07:00
New Revision: 8f826fe7233b97c58365252f78cb0f08288e9e06

URL: https://github.com/llvm/llvm-project/commit/8f826fe7233b97c58365252f78cb0f08288e9e06
DIFF: https://github.com/llvm/llvm-project/commit/8f826fe7233b97c58365252f78cb0f08288e9e06.diff

LOG: Fix reverse-iteration buildbot.

A couple of instances of iterating over maps snuck in while the bot was
down; fix them to use maps with deterministic iteration.

Added: 
    

Modified: 
    llvm/lib/CodeGen/GlobalMerge.cpp
    llvm/lib/ProfileData/RawMemProfReader.cpp
    llvm/test/tools/llvm-profdata/memprof-inline.test

Removed: 
    


################################################################################
diff  --git a/llvm/lib/CodeGen/GlobalMerge.cpp b/llvm/lib/CodeGen/GlobalMerge.cpp
index f5833d3b9086f..d65506d0232f6 100644
--- a/llvm/lib/CodeGen/GlobalMerge.cpp
+++ b/llvm/lib/CodeGen/GlobalMerge.cpp
@@ -62,6 +62,7 @@
 
 #include "llvm/ADT/BitVector.h"
 #include "llvm/ADT/DenseMap.h"
+#include "llvm/ADT/SetVector.h"
 #include "llvm/ADT/SmallPtrSet.h"
 #include "llvm/ADT/SmallVector.h"
 #include "llvm/ADT/Statistic.h"
@@ -181,7 +182,7 @@ namespace {
     void collectUsedGlobalVariables(Module &M, StringRef Name);
 
     /// Keep track of the GlobalVariable that must not be merged away
-    SmallPtrSet<const GlobalVariable *, 16> MustKeepGlobalVariables;
+    SmallSetVector<const GlobalVariable *, 16> MustKeepGlobalVariables;
 
   public:
     static char ID;             // Pass identification, replacement for typeid.

diff  --git a/llvm/lib/ProfileData/RawMemProfReader.cpp b/llvm/lib/ProfileData/RawMemProfReader.cpp
index 2423fd38e9a25..8a30855c79aa6 100644
--- a/llvm/lib/ProfileData/RawMemProfReader.cpp
+++ b/llvm/lib/ProfileData/RawMemProfReader.cpp
@@ -310,7 +310,7 @@ Error RawMemProfReader::mapRawProfileToRecords() {
   // it that is part of some dynamic allocation context. The location is stored
   // as a pointer to a symbolized list of inline frames.
   using LocationPtr = const llvm::SmallVector<FrameId> *;
-  llvm::DenseMap<GlobalValue::GUID, llvm::SetVector<LocationPtr>>
+  llvm::MapVector<GlobalValue::GUID, llvm::SetVector<LocationPtr>>
       PerFunctionCallSites;
 
   // Convert the raw profile callstack data into memprof records. While doing so
@@ -378,7 +378,7 @@ Error RawMemProfReader::mapRawProfileToRecords() {
     // we insert a new entry for callsite data if we need to.
     auto Result = FunctionProfileData.insert({Id, IndexedMemProfRecord()});
     IndexedMemProfRecord &Record = Result.first->second;
-    for (LocationPtr Loc : I->getSecond()) {
+    for (LocationPtr Loc : I->second) {
       Record.CallSites.push_back(*Loc);
     }
   }

diff  --git a/llvm/test/tools/llvm-profdata/memprof-inline.test b/llvm/test/tools/llvm-profdata/memprof-inline.test
index bba6b1ec53064..88c56a97b44d1 100644
--- a/llvm/test/tools/llvm-profdata/memprof-inline.test
+++ b/llvm/test/tools/llvm-profdata/memprof-inline.test
@@ -206,16 +206,6 @@ CHECK-NEXT:        LineOffset: 0
 CHECK-NEXT:        Column: 18
 CHECK-NEXT:        Inline: 0
 CHECK-NEXT:  -
-CHECK-NEXT:    FunctionGUID: 15822663052811949562
-CHECK-NEXT:    CallSites:
-CHECK-NEXT:    -
-CHECK-NEXT:      -
-CHECK-NEXT:        Function: 15822663052811949562
-CHECK-NEXT:        SymbolName: main
-CHECK-NEXT:        LineOffset: 1
-CHECK-NEXT:        Column: 3
-CHECK-NEXT:        Inline: 0
-CHECK-NEXT:  -
 CHECK-NEXT:    FunctionGUID: 16434608426314478903
 CHECK-NEXT:    CallSites:
 CHECK-NEXT:    -
@@ -225,3 +215,13 @@ CHECK-NEXT:        SymbolName: bar
 CHECK-NEXT:        LineOffset: 0
 CHECK-NEXT:        Column: 19
 CHECK-NEXT:        Inline: 0
+CHECK-NEXT:  -
+CHECK-NEXT:    FunctionGUID: 15822663052811949562
+CHECK-NEXT:    CallSites:
+CHECK-NEXT:    -
+CHECK-NEXT:      -
+CHECK-NEXT:        Function: 15822663052811949562
+CHECK-NEXT:        SymbolName: main
+CHECK-NEXT:        LineOffset: 1
+CHECK-NEXT:        Column: 3
+CHECK-NEXT:        Inline: 0


        


More information about the llvm-commits mailing list