SIL: change SILModule's scheduledForDeletion from a double linked list to a std::vector

This commit is contained in:
Erik Eckstein
2022-12-02 18:58:06 +01:00
parent 3b94b60420
commit d8c2e8ae77
2 changed files with 7 additions and 7 deletions

View File

@@ -164,8 +164,8 @@ void SILModule::checkForLeaks() const {
if (!getOptions().checkSILModuleLeaks)
return;
int instsInModule = std::distance(scheduledForDeletion.begin(),
scheduledForDeletion.end());
int instsInModule = scheduledForDeletion.size();
for (const SILFunction &F : *this) {
const SILFunction *sn = &F;
do {
@@ -280,11 +280,11 @@ void SILModule::scheduleForDeletion(SILInstruction *I) {
}
void SILModule::flushDeletedInsts() {
while (!scheduledForDeletion.empty()) {
SILInstruction *inst = &*scheduledForDeletion.begin();
scheduledForDeletion.erase(inst);
AlignedFree(inst);
for (SILInstruction *instToDelete : scheduledForDeletion) {
SILInstruction::destroy(instToDelete);
AlignedFree(instToDelete);
}
scheduledForDeletion.clear();
}
SILWitnessTable *