Fold the useful features of alist and alist_node into ilist, and
a new ilist_node class, and remove them. Unlike alist_node,
ilist_node doesn't attempt to manage storage itself, so it avoids
the associated problems, including being opaque in gdb.
Adjust the Recycler class so that it doesn't depend on alist_node.
Also, change it to use explicit Size and Align parameters, allowing
it to work when the largest-sized node doesn't have the greatest
alignment requirement.
Change MachineInstr's MachineMemOperand list from a pool-backed
alist to a std::list for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54146 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Support/Allocator.cpp b/lib/Support/Allocator.cpp
index 584ca12..db0d8f3 100644
--- a/lib/Support/Allocator.cpp
+++ b/lib/Support/Allocator.cpp
@@ -132,8 +132,10 @@
cerr << "Bytes allocated: " << BytesUsed << "\n";
}
-void llvm::PrintRecyclerStats(size_t LargestTypeSize,
+void llvm::PrintRecyclerStats(size_t Size,
+ size_t Align,
size_t FreeListSize) {
- cerr << "Recycler element size: " << LargestTypeSize << '\n';
+ cerr << "Recycler element size: " << Size << '\n';
+ cerr << "Recycler element alignment: " << Align << '\n';
cerr << "Number of elements free for recycling: " << FreeListSize << '\n';
}