mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-30 19:35:54 +00:00
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:
parent
7f4bb1b9f0
commit
18e7211068
@ -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;
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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 {
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -248,7 +248,7 @@ public:
|
||||
FPMapTy FPConstants;
|
||||
|
||||
FoldingSet<AttributesImpl> AttrsSet;
|
||||
FoldingSet<AttributeListImpl> AttrsLists;
|
||||
FoldingSet<AttributeSetImpl> AttrsLists;
|
||||
|
||||
StringMap<Value*> MDStringCache;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user