File tree Expand file tree Collapse file tree 1 file changed +8
-3
lines changed
include/swift/SILOptimizer/Analysis Expand file tree Collapse file tree 1 file changed +8
-3
lines changed Original file line number Diff line number Diff line change @@ -168,6 +168,12 @@ namespace swift {
168
168
// / meant to be overridden by subclasses.
169
169
virtual void verify (AnalysisTy *A) const {}
170
170
171
+ void deleteAllAnalysisProviders () {
172
+ for (auto D : Storage)
173
+ delete D.second ;
174
+ Storage.clear ();
175
+ }
176
+
171
177
public:
172
178
// / Returns an analysis provider for a specific function \p F.
173
179
AnalysisTy *get (SILFunction *F) {
@@ -183,7 +189,7 @@ namespace swift {
183
189
184
190
// / Invalidate all information in this analysis.
185
191
virtual void invalidate () override {
186
- Storage. clear ();
192
+ deleteAllAnalysisProviders ();
187
193
}
188
194
189
195
// / Helper function to remove the analysis data for a function.
@@ -216,8 +222,7 @@ namespace swift {
216
222
217
223
FunctionAnalysisBase () {}
218
224
virtual ~FunctionAnalysisBase () {
219
- for (auto D : Storage)
220
- delete D.second ;
225
+ deleteAllAnalysisProviders ();
221
226
}
222
227
FunctionAnalysisBase (AnalysisKind K) : SILAnalysis(K), Storage() {}
223
228
FunctionAnalysisBase (const FunctionAnalysisBase &) = delete ;
You can’t perform that action at this time.
0 commit comments