Skip to content

Commit 9c2ca75

Browse files
committed
Apply suggestions and remove setAnalyses
1 parent 32cd5dd commit 9c2ca75

File tree

4 files changed

+13
-29
lines changed

4 files changed

+13
-29
lines changed

llvm/include/llvm/CodeGen/RegAllocPriorityAdvisor.h

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -73,18 +73,15 @@ class RegAllocPriorityAdvisorProvider {
7373
virtual ~RegAllocPriorityAdvisorProvider() = default;
7474

7575
virtual void logRewardIfNeeded(const MachineFunction &MF,
76-
llvm::function_ref<float()> GetReward) {};
76+
function_ref<float()> GetReward) {};
7777

7878
virtual std::unique_ptr<RegAllocPriorityAdvisor>
79-
getAdvisor(const MachineFunction &MF, const RAGreedy &RA) = 0;
80-
81-
void setAnalyses(SlotIndexes *SI) { this->SI = SI; }
79+
getAdvisor(const MachineFunction &MF, const RAGreedy &RA,
80+
SlotIndexes *SI) = 0;
8281

8382
AdvisorMode getAdvisorMode() const { return Mode; }
8483

8584
protected:
86-
SlotIndexes *SI;
87-
8885
private:
8986
const AdvisorMode Mode;
9087
};
@@ -125,7 +122,9 @@ class RegAllocPriorityAdvisorAnalysisLegacy : public ImmutablePass {
125122
static char ID;
126123

127124
/// Get an advisor for the given context (i.e. machine function, etc)
128-
virtual std::unique_ptr<RegAllocPriorityAdvisorProvider> &getProvider() = 0;
125+
std::unique_ptr<RegAllocPriorityAdvisorProvider> &getProvider() {
126+
return Provider;
127+
}
129128
AdvisorMode getAdvisorMode() const { return Mode; }
130129
virtual void logRewardIfNeeded(const MachineFunction &MF,
131130
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
@@ -2754,7 +2754,7 @@ bool RAGreedy::runOnMachineFunction(MachineFunction &mf) {
27542754

27552755
PriorityAdvisor = getAnalysis<RegAllocPriorityAdvisorAnalysisLegacy>()
27562756
.getProvider()
2757-
->getAdvisor(*MF, *this);
2757+
->getAdvisor(*MF, *this, Indexes);
27582758

27592759
VRAI = std::make_unique<VirtRegAuxInfo>(*MF, *LIS, *VRM, *Loops, *MBFI);
27602760
SpillerInstance.reset(createInlineSpiller(*this, *MF, *VRM, *VRAI));

llvm/lib/CodeGen/RegAllocPriorityAdvisor.cpp

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,8 @@ class DefaultPriorityAdvisorProvider final
5454
}
5555

5656
std::unique_ptr<RegAllocPriorityAdvisor>
57-
getAdvisor(const MachineFunction &MF, const RAGreedy &RA) override {
57+
getAdvisor(const MachineFunction &MF, const RAGreedy &RA,
58+
SlotIndexes *SI) override {
5859
assert(SI && "SlotIndexes result must be set");
5960
return std::make_unique<DefaultPriorityAdvisor>(MF, RA, SI);
6061
}
@@ -78,19 +79,13 @@ class DefaultPriorityAdvisorAnalysisLegacy final
7879
RegAllocPriorityAdvisorAnalysisLegacy::getAnalysisUsage(AU);
7980
}
8081

81-
std::unique_ptr<RegAllocPriorityAdvisorProvider> &getProvider() override {
82-
Provider->setAnalyses(&getAnalysis<SlotIndexesWrapperPass>().getSI());
83-
return Provider;
84-
}
85-
8682
bool doInitialization(Module &M) override {
8783
Provider.reset(
8884
new DefaultPriorityAdvisorProvider(NotAsRequested, M.getContext()));
8985
return false;
9086
}
9187

9288
const bool NotAsRequested;
93-
// std::unique_ptr<DefaultPriorityAdvisorProvider> Provider;
9489
};
9590
} // namespace
9691

@@ -114,8 +109,6 @@ RegAllocPriorityAdvisorAnalysis::run(MachineFunction &MF,
114109
MachineFunctionAnalysisManager &MFAM) {
115110
// Lazily initialize the provider.
116111
initializeProvider(MF.getFunction().getContext());
117-
// On each run, update the analysis for the provider.
118-
Provider->setAnalyses(&MFAM.getResult<SlotIndexesAnalysis>(MF));
119112
// The requiring analysis will construct the advisor.
120113
return Result{Provider.get()};
121114
}

0 commit comments

Comments
 (0)