git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173725
91177308-0d34-0410-b5e6-
96231b3b80d8
Attribute() : pImpl(0) {}
/// \brief Return a uniquified Attribute object.
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
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,
/// \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,
static AttributeSet get(LLVMContext &C,
- ArrayRef<std::pair<uint64_t,
+ ArrayRef<std::pair<unsigned,
AttributeSetNode*> > Attrs);
static AttributeSet getImpl(LLVMContext &C,
AttributeSetNode*> > Attrs);
static AttributeSet getImpl(LLVMContext &C,
- ArrayRef<std::pair<uint64_t,
+ ArrayRef<std::pair<unsigned,
AttributeSetNode*> > Attrs);
AttributeSetNode*> > Attrs);
- 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.
SmallVector<IndexAttrPair, 4> AttrNodes;
// AttributesSet is uniqued, these should not be publicly available.
AttributeSetImpl(const AttributeSetImpl &) LLVM_DELETED_FUNCTION;
public:
AttributeSetImpl(LLVMContext &C,
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.
: Context(C), AttrNodes(attrs.begin(), attrs.end()) {}
/// \brief Get the context that created this AttributeSetImpl.
Profile(ID, AttrNodes);
}
static void Profile(FoldingSetNodeID &ID,
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);
for (unsigned i = 0, e = Nodes.size(); i != e; ++i) {
ID.AddInteger(Nodes[i].first);
ID.AddPointer(Nodes[i].second);
// Attribute Implementation
//===----------------------------------------------------------------------===//
// Attribute Implementation
//===----------------------------------------------------------------------===//
-Attribute Attribute::get(LLVMContext &Context, ArrayRef<AttrKind> Kinds) {
+Attribute Attribute::get(LLVMContext &Context, AttrKind Kind) {
- 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) {
}
Attribute Attribute::get(LLVMContext &Context, AttrBuilder &B) {
// FIXME: Remove.
return pImpl && hasAttributes(Idx) ?
AttributeSet::get(pImpl->getContext(),
// 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();
}
std::make_pair(Idx, getAttributes(Idx)))) :
AttributeSet();
}
// FIXME: Remove.
return pImpl && hasAttributes(ReturnIndex) ?
AttributeSet::get(pImpl->getContext(),
// 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();
std::make_pair(ReturnIndex,
getAttributes(ReturnIndex)))) :
AttributeSet();
// FIXME: Remove.
return pImpl && hasAttributes(FunctionIndex) ?
AttributeSet::get(pImpl->getContext(),
// 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,
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;
AttributeSetNode*> > Attrs) {
LLVMContextImpl *pImpl = C.pImpl;
FoldingSetNodeID ID;
}
AttributeSet AttributeSet::get(LLVMContext &C,
}
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();
// If there are no attributes then return a null AttributesList pointer.
if (Attrs.empty())
return AttributeSet();
- // Create a vector if (uint64_t, AttributeSetNode*) pairs from the attributes
+ // Create a vector if (unsigned, AttributeSetNode*) pairs from the attributes
- 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; ) {
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);
SmallVector<Attribute, 4> AttrVec;
while (I->first == Index && I != E) {
AttrVec.push_back(I->second);
}
AttributeSet AttributeSet::get(LLVMContext &C,
}
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())
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();
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) {
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)));
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) {
}
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;
for (unsigned I = 0, E = Attrs.size(); I != E; ++I) {
AttributeSet AS = Attrs[I];
if (!AS.pImpl) continue;