@@ -122,20 +122,20 @@ void RegAllocEvictionAdvisorAnalysis::initializeProvider(
122122 case RegAllocEvictionAdvisorAnalysisLegacy::AdvisorMode::Default:
123123 Provider.reset (
124124 new DefaultEvictionAdvisorProvider (/* NotAsRequested=*/ false , Ctx));
125- break ;
125+ return ;
126126 case RegAllocEvictionAdvisorAnalysisLegacy::AdvisorMode::Development:
127127#if defined(LLVM_HAVE_TFLITE)
128128 Provider.reset (createDevelopmentModeAdvisorProvider (Ctx));
129+ #else
130+ Provider.reset (
131+ new DefaultEvictionAdvisorProvider (/* NotAsRequested=*/ true , Ctx));
129132#endif
130- break ;
133+ assert (Provider && " EvictionAdvisorProvider cannot be null" );
134+ return ;
131135 case RegAllocEvictionAdvisorAnalysisLegacy::AdvisorMode::Release:
132136 Provider.reset (createReleaseModeAdvisorProvider (Ctx));
133- break ;
137+ return ;
134138 }
135-
136- if (!Provider)
137- Provider.reset (
138- new DefaultEvictionAdvisorProvider (/* NotAsRequested=*/ true , Ctx));
139139}
140140
141141RegAllocEvictionAdvisorAnalysis::Result
@@ -151,20 +151,21 @@ Pass *llvm::callDefaultCtor<RegAllocEvictionAdvisorAnalysisLegacy>() {
151151 Pass *Ret = nullptr ;
152152 switch (Mode) {
153153 case RegAllocEvictionAdvisorAnalysisLegacy::AdvisorMode::Default:
154- Ret = new DefaultEvictionAdvisorAnalysisLegacy (/* NotAsRequested*/ false );
154+ return new DefaultEvictionAdvisorAnalysisLegacy (/* NotAsRequested*/ false );
155+ case RegAllocEvictionAdvisorAnalysisLegacy::AdvisorMode::Release:
156+ Ret = createReleaseModeAdvisorAnalysisLegacy ();
155157 break ;
156158 case RegAllocEvictionAdvisorAnalysisLegacy::AdvisorMode::Development:
157159#if defined(LLVM_HAVE_TFLITE)
158160 Ret = createDevelopmentModeAdvisorAnalysisLegacy ();
159161#endif
160162 break ;
161- case RegAllocEvictionAdvisorAnalysisLegacy::AdvisorMode::Release:
162- Ret = createReleaseModeAdvisorAnalysisLegacy ();
163- break ;
164163 }
165- if (Ret)
166- return Ret;
167- return new DefaultEvictionAdvisorAnalysisLegacy (/* NotAsRequested*/ true );
164+
165+ // release or development mode advisor may not be supported
166+ if (!Ret)
167+ Ret = new DefaultEvictionAdvisorAnalysisLegacy (/* NotAsRequested*/ true );
168+ return Ret;
168169}
169170
170171StringRef RegAllocEvictionAdvisorAnalysisLegacy::getPassName () const {
0 commit comments