@@ -323,7 +323,7 @@ enum class ProcessKind {
323
323
TypeExpansionAnalysis *TE;
324
324
325
325
// / The allocator we are using.
326
- llvm::BumpPtrAllocator &BPA;
326
+ llvm::SpecificBumpPtrAllocator<BlockState> &BPA;
327
327
328
328
// / The epilogue release matcher we are using.
329
329
ConsumedArgToEpilogueReleaseMatcher& ERM;
@@ -429,7 +429,7 @@ enum class ProcessKind {
429
429
// / Constructor.
430
430
DSEContext (SILFunction *F, SILModule *M, SILPassManager *PM,
431
431
AliasAnalysis *AA, TypeExpansionAnalysis *TE,
432
- llvm::BumpPtrAllocator &BPA,
432
+ llvm::SpecificBumpPtrAllocator<BlockState> &BPA,
433
433
ConsumedArgToEpilogueReleaseMatcher &ERM)
434
434
: Mod(M), F(F), PM(PM), AA(AA), TE(TE), BPA(BPA), ERM(ERM) {}
435
435
@@ -1154,7 +1154,7 @@ bool DSEContext::run() {
1154
1154
// Initialize the BBToLocState mapping.
1155
1155
unsigned LocationNum = this ->getLocationVault ().size ();
1156
1156
for (auto &B : *F) {
1157
- auto *State = new (BPA) BlockState (&B, LocationNum, Optimistic);
1157
+ auto *State = new (BPA. Allocate () ) BlockState (&B, LocationNum, Optimistic);
1158
1158
BBToLocState[&B] = State;
1159
1159
State->initStoreSetAtEndOfBlock (*this );
1160
1160
}
@@ -1234,7 +1234,7 @@ class DeadStoreElimination : public SILFunctionTransform {
1234
1234
auto *RCFI = PM->getAnalysis <RCIdentityAnalysis>()->get (F);
1235
1235
1236
1236
// The allocator we are using.
1237
- llvm::BumpPtrAllocator BPA;
1237
+ llvm::SpecificBumpPtrAllocator<BlockState> BPA;
1238
1238
1239
1239
// The epilogue release matcher we are using.
1240
1240
ConsumedArgToEpilogueReleaseMatcher ERM (RCFI, F);
0 commit comments