From e14d4d026ec462ea874eac7f9f63537f4824cfa6 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Thu, 3 Jan 2008 00:10:22 +0000 Subject: [PATCH] move some code out of line, rearrange a bit. llvm-svn: 45519 --- include/llvm/ParameterAttributes.h | 4 +--- lib/VMCore/ParameterAttributes.cpp | 16 ++++++++++------ 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/include/llvm/ParameterAttributes.h b/include/llvm/ParameterAttributes.h index 080de469351..05c3ebe9397 100644 --- a/include/llvm/ParameterAttributes.h +++ b/include/llvm/ParameterAttributes.h @@ -122,14 +122,12 @@ class ParamAttrsList : public FoldingSetNode { // ParamAttrsList is uniqued, these should not be publicly available void operator=(const ParamAttrsList &); // Do not implement ParamAttrsList(const ParamAttrsList &); // Do not implement - ParamAttrsList(); // Do not implement ~ParamAttrsList(); // Private implementation /// Only the \p get method can invoke this when it wants to create a /// new instance. /// @brief Construct an ParamAttrsList from a ParamAttrsVector - explicit ParamAttrsList(const ParamAttrsVector &attrVec) - : attrs(attrVec), refCount(0) {} + explicit ParamAttrsList(const ParamAttrsVector &attrVec); public: /// This method ensures the uniqueness of ParamAttrsList instances. The diff --git a/lib/VMCore/ParameterAttributes.cpp b/lib/VMCore/ParameterAttributes.cpp index 37a2819d86e..aaf80cd7658 100644 --- a/lib/VMCore/ParameterAttributes.cpp +++ b/lib/VMCore/ParameterAttributes.cpp @@ -15,6 +15,16 @@ #include "llvm/Support/ManagedStatic.h" using namespace llvm; +static ManagedStatic > ParamAttrsLists; + +ParamAttrsList::ParamAttrsList(const ParamAttrsVector &attrVec) + : attrs(attrVec), refCount(0) { +} + +ParamAttrsList::~ParamAttrsList() { + ParamAttrsLists->RemoveNode(this); +} + uint16_t ParamAttrsList::getParamAttrs(uint16_t Index) const { unsigned limit = attrs.size(); @@ -101,8 +111,6 @@ void ParamAttrsList::Profile(FoldingSetNodeID &ID) const { ID.AddInteger(unsigned(attrs[i].attrs) << 16 | unsigned(attrs[i].index)); } -static ManagedStatic > ParamAttrsLists; - const ParamAttrsList * ParamAttrsList::get(const ParamAttrsVector &attrVec) { // If there are no attributes then return a null ParamAttrsList pointer. @@ -220,7 +228,3 @@ ParamAttrsList::excludeAttrs(const ParamAttrsList *PAL, return getModified(PAL, modVec); } -ParamAttrsList::~ParamAttrsList() { - ParamAttrsLists->RemoveNode(this); -} -