CodeGen: Let the BumpPtrAllocator free the elements of indexList
authorJustin Bogner <mail@justinbogner.com>
Sat, 5 Dec 2015 00:39:14 +0000 (00:39 +0000)
committerJustin Bogner <mail@justinbogner.com>
Sat, 5 Dec 2015 00:39:14 +0000 (00:39 +0000)
The indexList's nodes are all allocated on a BumpPtrAllocator, so it's
more efficient to let them be freed when it goes away, rather than
deleting them directly. This is a follow up to r254794.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@254808 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/CodeGen/SlotIndexes.h

index 5dc42e20debe344d0b9292e919af80f7531b432f..7b621bee259ffe3f9110787bece4e2b35be64617 100644 (file)
@@ -376,6 +376,11 @@ namespace llvm {
       initializeSlotIndexesPass(*PassRegistry::getPassRegistry());
     }
 
+    ~SlotIndexes() {
+      // The indexList's nodes are all allocated in the BumpPtrAllocator.
+      indexList.clearAndLeakNodesUnsafely();
+    }
+
     void getAnalysisUsage(AnalysisUsage &au) const override;
     void releaseMemory() override;