Skip to content

Commit 47c5fa0

Browse files
committed
Apply suggestions and remove setAnalyses
1 parent 4076367 commit 47c5fa0

File tree

4 files changed

+13
-36
lines changed

4 files changed

+13
-36
lines changed

llvm/include/llvm/CodeGen/RegAllocPriorityAdvisor.h

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -85,18 +85,14 @@ class RegAllocPriorityAdvisorProvider {
8585
virtual ~RegAllocPriorityAdvisorProvider() = default;
8686

8787
virtual void logRewardIfNeeded(const MachineFunction &MF,
88-
llvm::function_ref<float()> GetReward) {};
88+
function_ref<float()> GetReward) {};
8989

9090
virtual std::unique_ptr<RegAllocPriorityAdvisor>
91-
getAdvisor(const MachineFunction &MF, const RAGreedy &RA) = 0;
92-
93-
void setAnalyses(SlotIndexes *SI) { this->SI = SI; }
91+
getAdvisor(const MachineFunction &MF, const RAGreedy &RA,
92+
SlotIndexes *SI) = 0;
9493

9594
AdvisorMode getAdvisorMode() const { return Mode; }
9695

97-
protected:
98-
SlotIndexes *SI;
99-
10096
private:
10197
const AdvisorMode Mode;
10298
};
@@ -136,7 +132,7 @@ class RegAllocPriorityAdvisorAnalysisLegacy : public ImmutablePass {
136132
static char ID;
137133

138134
/// Get an advisor for the given context (i.e. machine function, etc)
139-
virtual std::unique_ptr<RegAllocPriorityAdvisorProvider> &getProvider() = 0;
135+
RegAllocPriorityAdvisorProvider &getProvider() { return *Provider; }
140136
AdvisorMode getAdvisorMode() const { return Mode; }
141137
virtual void logRewardIfNeeded(const MachineFunction &MF,
142138
llvm::function_ref<float()> GetReward) {};

llvm/lib/CodeGen/MLRegAllocPriorityAdvisor.cpp

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,8 @@ class ReleaseModePriorityAdvisorProvider final
127127
ReleaseModePriorityAdvisorProvider()
128128
: RegAllocPriorityAdvisorProvider(AdvisorMode::Release) {}
129129
std::unique_ptr<RegAllocPriorityAdvisor>
130-
getAdvisor(const MachineFunction &MF, const RAGreedy &RA) override {
130+
getAdvisor(const MachineFunction &MF, const RAGreedy &RA,
131+
SlotIndexes *SI) override {
131132
if (!Runner) {
132133
if (InteractiveChannelBaseName.empty())
133134
Runner = std::make_unique<ReleaseModeModelRunner<CompiledModelType>>(
@@ -163,11 +164,6 @@ class ReleaseModePriorityAdvisorAnalysisLegacy final
163164
RegAllocPriorityAdvisorAnalysisLegacy::getAnalysisUsage(AU);
164165
}
165166

166-
std::unique_ptr<RegAllocPriorityAdvisorProvider> &getProvider() override {
167-
Provider->setAnalyses(&getAnalysis<SlotIndexesWrapperPass>().getSI());
168-
return Provider;
169-
}
170-
171167
bool doInitialization(Module &M) override {
172168
Provider = std::make_unique<ReleaseModePriorityAdvisorProvider>();
173169
return false;
@@ -262,7 +258,8 @@ class DevelopmentModePriorityAdvisorProvider final
262258
}
263259

264260
std::unique_ptr<RegAllocPriorityAdvisor>
265-
getAdvisor(const MachineFunction &MF, const RAGreedy &RA) override {
261+
getAdvisor(const MachineFunction &MF, const RAGreedy &RA,
262+
SlotIndexes *SI) override {
266263
if (!Runner)
267264
return nullptr;
268265
if (Log) {
@@ -307,11 +304,6 @@ class DevelopmentModePriorityAdvisorAnalysisLegacy final
307304
return false;
308305
;
309306
}
310-
311-
std::unique_ptr<RegAllocPriorityAdvisorProvider> &getProvider() override {
312-
Provider->setAnalyses(&getAnalysis<SlotIndexesWrapperPass>().getSI());
313-
return Provider;
314-
}
315307
};
316308
#endif //#ifdef LLVM_HAVE_TFLITE
317309

llvm/lib/CodeGen/RegAllocGreedy.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2772,7 +2772,7 @@ bool RAGreedy::runOnMachineFunction(MachineFunction &mf) {
27722772

27732773
PriorityAdvisor = getAnalysis<RegAllocPriorityAdvisorAnalysisLegacy>()
27742774
.getProvider()
2775-
->getAdvisor(*MF, *this);
2775+
.getAdvisor(*MF, *this, Indexes);
27762776

27772777
VRAI = std::make_unique<VirtRegAuxInfo>(*MF, *LIS, *VRM, *Loops, *MBFI);
27782778
SpillerInstance.reset(

llvm/lib/CodeGen/RegAllocPriorityAdvisor.cpp

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,8 @@ class DefaultPriorityAdvisorProvider final
5757
}
5858

5959
std::unique_ptr<RegAllocPriorityAdvisor>
60-
getAdvisor(const MachineFunction &MF, const RAGreedy &RA) override {
60+
getAdvisor(const MachineFunction &MF, const RAGreedy &RA,
61+
SlotIndexes *SI) override {
6162
assert(SI && "SlotIndexes result must be set");
6263
return std::make_unique<DefaultPriorityAdvisor>(MF, RA, SI);
6364
}
@@ -72,7 +73,8 @@ class DummyPriorityAdvisorProvider final : public RegAllocPriorityAdvisorProvide
7273
}
7374

7475
std::unique_ptr<RegAllocPriorityAdvisor>
75-
getAdvisor(const MachineFunction &MF, const RAGreedy &RA) override {
76+
getAdvisor(const MachineFunction &MF, const RAGreedy &RA,
77+
SlotIndexes *SI) override {
7678
assert(SI && "SlotIndexes result must be set");
7779
return std::make_unique<DummyPriorityAdvisor>(MF, RA, SI);
7880
}
@@ -96,19 +98,13 @@ class DefaultPriorityAdvisorAnalysisLegacy final
9698
RegAllocPriorityAdvisorAnalysisLegacy::getAnalysisUsage(AU);
9799
}
98100

99-
std::unique_ptr<RegAllocPriorityAdvisorProvider> &getProvider() override {
100-
Provider->setAnalyses(&getAnalysis<SlotIndexesWrapperPass>().getSI());
101-
return Provider;
102-
}
103-
104101
bool doInitialization(Module &M) override {
105102
Provider.reset(
106103
new DefaultPriorityAdvisorProvider(NotAsRequested, M.getContext()));
107104
return false;
108105
}
109106

110107
const bool NotAsRequested;
111-
// std::unique_ptr<DefaultPriorityAdvisorProvider> Provider;
112108
};
113109

114110
class DummyPriorityAdvisorAnalysis final
@@ -129,11 +125,6 @@ class DummyPriorityAdvisorAnalysis final
129125
RegAllocPriorityAdvisorAnalysisLegacy::getAnalysisUsage(AU);
130126
}
131127

132-
std::unique_ptr<RegAllocPriorityAdvisorProvider>&
133-
getProvider() override {
134-
Provider->setAnalyses(&getAnalysis<SlotIndexesWrapperPass>().getSI());
135-
return Provider;
136-
}
137128
bool doInitialization(Module &M) override {
138129
Provider.reset(new DummyPriorityAdvisorProvider());
139130
return false;
@@ -164,8 +155,6 @@ RegAllocPriorityAdvisorAnalysis::run(MachineFunction &MF,
164155
MachineFunctionAnalysisManager &MFAM) {
165156
// Lazily initialize the provider.
166157
initializeProvider(MF.getFunction().getContext());
167-
// On each run, update the analysis for the provider.
168-
Provider->setAnalyses(&MFAM.getResult<SlotIndexesAnalysis>(MF));
169158
// The requiring analysis will construct the advisor.
170159
return Result{Provider.get()};
171160
}

0 commit comments

Comments
 (0)