[llvm] 2f5ec13 - [Transforms] Migrate to a new version of getValueProfDataFromInst (#95442)

via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 14 09:35:35 PDT 2024


Author: Kazu Hirata
Date: 2024-06-14T09:35:32-07:00
New Revision: 2f5ec13761fa672cb39ff147d876c2604c08bcae

URL: https://github.com/llvm/llvm-project/commit/2f5ec13761fa672cb39ff147d876c2604c08bcae
DIFF: https://github.com/llvm/llvm-project/commit/2f5ec13761fa672cb39ff147d876c2604c08bcae.diff

LOG: [Transforms] Migrate to a new version of getValueProfDataFromInst (#95442)

Note that the version of getValueProfDataFromInst that returns bool
has been "deprecated" since:

  commit 1e15371dd8843dfc52b9435afaa133997c1773d8
  Author: Mingming Liu <mingmingl at google.com>
  Date:   Mon Apr 1 15:14:49 2024 -0700

---------

Co-authored-by: Mingming Liu <minglotus6 at gmail.com>

Added: 
    

Modified: 
    llvm/lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp b/llvm/lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp
index fa93f4bd63ce6..ec19942c1d5f4 100644
--- a/llvm/lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp
+++ b/llvm/lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp
@@ -177,10 +177,7 @@ class MemOPSizeOpt : public InstVisitor<MemOPSizeOpt> {
   MemOPSizeOpt(Function &Func, BlockFrequencyInfo &BFI,
                OptimizationRemarkEmitter &ORE, DominatorTree *DT,
                TargetLibraryInfo &TLI)
-      : Func(Func), BFI(BFI), ORE(ORE), DT(DT), TLI(TLI), Changed(false) {
-    ValueDataArray =
-        std::make_unique<InstrProfValueData[]>(INSTR_PROF_NUM_BUCKETS);
-  }
+      : Func(Func), BFI(BFI), ORE(ORE), DT(DT), TLI(TLI), Changed(false) {}
   bool isChanged() const { return Changed; }
   void perform() {
     WorkList.clear();
@@ -222,8 +219,6 @@ class MemOPSizeOpt : public InstVisitor<MemOPSizeOpt> {
   TargetLibraryInfo &TLI;
   bool Changed;
   std::vector<MemOp> WorkList;
-  // The space to read the profile annotation.
-  std::unique_ptr<InstrProfValueData[]> ValueDataArray;
   bool perform(MemOp MO);
 };
 
@@ -252,10 +247,12 @@ bool MemOPSizeOpt::perform(MemOp MO) {
   if (!MemOPOptMemcmpBcmp && (MO.isMemcmp(TLI) || MO.isBcmp(TLI)))
     return false;
 
-  uint32_t NumVals, MaxNumVals = INSTR_PROF_NUM_BUCKETS;
+  uint32_t NumVals = INSTR_PROF_NUM_BUCKETS;
+  uint32_t MaxNumVals = INSTR_PROF_NUM_BUCKETS;
   uint64_t TotalCount;
-  if (!getValueProfDataFromInst(*MO.I, IPVK_MemOPSize, MaxNumVals,
-                                ValueDataArray.get(), NumVals, TotalCount))
+  auto ValueDataArray = getValueProfDataFromInst(
+      *MO.I, IPVK_MemOPSize, MaxNumVals, NumVals, TotalCount);
+  if (!ValueDataArray)
     return false;
 
   uint64_t ActualCount = TotalCount;


        


More information about the llvm-commits mailing list