s/AttributeListImpl/AttributeSetImpl/g to match the namechange of AttributeList.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170600 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Bill Wendling 2012-12-19 22:42:22 +00:00
parent 7f4bb1b9f0
commit 18e7211068
5 changed files with 54 additions and 58 deletions

View File

@ -237,16 +237,13 @@ public:
};
//===----------------------------------------------------------------------===//
// AttributeWithIndex
//===----------------------------------------------------------------------===//
/// AttributeWithIndex - This is just a pair of values to associate a set of
/// attributes with an index.
/// \class This is just a pair of values to associate a set of attributes with
/// an index.
struct AttributeWithIndex {
Attribute Attrs; ///< The attributes that are set, or'd together.
unsigned Index; ///< Index of the parameter for which the attributes apply.
///< Index 0 is used for return value attributes.
///< Index ~0U is used for function attributes.
unsigned Index; ///< Index of the parameter for which the attributes apply.
///< Index 0 is used for return value attributes.
///< Index ~0U is used for function attributes.
static AttributeWithIndex get(LLVMContext &C, unsigned Idx,
ArrayRef<Attribute::AttrVal> Attrs) {
@ -264,10 +261,11 @@ struct AttributeWithIndex {
// AttributeSet Smart Pointer
//===----------------------------------------------------------------------===//
class AttributeListImpl;
class AttributeSetImpl;
/// AttributeSet - This class manages the ref count for the opaque
/// AttributeListImpl object and provides accessors for it.
//===----------------------------------------------------------------------===//
/// \class This class manages the ref count for the opaque AttributeSetImpl
/// object and provides accessors for it.
class AttributeSet {
public:
enum AttrIndex {
@ -275,15 +273,15 @@ public:
FunctionIndex = ~0U
};
private:
/// @brief The attributes that we are managing. This can be null to represent
/// \brief The attributes that we are managing. This can be null to represent
/// the empty attributes list.
AttributeListImpl *AttrList;
AttributeSetImpl *AttrList;
/// @brief The attributes for the specified index are returned. Attributes
/// \brief The attributes for the specified index are returned. Attributes
/// for the result are denoted with Idx = 0.
Attribute getAttributes(unsigned Idx) const;
explicit AttributeSet(AttributeListImpl *LI) : AttrList(LI) {}
explicit AttributeSet(AttributeSetImpl *LI) : AttrList(LI) {}
public:
AttributeSet() : AttrList(0) {}
AttributeSet(const AttributeSet &P) : AttrList(P.AttrList) {}
@ -293,70 +291,69 @@ public:
// Attribute List Construction and Mutation
//===--------------------------------------------------------------------===//
/// get - Return an AttributeSet with the specified parameters in it.
/// \brief Return an AttributeSet with the specified parameters in it.
static AttributeSet get(LLVMContext &C, ArrayRef<AttributeWithIndex> Attrs);
/// addAttr - Add the specified attribute at the specified index to this
/// attribute list. Since attribute lists are immutable, this
/// returns the new list.
/// \brief Add the specified attribute at the specified index to this
/// attribute list. Since attribute lists are immutable, this returns the new
/// list.
AttributeSet addAttr(LLVMContext &C, unsigned Idx, Attribute Attrs) const;
/// removeAttr - Remove the specified attribute at the specified index from
/// this attribute list. Since attribute lists are immutable, this
/// returns the new list.
/// \brief Remove the specified attribute at the specified index from this
/// attribute list. Since attribute lists are immutable, this returns the new
/// list.
AttributeSet removeAttr(LLVMContext &C, unsigned Idx, Attribute Attrs) const;
//===--------------------------------------------------------------------===//
// Attribute List Accessors
//===--------------------------------------------------------------------===//
/// getParamAttributes - The attributes for the specified index are
/// returned.
/// \brief The attributes for the specified index are returned.
Attribute getParamAttributes(unsigned Idx) const {
return getAttributes(Idx);
}
/// getRetAttributes - The attributes for the ret value are
/// returned.
/// \brief The attributes for the ret value are returned.
Attribute getRetAttributes() const {
return getAttributes(ReturnIndex);
}
/// getFnAttributes - The function attributes are returned.
/// \brief The function attributes are returned.
Attribute getFnAttributes() const {
return getAttributes(FunctionIndex);
}
/// paramHasAttr - Return true if the specified parameter index has the
/// specified attribute set.
/// \brief Return true if the specified parameter index has the specified
/// attribute set.
bool paramHasAttr(unsigned Idx, Attribute Attr) const {
return getAttributes(Idx).hasAttributes(Attr);
}
/// getParamAlignment - Return the alignment for the specified function
/// parameter.
/// \brief Return the alignment for the specified function parameter.
unsigned getParamAlignment(unsigned Idx) const {
return getAttributes(Idx).getAlignment();
}
/// hasAttrSomewhere - Return true if the specified attribute is set for at
/// least one parameter or for the return value.
/// \brief Return true if the specified attribute is set for at least one
/// parameter or for the return value.
bool hasAttrSomewhere(Attribute::AttrVal Attr) const;
unsigned getNumAttrs() const;
Attribute &getAttributesAtIndex(unsigned i) const;
/// operator==/!= - Provide equality predicates.
bool operator==(const AttributeSet &RHS) const
{ return AttrList == RHS.AttrList; }
bool operator!=(const AttributeSet &RHS) const
{ return AttrList != RHS.AttrList; }
bool operator==(const AttributeSet &RHS) const {
return AttrList == RHS.AttrList;
}
bool operator!=(const AttributeSet &RHS) const {
return AttrList != RHS.AttrList;
}
//===--------------------------------------------------------------------===//
// Attribute List Introspection
//===--------------------------------------------------------------------===//
/// getRawPointer - Return a raw pointer that uniquely identifies this
/// attribute list.
/// \brief Return a raw pointer that uniquely identifies this attribute list.
void *getRawPointer() const {
return AttrList;
}
@ -365,19 +362,18 @@ public:
// each argument that has an attribute. This allows walking over the dense
// set instead of walking the sparse list of attributes.
/// isEmpty - Return true if there are no attributes.
///
/// \brief Return true if there are no attributes.
bool isEmpty() const {
return AttrList == 0;
}
/// getNumSlots - Return the number of slots used in this attribute list.
/// This is the number of arguments that have an attribute set on them
/// (including the function itself).
/// \brief Return the number of slots used in this attribute list. This is
/// the number of arguments that have an attribute set on them (including the
/// function itself).
unsigned getNumSlots() const;
/// getSlot - Return the AttributeWithIndex at the specified slot. This
/// holds a index number plus a set of attributes.
/// \brief Return the AttributeWithIndex at the specified slot. This holds a
/// index number plus a set of attributes.
const AttributeWithIndex &getSlot(unsigned Slot) const;
void dump() const;

View File

@ -8,7 +8,7 @@
//===----------------------------------------------------------------------===//
//
// This file implements the Attribute, AttributeImpl, AttrBuilder,
// AttributeListImpl, and AttributeSet classes.
// AttributeSetImpl, and AttributeSet classes.
//
//===----------------------------------------------------------------------===//
@ -352,7 +352,7 @@ uint64_t AttributesImpl::getStackAlignment() const {
}
//===----------------------------------------------------------------------===//
// AttributeListImpl Definition
// AttributeSetImpl Definition
//===----------------------------------------------------------------------===//
AttributeSet AttributeSet::get(LLVMContext &C,
@ -373,16 +373,16 @@ AttributeSet AttributeSet::get(LLVMContext &C,
// Otherwise, build a key to look up the existing attributes.
LLVMContextImpl *pImpl = C.pImpl;
FoldingSetNodeID ID;
AttributeListImpl::Profile(ID, Attrs);
AttributeSetImpl::Profile(ID, Attrs);
void *InsertPoint;
AttributeListImpl *PA = pImpl->AttrsLists.FindNodeOrInsertPos(ID,
AttributeSetImpl *PA = pImpl->AttrsLists.FindNodeOrInsertPos(ID,
InsertPoint);
// If we didn't find any existing attributes of the same shape then
// create a new one and insert it.
if (!PA) {
PA = new AttributeListImpl(Attrs);
PA = new AttributeSetImpl(Attrs);
pImpl->AttrsLists.InsertNode(PA, InsertPoint);
}

View File

@ -45,14 +45,14 @@ public:
}
};
class AttributeListImpl : public FoldingSetNode {
class AttributeSetImpl : public FoldingSetNode {
// AttributesList is uniqued, these should not be publicly available.
void operator=(const AttributeListImpl &) LLVM_DELETED_FUNCTION;
AttributeListImpl(const AttributeListImpl &) LLVM_DELETED_FUNCTION;
void operator=(const AttributeSetImpl &) LLVM_DELETED_FUNCTION;
AttributeSetImpl(const AttributeSetImpl &) LLVM_DELETED_FUNCTION;
public:
SmallVector<AttributeWithIndex, 4> Attrs;
AttributeListImpl(ArrayRef<AttributeWithIndex> attrs)
AttributeSetImpl(ArrayRef<AttributeWithIndex> attrs)
: Attrs(attrs.begin(), attrs.end()) {}
void Profile(FoldingSetNodeID &ID) const {

View File

@ -103,9 +103,9 @@ LLVMContextImpl::~LLVMContextImpl() {
}
// Destroy attribute lists.
for (FoldingSetIterator<AttributeListImpl> I = AttrsLists.begin(),
for (FoldingSetIterator<AttributeSetImpl> I = AttrsLists.begin(),
E = AttrsLists.end(); I != E; ) {
FoldingSetIterator<AttributeListImpl> Elem = I++;
FoldingSetIterator<AttributeSetImpl> Elem = I++;
delete &*Elem;
}

View File

@ -248,7 +248,7 @@ public:
FPMapTy FPConstants;
FoldingSet<AttributesImpl> AttrsSet;
FoldingSet<AttributeListImpl> AttrsLists;
FoldingSet<AttributeSetImpl> AttrsLists;
StringMap<Value*> MDStringCache;