Fold the useful features of alist and alist_node into ilist, and
authorDan Gohman <gohman@apple.com>
Mon, 28 Jul 2008 21:51:04 +0000 (21:51 +0000)
committerDan Gohman <gohman@apple.com>
Mon, 28 Jul 2008 21:51:04 +0000 (21:51 +0000)
commitfed90b6d097d50881afb45e4d79f430db66dd741
tree7ec1a6f6b2a8a37e054b84505502b3346c6680c7
parent80e051dfdede65678ac66f1552278338bc1a1b33
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
33 files changed:
include/llvm/ADT/SparseBitVector.h
include/llvm/ADT/alist.h [deleted file]
include/llvm/ADT/alist_node.h [deleted file]
include/llvm/ADT/ilist.h
include/llvm/ADT/ilist_node.h [new file with mode: 0644]
include/llvm/Analysis/AliasSetTracker.h
include/llvm/Argument.h
include/llvm/BasicBlock.h
include/llvm/Bitcode/Archive.h
include/llvm/CodeGen/MachineBasicBlock.h
include/llvm/CodeGen/MachineFunction.h
include/llvm/CodeGen/MachineInstr.h
include/llvm/CodeGen/SelectionDAG.h
include/llvm/CodeGen/SelectionDAGISel.h
include/llvm/CodeGen/SelectionDAGNodes.h
include/llvm/Function.h
include/llvm/GlobalAlias.h
include/llvm/GlobalVariable.h
include/llvm/Instruction.h
include/llvm/Support/Recycler.h
include/llvm/Support/RecyclingAllocator.h
include/llvm/SymbolTableListTraits.h
lib/Archive/Archive.cpp
lib/Archive/ArchiveReader.cpp
lib/CodeGen/LiveIntervalAnalysis.cpp
lib/CodeGen/MachineBasicBlock.cpp
lib/CodeGen/MachineFunction.cpp
lib/CodeGen/MachineInstr.cpp
lib/CodeGen/SelectionDAG/SelectionDAG.cpp
lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
lib/Support/Allocator.cpp
lib/VMCore/BasicBlock.cpp
lib/VMCore/SymbolTableListTraitsImpl.h