Attribute() : pImpl(0) {}
/// \brief Return a uniquified Attribute object.
- static Attribute get(LLVMContext &Context, ArrayRef<AttrKind> Kinds);
+ static Attribute get(LLVMContext &Context, AttrKind Kind);
static Attribute get(LLVMContext &Context, AttrBuilder &B);
/// \brief Return a uniquified Attribute object that has the specific
/// \brief Create an AttributeSet with the specified parameters in it.
static AttributeSet get(LLVMContext &C,
- ArrayRef<std::pair<uint64_t, Attribute> > Attrs);
+ ArrayRef<std::pair<unsigned, Attribute> > Attrs);
static AttributeSet get(LLVMContext &C,
- ArrayRef<std::pair<uint64_t,
+ ArrayRef<std::pair<unsigned,
AttributeSetNode*> > Attrs);
static AttributeSet getImpl(LLVMContext &C,
- ArrayRef<std::pair<uint64_t,
+ ArrayRef<std::pair<unsigned,
AttributeSetNode*> > Attrs);
LLVMContext &Context;
- typedef std::pair<uint64_t, AttributeSetNode*> IndexAttrPair;
+ typedef std::pair<unsigned, AttributeSetNode*> IndexAttrPair;
SmallVector<IndexAttrPair, 4> AttrNodes;
// AttributesSet is uniqued, these should not be publicly available.
AttributeSetImpl(const AttributeSetImpl &) LLVM_DELETED_FUNCTION;
public:
AttributeSetImpl(LLVMContext &C,
- ArrayRef<std::pair<uint64_t, AttributeSetNode*> > attrs)
+ ArrayRef<std::pair<unsigned, AttributeSetNode*> > attrs)
: Context(C), AttrNodes(attrs.begin(), attrs.end()) {}
/// \brief Get the context that created this AttributeSetImpl.
Profile(ID, AttrNodes);
}
static void Profile(FoldingSetNodeID &ID,
- ArrayRef<std::pair<uint64_t, AttributeSetNode*> > Nodes) {
+ ArrayRef<std::pair<unsigned, AttributeSetNode*> > Nodes) {
for (unsigned i = 0, e = Nodes.size(); i != e; ++i) {
ID.AddInteger(Nodes[i].first);
ID.AddPointer(Nodes[i].second);
// Attribute Implementation
//===----------------------------------------------------------------------===//
-Attribute Attribute::get(LLVMContext &Context, ArrayRef<AttrKind> Kinds) {
+Attribute Attribute::get(LLVMContext &Context, AttrKind Kind) {
AttrBuilder B;
- for (ArrayRef<AttrKind>::iterator I = Kinds.begin(), E = Kinds.end();
- I != E; ++I)
- B.addAttribute(*I);
- return Attribute::get(Context, B);
+ return Attribute::get(Context, B.addAttribute(Kind));
}
Attribute Attribute::get(LLVMContext &Context, AttrBuilder &B) {
// FIXME: Remove.
return pImpl && hasAttributes(Idx) ?
AttributeSet::get(pImpl->getContext(),
- ArrayRef<std::pair<uint64_t, Attribute> >(
+ ArrayRef<std::pair<unsigned, Attribute> >(
std::make_pair(Idx, getAttributes(Idx)))) :
AttributeSet();
}
// FIXME: Remove.
return pImpl && hasAttributes(ReturnIndex) ?
AttributeSet::get(pImpl->getContext(),
- ArrayRef<std::pair<uint64_t, Attribute> >(
+ ArrayRef<std::pair<unsigned, Attribute> >(
std::make_pair(ReturnIndex,
getAttributes(ReturnIndex)))) :
AttributeSet();
// FIXME: Remove.
return pImpl && hasAttributes(FunctionIndex) ?
AttributeSet::get(pImpl->getContext(),
- ArrayRef<std::pair<uint64_t, Attribute> >(
+ ArrayRef<std::pair<unsigned, Attribute> >(
std::make_pair(FunctionIndex,
getAttributes(FunctionIndex)))) :
AttributeSet();
}
AttributeSet AttributeSet::getImpl(LLVMContext &C,
- ArrayRef<std::pair<uint64_t,
+ ArrayRef<std::pair<unsigned,
AttributeSetNode*> > Attrs) {
LLVMContextImpl *pImpl = C.pImpl;
FoldingSetNodeID ID;
}
AttributeSet AttributeSet::get(LLVMContext &C,
- ArrayRef<std::pair<uint64_t, Attribute> > Attrs){
+ ArrayRef<std::pair<unsigned, Attribute> > Attrs){
// If there are no attributes then return a null AttributesList pointer.
if (Attrs.empty())
return AttributeSet();
}
#endif
- // Create a vector if (uint64_t, AttributeSetNode*) pairs from the attributes
+ // Create a vector if (unsigned, AttributeSetNode*) pairs from the attributes
// list.
- SmallVector<std::pair<uint64_t, AttributeSetNode*>, 8> AttrPairVec;
- for (ArrayRef<std::pair<uint64_t, Attribute> >::iterator I = Attrs.begin(),
+ SmallVector<std::pair<unsigned, AttributeSetNode*>, 8> AttrPairVec;
+ for (ArrayRef<std::pair<unsigned, Attribute> >::iterator I = Attrs.begin(),
E = Attrs.end(); I != E; ) {
- uint64_t Index = I->first;
+ unsigned Index = I->first;
SmallVector<Attribute, 4> AttrVec;
while (I->first == Index && I != E) {
AttrVec.push_back(I->second);
}
AttributeSet AttributeSet::get(LLVMContext &C,
- ArrayRef<std::pair<uint64_t,
+ ArrayRef<std::pair<unsigned,
AttributeSetNode*> > Attrs) {
// If there are no attributes then return a null AttributesList pointer.
if (Attrs.empty())
AttributeSet AttributeSet::get(LLVMContext &C, unsigned Idx, AttrBuilder &B) {
if (!B.hasAttributes())
return AttributeSet();
- return get(C, ArrayRef<std::pair<uint64_t, Attribute> >(
+ return get(C, ArrayRef<std::pair<unsigned, Attribute> >(
std::make_pair(Idx, Attribute::get(C, B))));
}
AttributeSet AttributeSet::get(LLVMContext &C, unsigned Idx,
ArrayRef<Attribute::AttrKind> Kind) {
- SmallVector<std::pair<uint64_t, Attribute>, 8> Attrs;
+ SmallVector<std::pair<unsigned, Attribute>, 8> Attrs;
for (ArrayRef<Attribute::AttrKind>::iterator I = Kind.begin(),
E = Kind.end(); I != E; ++I)
Attrs.push_back(std::make_pair(Idx, Attribute::get(C, *I)));
}
AttributeSet AttributeSet::get(LLVMContext &C, ArrayRef<AttributeSet> Attrs) {
- SmallVector<std::pair<uint64_t, AttributeSetNode*>, 8> AttrNodeVec;
+ SmallVector<std::pair<unsigned, AttributeSetNode*>, 8> AttrNodeVec;
for (unsigned I = 0, E = Attrs.size(); I != E; ++I) {
AttributeSet AS = Attrs[I];
if (!AS.pImpl) continue;