From: Gabor Greif Date: Wed, 26 Aug 2009 19:16:32 +0000 (+0000) Subject: Remove all the LLVM_COMPACTIFY_SENTINELS-related macro magic as discussed with Chris... X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=7309be6735666143bd9835b275dc8501617a2591;p=oota-llvm.git Remove all the LLVM_COMPACTIFY_SENTINELS-related macro magic as discussed with Chris on IRC. Anybody wanting to debug sentinel dereferencing problems must revert this patch and perform the indicated modifications. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80128 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/ADT/ilist.h b/include/llvm/ADT/ilist.h index a451a184ce7..2f35a7ad25c 100644 --- a/include/llvm/ADT/ilist.h +++ b/include/llvm/ADT/ilist.h @@ -41,21 +41,6 @@ #include "llvm/ADT/iterator.h" #include -#undef LLVM_COMPACTIFY_SENTINELS -/// @brief activate small sentinel structs -/// Comment out if you want better debuggability -/// of ilist<> end() iterators. -/// See also llvm/ADT/ilist_node.h, where the -/// same change must be made. -/// -#define LLVM_COMPACTIFY_SENTINELS 1 - -#if defined(LLVM_COMPACTIFY_SENTINELS) && LLVM_COMPACTIFY_SENTINELS -# define sentinel_tail_assert(COND) -#else -# define sentinel_tail_assert(COND) assert(COND) -#endif - namespace llvm { template class iplist; @@ -204,12 +189,10 @@ public: // Accessors... operator pointer() const { - sentinel_tail_assert(Traits::getNext(NodePtr) != 0 && "Dereferencing end()!"); return NodePtr; } reference operator*() const { - sentinel_tail_assert(Traits::getNext(NodePtr) != 0 && "Dereferencing end()!"); return *NodePtr; } pointer operator->() const { return &operator*(); } @@ -230,7 +213,6 @@ public: } ilist_iterator &operator++() { // preincrement - Advance NodePtr = Traits::getNext(NodePtr); - sentinel_tail_assert(NodePtr && "++'d off the end of an ilist!"); return *this; } ilist_iterator operator--(int) { // postdecrement operators... diff --git a/include/llvm/ADT/ilist_node.h b/include/llvm/ADT/ilist_node.h index ae4a5905f83..c28169fde5f 100644 --- a/include/llvm/ADT/ilist_node.h +++ b/include/llvm/ADT/ilist_node.h @@ -15,15 +15,6 @@ #ifndef LLVM_ADT_ILIST_NODE_H #define LLVM_ADT_ILIST_NODE_H -#undef LLVM_COMPACTIFY_SENTINELS -/// @brief activate small sentinel structs -/// Comment out if you want better debuggability -/// of ilist<> end() iterators. -/// See also llvm/ADT/ilist.h, where the -/// same change must be made. -/// -#define LLVM_COMPACTIFY_SENTINELS 1 - namespace llvm { template @@ -60,18 +51,6 @@ protected: ilist_node() : Next(0) {} }; -/// When assertions are off, the Next field of sentinels -/// will not be accessed. So it is not necessary to allocate -/// space for it. The following macro selects the most -/// efficient traits class. The LLVM_COMPACTIFY_SENTINELS -/// preprocessor symbol controls this. -/// -#if defined(LLVM_COMPACTIFY_SENTINELS) && LLVM_COMPACTIFY_SENTINELS -# define ILIST_NODE ilist_half_node -#else -# define ILIST_NODE ilist_node -#endif - } // End llvm namespace #endif diff --git a/include/llvm/BasicBlock.h b/include/llvm/BasicBlock.h index 16f680d2438..3f535076eaa 100644 --- a/include/llvm/BasicBlock.h +++ b/include/llvm/BasicBlock.h @@ -47,7 +47,7 @@ template<> struct ilist_traits Instruction *ensureHead(Instruction*) const { return createSentinel(); } static void noteHead(Instruction*, Instruction*) {} private: - mutable ILIST_NODE Sentinel; + mutable ilist_half_node Sentinel; }; /// This represents a single basic block in LLVM. A basic block is simply a diff --git a/include/llvm/CodeGen/MachineBasicBlock.h b/include/llvm/CodeGen/MachineBasicBlock.h index 52e56422c8c..2a9e86a04c0 100644 --- a/include/llvm/CodeGen/MachineBasicBlock.h +++ b/include/llvm/CodeGen/MachineBasicBlock.h @@ -26,7 +26,7 @@ class raw_ostream; template <> struct ilist_traits : public ilist_default_traits { private: - mutable ILIST_NODE Sentinel; + mutable ilist_half_node Sentinel; // this is only set by the MachineBasicBlock owning the LiveList friend class MachineBasicBlock; diff --git a/include/llvm/CodeGen/MachineFunction.h b/include/llvm/CodeGen/MachineFunction.h index 92f46b070f5..10a5fb4c413 100644 --- a/include/llvm/CodeGen/MachineFunction.h +++ b/include/llvm/CodeGen/MachineFunction.h @@ -38,7 +38,7 @@ class TargetRegisterClass; template <> struct ilist_traits : public ilist_default_traits { - mutable ILIST_NODE Sentinel; + mutable ilist_half_node Sentinel; public: MachineBasicBlock *createSentinel() const { return static_cast(&Sentinel); diff --git a/include/llvm/CodeGen/SelectionDAG.h b/include/llvm/CodeGen/SelectionDAG.h index b0fb5d8b1f2..426ab15c9bd 100644 --- a/include/llvm/CodeGen/SelectionDAG.h +++ b/include/llvm/CodeGen/SelectionDAG.h @@ -37,7 +37,7 @@ class FunctionLoweringInfo; template<> struct ilist_traits : public ilist_default_traits { private: - mutable ILIST_NODE Sentinel; + mutable ilist_half_node Sentinel; public: SDNode *createSentinel() const { return static_cast(&Sentinel); diff --git a/include/llvm/Function.h b/include/llvm/Function.h index 6c3d41e21af..7ff18b376d5 100644 --- a/include/llvm/Function.h +++ b/include/llvm/Function.h @@ -45,7 +45,7 @@ template<> struct ilist_traits static ValueSymbolTable *getSymTab(Function *ItemParent); private: - mutable ILIST_NODE Sentinel; + mutable ilist_half_node Sentinel; }; template<> struct ilist_traits @@ -62,7 +62,7 @@ template<> struct ilist_traits static ValueSymbolTable *getSymTab(Function *ItemParent); private: - mutable ILIST_NODE Sentinel; + mutable ilist_half_node Sentinel; }; class Function : public GlobalValue,