Skip to content

Commit 72c3cf8

Browse files
committed
AS, remove initializeMLProvider()
1 parent d8fd13d commit 72c3cf8

File tree

3 files changed

+30
-21
lines changed

3 files changed

+30
-21
lines changed

llvm/include/llvm/CodeGen/RegAllocPriorityAdvisor.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,12 @@ createReleaseModePriorityAdvisorAnalysis();
161161
RegAllocPriorityAdvisorAnalysisLegacy *
162162
createDevelopmentModePriorityAdvisorAnalysis();
163163

164+
LLVM_ATTRIBUTE_RETURNS_NONNULL RegAllocPriorityAdvisorProvider *
165+
createReleaseModePriorityAdvisorProvider();
166+
167+
LLVM_ATTRIBUTE_RETURNS_NONNULL RegAllocPriorityAdvisorProvider *
168+
createDevelopmentModePriorityAdvisorProvider(LLVMContext &Ctx);
169+
164170
} // namespace llvm
165171

166172
#endif // LLVM_CODEGEN_REGALLOCPRIORITYADVISOR_H

llvm/lib/CodeGen/MLRegAllocPriorityAdvisor.cpp

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -388,22 +388,14 @@ DevelopmentModePriorityAdvisor::getPriority(const LiveInterval &LI) const {
388388
return static_cast<unsigned>(Prio);
389389
}
390390

391+
RegAllocPriorityAdvisorProvider *
392+
llvm::createDevelopmentModePriorityAdvisorProvider(LLVMContext &Ctx) {
393+
return new DevelopmentModePriorityAdvisorProvider(Ctx);
394+
}
395+
391396
#endif // #ifdef LLVM_HAVE_TFLITE
392397

393-
void RegAllocPriorityAdvisorAnalysis::initializeMLProvider(
394-
RegAllocPriorityAdvisorProvider::AdvisorMode Mode, LLVMContext &Ctx) {
395-
if (Provider)
396-
return;
397-
switch (Mode) {
398-
case RegAllocPriorityAdvisorProvider::AdvisorMode::Development:
399-
#if defined(LLVM_HAVE_TFLITE)
400-
Provider.reset(new DevelopmentModePriorityAdvisorProvider(Ctx));
401-
#endif
402-
break;
403-
case RegAllocPriorityAdvisorProvider::AdvisorMode::Release:
404-
Provider.reset(new ReleaseModePriorityAdvisorProvider());
405-
break;
406-
default:
407-
break;
408-
}
398+
RegAllocPriorityAdvisorProvider *
399+
llvm::createReleaseModePriorityAdvisorProvider() {
400+
return new ReleaseModePriorityAdvisorProvider();
409401
}

llvm/lib/CodeGen/RegAllocPriorityAdvisor.cpp

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -136,16 +136,27 @@ class DummyPriorityAdvisorAnalysis final
136136
void RegAllocPriorityAdvisorAnalysis::initializeProvider(LLVMContext &Ctx) {
137137
if (Provider)
138138
return;
139-
if (Mode == RegAllocPriorityAdvisorProvider::AdvisorMode::Dummy)
139+
switch (Mode) {
140+
case RegAllocPriorityAdvisorProvider::AdvisorMode::Dummy:
140141
Provider.reset(new DummyPriorityAdvisorProvider());
141-
else if (Mode == RegAllocPriorityAdvisorProvider::AdvisorMode::Default)
142+
return;
143+
case RegAllocPriorityAdvisorProvider::AdvisorMode::Default:
142144
Provider.reset(
143145
new DefaultPriorityAdvisorProvider(/*NotAsRequested=*/false, Ctx));
144-
else
145-
initializeMLProvider(Mode, Ctx);
146-
if (!Provider)
146+
return;
147+
case RegAllocPriorityAdvisorProvider::AdvisorMode::Development:
148+
#if defined(LLVM_HAVE_TFLITE)
149+
Provider.reset(createDevelopmentModePriorityAdvisorProvider(Ctx));
150+
#else
147151
Provider.reset(
148152
new DefaultPriorityAdvisorProvider(/*NotAsRequested=*/true, Ctx));
153+
#endif
154+
assert(Provider && "PriorityAdvisorProvider cannot be null");
155+
return;
156+
case RegAllocPriorityAdvisorProvider::AdvisorMode::Release:
157+
Provider.reset(createReleaseModePriorityAdvisorProvider());
158+
return;
159+
}
149160
}
150161

151162
AnalysisKey RegAllocPriorityAdvisorAnalysis::Key;

0 commit comments

Comments
 (0)