From b29ec1e040fb798418eee8a14e13f9df7c372658 Mon Sep 17 00:00:00 2001 From: "Duncan P. N. Exon Smith" Date: Mon, 22 Aug 2016 20:51:00 +0000 Subject: [PATCH] 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. llvm-svn: 279473 --- llvm/include/llvm/ADT/SparseBitVector.h | 7 ------- llvm/include/llvm/ADT/ilist.h | 6 ------ llvm/include/llvm/ADT/ilist_node.h | 4 ---- llvm/include/llvm/Analysis/AliasSetTracker.h | 4 +--- llvm/include/llvm/Analysis/IVUsers.h | 4 ---- llvm/include/llvm/CodeGen/MachineBasicBlock.h | 4 ---- llvm/include/llvm/CodeGen/MachineFunction.h | 4 ---- llvm/include/llvm/CodeGen/SelectionDAG.h | 4 ---- llvm/include/llvm/CodeGen/SlotIndexes.h | 4 ---- llvm/include/llvm/IR/BasicBlock.h | 4 ---- llvm/include/llvm/IR/Function.h | 4 ---- llvm/include/llvm/IR/Instruction.h | 4 ---- llvm/include/llvm/IR/Module.h | 4 ---- llvm/include/llvm/IR/SymbolTableListTraits.h | 8 +------- llvm/include/llvm/MC/MCFragment.h | 6 +----- llvm/include/llvm/Transforms/Utils/MemorySSA.h | 4 ---- llvm/lib/MC/MCFragment.cpp | 4 ---- llvm/lib/Support/YAMLParser.cpp | 4 ---- 18 files changed, 3 insertions(+), 80 deletions(-) diff --git a/llvm/include/llvm/ADT/SparseBitVector.h b/llvm/include/llvm/ADT/SparseBitVector.h index 4e19b16..5d21c07 100644 --- a/llvm/include/llvm/ADT/SparseBitVector.h +++ b/llvm/include/llvm/ADT/SparseBitVector.h @@ -55,8 +55,6 @@ private: // Index of Element in terms of where first bit starts. unsigned ElementIndex; BitWord Bits[BITWORDS_PER_ELEMENT]; - // Needed for sentinels - friend struct ilist_sentinel_traits; SparseBitVectorElement() { ElementIndex = ~0U; memset(&Bits[0], 0, sizeof (BitWord) * BITWORDS_PER_ELEMENT); @@ -244,11 +242,6 @@ public: } }; -template -struct ilist_sentinel_traits> - : public ilist_half_embedded_sentinel_traits< - SparseBitVectorElement> {}; - template class SparseBitVector { typedef ilist > ElementList; diff --git a/llvm/include/llvm/ADT/ilist.h b/llvm/include/llvm/ADT/ilist.h index e326f3f..04bb560 100644 --- a/llvm/include/llvm/ADT/ilist.h +++ b/llvm/include/llvm/ADT/ilist.h @@ -119,12 +119,6 @@ template struct HasObsoleteCustomization { template struct ilist_traits; -// TODO: Delete uses from subprojects, then delete these. -template struct ilist_sentinel_traits {}; -template struct ilist_embedded_sentinel_traits {}; -template struct ilist_half_embedded_sentinel_traits {}; -template struct ilist_full_embedded_sentinel_traits {}; - /// ilist_node_traits - A fragment for template traits for intrusive list /// that provides default node related operations. /// diff --git a/llvm/include/llvm/ADT/ilist_node.h b/llvm/include/llvm/ADT/ilist_node.h index 3a217ca..756745b 100644 --- a/llvm/include/llvm/ADT/ilist_node.h +++ b/llvm/include/llvm/ADT/ilist_node.h @@ -21,8 +21,6 @@ namespace llvm { template struct ilist_traits; -template struct ilist_embedded_sentinel_traits; -template struct ilist_half_embedded_sentinel_traits; /// Base class for ilist nodes. struct ilist_node_base { @@ -55,8 +53,6 @@ template class ilist_sentinel; template class ilist_node : ilist_node_base { friend struct ilist_node_access; friend struct ilist_traits; - friend struct ilist_half_embedded_sentinel_traits; - friend struct ilist_embedded_sentinel_traits; friend class ilist_iterator; friend class ilist_sentinel; diff --git a/llvm/include/llvm/Analysis/AliasSetTracker.h b/llvm/include/llvm/Analysis/AliasSetTracker.h index 0021f28..5ebef3c 100644 --- a/llvm/include/llvm/Analysis/AliasSetTracker.h +++ b/llvm/include/llvm/Analysis/AliasSetTracker.h @@ -239,9 +239,7 @@ public: }; private: - // Can only be created by AliasSetTracker. Also, ilist creates one - // to serve as a sentinel. - friend struct ilist_sentinel_traits; + // Can only be created by AliasSetTracker. AliasSet() : PtrList(nullptr), PtrListEnd(&PtrList), Forward(nullptr), RefCount(0), AliasAny(false), Access(NoAccess), Alias(SetMustAlias), diff --git a/llvm/include/llvm/Analysis/IVUsers.h b/llvm/include/llvm/Analysis/IVUsers.h index 16161be..b208c02 100644 --- a/llvm/include/llvm/Analysis/IVUsers.h +++ b/llvm/include/llvm/Analysis/IVUsers.h @@ -91,10 +91,6 @@ private: void deleted() override; }; -template <> -struct ilist_sentinel_traits - : public ilist_embedded_sentinel_traits {}; - class IVUsers { friend class IVStrideUse; Loop *L; diff --git a/llvm/include/llvm/CodeGen/MachineBasicBlock.h b/llvm/include/llvm/CodeGen/MachineBasicBlock.h index 37a7948..e789b2e 100644 --- a/llvm/include/llvm/CodeGen/MachineBasicBlock.h +++ b/llvm/include/llvm/CodeGen/MachineBasicBlock.h @@ -39,10 +39,6 @@ class MachineBranchProbabilityInfo; typedef unsigned LaneBitmask; template <> -struct ilist_sentinel_traits - : public ilist_half_embedded_sentinel_traits {}; - -template <> struct ilist_traits : public ilist_default_traits { private: // this is only set by the MachineBasicBlock owning the LiveList diff --git a/llvm/include/llvm/CodeGen/MachineFunction.h b/llvm/include/llvm/CodeGen/MachineFunction.h index 7374c07..8ad04e0 100644 --- a/llvm/include/llvm/CodeGen/MachineFunction.h +++ b/llvm/include/llvm/CodeGen/MachineFunction.h @@ -49,10 +49,6 @@ struct MachinePointerInfo; struct WinEHFuncInfo; template <> -struct ilist_sentinel_traits - : public ilist_half_embedded_sentinel_traits {}; - -template <> struct ilist_traits : public ilist_default_traits { void addNodeToList(MachineBasicBlock* MBB); diff --git a/llvm/include/llvm/CodeGen/SelectionDAG.h b/llvm/include/llvm/CodeGen/SelectionDAG.h index e6d71a7..4854262 100644 --- a/llvm/include/llvm/CodeGen/SelectionDAG.h +++ b/llvm/include/llvm/CodeGen/SelectionDAG.h @@ -81,10 +81,6 @@ template<> struct FoldingSetTrait : DefaultFoldingSetTrait -struct ilist_sentinel_traits - : public ilist_half_embedded_sentinel_traits {}; - template <> struct ilist_traits : public ilist_default_traits { static void deleteNode(SDNode *) { llvm_unreachable("ilist_traits shouldn't see a deleteNode call!"); diff --git a/llvm/include/llvm/CodeGen/SlotIndexes.h b/llvm/include/llvm/CodeGen/SlotIndexes.h index 6090ece..57fb2df 100644 --- a/llvm/include/llvm/CodeGen/SlotIndexes.h +++ b/llvm/include/llvm/CodeGen/SlotIndexes.h @@ -69,10 +69,6 @@ namespace llvm { }; template <> - struct ilist_sentinel_traits - : public ilist_half_embedded_sentinel_traits {}; - - template <> struct ilist_traits : public ilist_default_traits { void deleteNode(IndexListEntry *N) {} diff --git a/llvm/include/llvm/IR/BasicBlock.h b/llvm/include/llvm/IR/BasicBlock.h index e7daf6e..50eedec 100644 --- a/llvm/include/llvm/IR/BasicBlock.h +++ b/llvm/include/llvm/IR/BasicBlock.h @@ -30,10 +30,6 @@ class LLVMContext; class BlockAddress; class Function; -template <> -struct SymbolTableListSentinelTraits - : public ilist_half_embedded_sentinel_traits {}; - /// \brief LLVM Basic Block Representation /// /// This represents a single basic block in LLVM. A basic block is simply a diff --git a/llvm/include/llvm/IR/Function.h b/llvm/include/llvm/IR/Function.h index bf82b98..ff55fcb 100644 --- a/llvm/include/llvm/IR/Function.h +++ b/llvm/include/llvm/IR/Function.h @@ -34,10 +34,6 @@ class FunctionType; class LLVMContext; class DISubprogram; -template <> -struct SymbolTableListSentinelTraits - : public ilist_half_embedded_sentinel_traits {}; - class Function : public GlobalObject, public ilist_node { public: typedef SymbolTableList ArgumentListType; diff --git a/llvm/include/llvm/IR/Instruction.h b/llvm/include/llvm/IR/Instruction.h index bd2e0fe..576f439 100644 --- a/llvm/include/llvm/IR/Instruction.h +++ b/llvm/include/llvm/IR/Instruction.h @@ -29,10 +29,6 @@ class MDNode; class BasicBlock; struct AAMDNodes; -template <> -struct SymbolTableListSentinelTraits - : public ilist_half_embedded_sentinel_traits {}; - class Instruction : public User, public ilist_node_with_parent { void operator=(const Instruction &) = delete; diff --git a/llvm/include/llvm/IR/Module.h b/llvm/include/llvm/IR/Module.h index ef7e407..d3b56ee 100644 --- a/llvm/include/llvm/IR/Module.h +++ b/llvm/include/llvm/IR/Module.h @@ -37,10 +37,6 @@ class RandomNumberGenerator; class StructType; template class SmallPtrSetImpl; -template <> -struct ilist_sentinel_traits - : public ilist_embedded_sentinel_traits {}; - template<> struct ilist_traits : public ilist_default_traits { void addNodeToList(NamedMDNode *) {} diff --git a/llvm/include/llvm/IR/SymbolTableListTraits.h b/llvm/include/llvm/IR/SymbolTableListTraits.h index 42320a9..f0f8ba3 100644 --- a/llvm/include/llvm/IR/SymbolTableListTraits.h +++ b/llvm/include/llvm/IR/SymbolTableListTraits.h @@ -34,10 +34,6 @@ template class ilist_iterator; template class iplist; template struct ilist_traits; -template -struct SymbolTableListSentinelTraits - : public ilist_embedded_sentinel_traits {}; - /// Template metafunction to get the parent type for a symbol table list. /// /// Implementations create a typedef called \c type so that we only need a @@ -68,9 +64,7 @@ template class SymbolTableList; // ItemParentClass - The type of object that owns the list, e.g. BasicBlock. // template -class SymbolTableListTraits - : public SymbolTableListSentinelTraits, - public ilist_node_traits { +class SymbolTableListTraits : public ilist_node_traits { typedef SymbolTableList ListTy; typedef typename SymbolTableListParentType::type ItemParentClass; diff --git a/llvm/include/llvm/MC/MCFragment.h b/llvm/include/llvm/MC/MCFragment.h index e0a2bfc..22e90e2 100644 --- a/llvm/include/llvm/MC/MCFragment.h +++ b/llvm/include/llvm/MC/MCFragment.h @@ -25,6 +25,7 @@ class MCSubtargetInfo; class MCFragment : public ilist_node_with_parent { friend class MCAsmLayout; + MCFragment() = delete; MCFragment(const MCFragment &) = delete; void operator=(const MCFragment &) = delete; @@ -83,11 +84,6 @@ protected: uint8_t BundlePadding, MCSection *Parent = nullptr); ~MCFragment(); -private: - - // This is a friend so that the sentinal can be created. - friend struct ilist_sentinel_traits; - MCFragment(); public: /// Destroys the current fragment. diff --git a/llvm/include/llvm/Transforms/Utils/MemorySSA.h b/llvm/include/llvm/Transforms/Utils/MemorySSA.h index 3a28b1c..40b065e 100644 --- a/llvm/include/llvm/Transforms/Utils/MemorySSA.h +++ b/llvm/include/llvm/Transforms/Utils/MemorySSA.h @@ -170,10 +170,6 @@ private: BasicBlock *Block; }; -template <> -struct ilist_sentinel_traits - : public ilist_half_embedded_sentinel_traits {}; - inline raw_ostream &operator<<(raw_ostream &OS, const MemoryAccess &MA) { MA.print(OS); return OS; diff --git a/llvm/lib/MC/MCFragment.cpp b/llvm/lib/MC/MCFragment.cpp index eae0dfe..638d910 100644 --- a/llvm/lib/MC/MCFragment.cpp +++ b/llvm/lib/MC/MCFragment.cpp @@ -235,10 +235,6 @@ void ilist_node_traits::deleteNode(MCFragment *V) { V->destroy(); } -MCFragment::MCFragment() : Kind(FragmentType(~0)), HasInstructions(false), - AlignToBundleEnd(false), BundlePadding(0) { -} - MCFragment::~MCFragment() { } MCFragment::MCFragment(FragmentType Kind, bool HasInstructions, diff --git a/llvm/lib/Support/YAMLParser.cpp b/llvm/lib/Support/YAMLParser.cpp index 4d5b750..7490f1a 100644 --- a/llvm/lib/Support/YAMLParser.cpp +++ b/llvm/lib/Support/YAMLParser.cpp @@ -149,10 +149,6 @@ struct Token : ilist_node { } namespace llvm { -template <> -struct ilist_sentinel_traits - : public ilist_full_embedded_sentinel_traits {}; - template<> struct ilist_node_traits { Token *createNode(const Token &V) { -- 2.7.4