Skip to content

Commit bcc1e3f

Browse files
dexonsmithbob-wilson
authored andcommitted
ADT: Remove ilist_*sentinel_traits, NFC
Remove all the dead code around ilist_*sentinel_traits. This is a follow-up to gutting them as part of r279314 (originally r278974), staged to prevent broken builds in sub-projects. Uses were removed from clang in r279457 and lld in r279458. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@279473 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit d47df87)
1 parent 2dd95e2 commit bcc1e3f

18 files changed

+3
-80
lines changed

include/llvm/ADT/SparseBitVector.h

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,6 @@ struct SparseBitVectorElement
5555
// Index of Element in terms of where first bit starts.
5656
unsigned ElementIndex;
5757
BitWord Bits[BITWORDS_PER_ELEMENT];
58-
// Needed for sentinels
59-
friend struct ilist_sentinel_traits<SparseBitVectorElement>;
6058
SparseBitVectorElement() {
6159
ElementIndex = ~0U;
6260
memset(&Bits[0], 0, sizeof (BitWord) * BITWORDS_PER_ELEMENT);
@@ -244,11 +242,6 @@ struct SparseBitVectorElement
244242
}
245243
};
246244

247-
template <unsigned ElementSize>
248-
struct ilist_sentinel_traits<SparseBitVectorElement<ElementSize>>
249-
: public ilist_half_embedded_sentinel_traits<
250-
SparseBitVectorElement<ElementSize>> {};
251-
252245
template <unsigned ElementSize = 128>
253246
class SparseBitVector {
254247
typedef ilist<SparseBitVectorElement<ElementSize> > ElementList;

include/llvm/ADT/ilist.h

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -119,12 +119,6 @@ template <class TraitsT, class NodeT> struct HasObsoleteCustomization {
119119

120120
template <typename NodeTy> struct ilist_traits;
121121

122-
// TODO: Delete uses from subprojects, then delete these.
123-
template <typename NodeTy> struct ilist_sentinel_traits {};
124-
template <typename NodeTy> struct ilist_embedded_sentinel_traits {};
125-
template <typename NodeTy> struct ilist_half_embedded_sentinel_traits {};
126-
template <typename NodeTy> struct ilist_full_embedded_sentinel_traits {};
127-
128122
/// ilist_node_traits - A fragment for template traits for intrusive list
129123
/// that provides default node related operations.
130124
///

include/llvm/ADT/ilist_node.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@ namespace llvm {
2121

2222
template<typename NodeTy>
2323
struct ilist_traits;
24-
template <typename NodeTy> struct ilist_embedded_sentinel_traits;
25-
template <typename NodeTy> struct ilist_half_embedded_sentinel_traits;
2624

2725
/// Base class for ilist nodes.
2826
struct ilist_node_base {
@@ -55,8 +53,6 @@ template <typename NodeTy> class ilist_sentinel;
5553
template <typename NodeTy> class ilist_node : ilist_node_base {
5654
friend struct ilist_node_access;
5755
friend struct ilist_traits<NodeTy>;
58-
friend struct ilist_half_embedded_sentinel_traits<NodeTy>;
59-
friend struct ilist_embedded_sentinel_traits<NodeTy>;
6056
friend class ilist_iterator<NodeTy>;
6157
friend class ilist_sentinel<NodeTy>;
6258

include/llvm/Analysis/AliasSetTracker.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -226,9 +226,7 @@ class AliasSet : public ilist_node<AliasSet> {
226226
};
227227

228228
private:
229-
// Can only be created by AliasSetTracker. Also, ilist creates one
230-
// to serve as a sentinel.
231-
friend struct ilist_sentinel_traits<AliasSet>;
229+
// Can only be created by AliasSetTracker.
232230
AliasSet()
233231
: PtrList(nullptr), PtrListEnd(&PtrList), Forward(nullptr), RefCount(0),
234232
Access(NoAccess), Alias(SetMustAlias), Volatile(false) {

include/llvm/Analysis/IVUsers.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,10 +91,6 @@ class IVStrideUse final : public CallbackVH, public ilist_node<IVStrideUse> {
9191
void deleted() override;
9292
};
9393

94-
template <>
95-
struct ilist_sentinel_traits<IVStrideUse>
96-
: public ilist_embedded_sentinel_traits<IVStrideUse> {};
97-
9894
class IVUsers {
9995
friend class IVStrideUse;
10096
Loop *L;

include/llvm/CodeGen/MachineBasicBlock.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,6 @@ class MachineBranchProbabilityInfo;
3838
// Forward declaration to avoid circular include problem with TargetRegisterInfo
3939
typedef unsigned LaneBitmask;
4040

41-
template <>
42-
struct ilist_sentinel_traits<MachineInstr>
43-
: public ilist_half_embedded_sentinel_traits<MachineInstr> {};
44-
4541
template <>
4642
struct ilist_traits<MachineInstr> : public ilist_default_traits<MachineInstr> {
4743
private:

include/llvm/CodeGen/MachineFunction.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,6 @@ class TargetRegisterClass;
4848
struct MachinePointerInfo;
4949
struct WinEHFuncInfo;
5050

51-
template <>
52-
struct ilist_sentinel_traits<MachineBasicBlock>
53-
: public ilist_half_embedded_sentinel_traits<MachineBasicBlock> {};
54-
5551
template <>
5652
struct ilist_traits<MachineBasicBlock>
5753
: public ilist_default_traits<MachineBasicBlock> {

include/llvm/CodeGen/SelectionDAG.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -81,10 +81,6 @@ template<> struct FoldingSetTrait<SDVTListNode> : DefaultFoldingSetTrait<SDVTLis
8181
}
8282
};
8383

84-
template <>
85-
struct ilist_sentinel_traits<SDNode>
86-
: public ilist_half_embedded_sentinel_traits<SDNode> {};
87-
8884
template <> struct ilist_traits<SDNode> : public ilist_default_traits<SDNode> {
8985
static void deleteNode(SDNode *) {
9086
llvm_unreachable("ilist_traits<SDNode> shouldn't see a deleteNode call!");

include/llvm/CodeGen/SlotIndexes.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,10 +68,6 @@ namespace llvm {
6868
#endif // EXPENSIVE_CHECKS
6969
};
7070

71-
template <>
72-
struct ilist_sentinel_traits<IndexListEntry>
73-
: public ilist_half_embedded_sentinel_traits<IndexListEntry> {};
74-
7571
template <>
7672
struct ilist_traits<IndexListEntry>
7773
: public ilist_default_traits<IndexListEntry> {

include/llvm/IR/BasicBlock.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,6 @@ class LLVMContext;
3030
class BlockAddress;
3131
class Function;
3232

33-
template <>
34-
struct SymbolTableListSentinelTraits<BasicBlock>
35-
: public ilist_half_embedded_sentinel_traits<BasicBlock> {};
36-
3733
/// \brief LLVM Basic Block Representation
3834
///
3935
/// This represents a single basic block in LLVM. A basic block is simply a

include/llvm/IR/Function.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,6 @@ class FunctionType;
3434
class LLVMContext;
3535
class DISubprogram;
3636

37-
template <>
38-
struct SymbolTableListSentinelTraits<Argument>
39-
: public ilist_half_embedded_sentinel_traits<Argument> {};
40-
4137
class Function : public GlobalObject, public ilist_node<Function> {
4238
public:
4339
typedef SymbolTableList<Argument> ArgumentListType;

include/llvm/IR/Instruction.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,6 @@ class MDNode;
2929
class BasicBlock;
3030
struct AAMDNodes;
3131

32-
template <>
33-
struct SymbolTableListSentinelTraits<Instruction>
34-
: public ilist_half_embedded_sentinel_traits<Instruction> {};
35-
3632
class Instruction : public User,
3733
public ilist_node_with_parent<Instruction, BasicBlock> {
3834
void operator=(const Instruction &) = delete;

include/llvm/IR/Module.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,6 @@ class RandomNumberGenerator;
3737
class StructType;
3838
template <class PtrType> class SmallPtrSetImpl;
3939

40-
template <>
41-
struct ilist_sentinel_traits<NamedMDNode>
42-
: public ilist_embedded_sentinel_traits<NamedMDNode> {};
43-
4440
template<> struct ilist_traits<NamedMDNode>
4541
: public ilist_default_traits<NamedMDNode> {
4642
void addNodeToList(NamedMDNode *) {}

include/llvm/IR/SymbolTableListTraits.h

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,6 @@ template <typename NodeTy> class ilist_iterator;
3434
template <typename NodeTy, typename Traits> class iplist;
3535
template <typename Ty> struct ilist_traits;
3636

37-
template <typename NodeTy>
38-
struct SymbolTableListSentinelTraits
39-
: public ilist_embedded_sentinel_traits<NodeTy> {};
40-
4137
/// Template metafunction to get the parent type for a symbol table list.
4238
///
4339
/// Implementations create a typedef called \c type so that we only need a
@@ -68,9 +64,7 @@ template <typename NodeTy> class SymbolTableList;
6864
// ItemParentClass - The type of object that owns the list, e.g. BasicBlock.
6965
//
7066
template <typename ValueSubClass>
71-
class SymbolTableListTraits
72-
: public SymbolTableListSentinelTraits<ValueSubClass>,
73-
public ilist_node_traits<ValueSubClass> {
67+
class SymbolTableListTraits : public ilist_node_traits<ValueSubClass> {
7468
typedef SymbolTableList<ValueSubClass> ListTy;
7569
typedef
7670
typename SymbolTableListParentType<ValueSubClass>::type ItemParentClass;

include/llvm/MC/MCFragment.h

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ class MCSubtargetInfo;
2525
class MCFragment : public ilist_node_with_parent<MCFragment, MCSection> {
2626
friend class MCAsmLayout;
2727

28+
MCFragment() = delete;
2829
MCFragment(const MCFragment &) = delete;
2930
void operator=(const MCFragment &) = delete;
3031

@@ -83,11 +84,6 @@ class MCFragment : public ilist_node_with_parent<MCFragment, MCSection> {
8384
uint8_t BundlePadding, MCSection *Parent = nullptr);
8485

8586
~MCFragment();
86-
private:
87-
88-
// This is a friend so that the sentinal can be created.
89-
friend struct ilist_sentinel_traits<MCFragment>;
90-
MCFragment();
9187

9288
public:
9389
/// Destroys the current fragment.

include/llvm/Transforms/Utils/MemorySSA.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -170,10 +170,6 @@ class MemoryAccess : public User, public ilist_node<MemoryAccess> {
170170
BasicBlock *Block;
171171
};
172172

173-
template <>
174-
struct ilist_sentinel_traits<MemoryAccess>
175-
: public ilist_half_embedded_sentinel_traits<MemoryAccess> {};
176-
177173
inline raw_ostream &operator<<(raw_ostream &OS, const MemoryAccess &MA) {
178174
MA.print(OS);
179175
return OS;

lib/MC/MCFragment.cpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -235,10 +235,6 @@ void ilist_node_traits<MCFragment>::deleteNode(MCFragment *V) {
235235
V->destroy();
236236
}
237237

238-
MCFragment::MCFragment() : Kind(FragmentType(~0)), HasInstructions(false),
239-
AlignToBundleEnd(false), BundlePadding(0) {
240-
}
241-
242238
MCFragment::~MCFragment() { }
243239

244240
MCFragment::MCFragment(FragmentType Kind, bool HasInstructions,

lib/Support/YAMLParser.cpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -149,10 +149,6 @@ struct Token : ilist_node<Token> {
149149
}
150150

151151
namespace llvm {
152-
template <>
153-
struct ilist_sentinel_traits<Token>
154-
: public ilist_full_embedded_sentinel_traits<Token> {};
155-
156152
template<>
157153
struct ilist_node_traits<Token> {
158154
Token *createNode(const Token &V) {

0 commit comments

Comments
 (0)