diff --git a/llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp b/llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp index cb0cb6510ecd4..16644a03f089a 100644 --- a/llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp +++ b/llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp @@ -1396,7 +1396,7 @@ bool PreRARematStage::initGCNSchedStage() { }); SmallVector ScoredRemats; - for (const RematReg &Remat : RematRegs) + for (RematReg &Remat : RematRegs) ScoredRemats.emplace_back(&Remat, FreqInfo, DAG); // Rematerialize registers in successive rounds until all RP targets are @@ -2215,8 +2215,7 @@ PreRARematStage::ScoredRemat::FreqInfo::FreqInfo( } } -PreRARematStage::ScoredRemat::ScoredRemat(const RematReg *Remat, - const FreqInfo &Freq, +PreRARematStage::ScoredRemat::ScoredRemat(RematReg *Remat, const FreqInfo &Freq, const GCNScheduleDAGMILive &DAG) : Remat(Remat), NumRegs(getNumRegs(DAG)), FreqDiff(getFreqDiff(Freq)) {} diff --git a/llvm/lib/Target/AMDGPU/GCNSchedStrategy.h b/llvm/lib/Target/AMDGPU/GCNSchedStrategy.h index a5c4c960b1f31..00876601cbc77 100644 --- a/llvm/lib/Target/AMDGPU/GCNSchedStrategy.h +++ b/llvm/lib/Target/AMDGPU/GCNSchedStrategy.h @@ -512,7 +512,7 @@ class PreRARematStage : public GCNSchedStage { /// is not helpful to reduce RP in target regions. struct ScoredRemat { /// The rematerializable register under consideration. - const RematReg *Remat; + RematReg *Remat; /// Execution frequency information required by scoring heuristics. /// Frequencies are scaled down if they are high to avoid overflow/underflow @@ -531,7 +531,7 @@ class PreRARematStage : public GCNSchedStage { /// This only initializes state-independent characteristics of \p Remat, not /// the actual score. - ScoredRemat(const RematReg *Remat, const FreqInfo &Freq, + ScoredRemat(RematReg *Remat, const FreqInfo &Freq, const GCNScheduleDAGMILive &DAG); /// Updates the rematerialization's score w.r.t. the current \p RPTargets. @@ -570,7 +570,7 @@ class PreRARematStage : public GCNSchedStage { private: /// Number of 32-bit registers this rematerialization covers. - const unsigned NumRegs; + unsigned NumRegs; // The three members below are the scoring components, top to bottom from // most important to least important when comparing candidates. @@ -582,7 +582,7 @@ class PreRARematStage : public GCNSchedStage { /// Frequency difference between defining and using regions. Negative values /// indicate we are rematerializing to higher frequency regions; positive /// values indicate the contrary. - const int64_t FreqDiff; + int64_t FreqDiff; /// Expected number of target regions impacted by the rematerialization, /// scaled by the size of the register being rematerialized. unsigned RegionImpact;