summaryrefslogtreecommitdiffstats
path: root/llvm/lib/IR/Attributes.cpp
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2013-01-28 00:46:02 +0000
committerBill Wendling <isanbard@gmail.com>2013-01-28 00:46:02 +0000
commit73fe152cd8a3b45711d27a9c5bc53debc654e453 (patch)
tree09ccf522094b1afb5c7e81380df5d8981bf59dc8 /llvm/lib/IR/Attributes.cpp
parent9eb689cf1c1c839a8dcd4afa54e66c45b070e6ae (diff)
downloadbcm5719-llvm-73fe152cd8a3b45711d27a9c5bc53debc654e453.tar.gz
bcm5719-llvm-73fe152cd8a3b45711d27a9c5bc53debc654e453.zip
Remove another use of AttributeWithIndex, using the AttributeSetImpl accessors instead.
llvm-svn: 173642
Diffstat (limited to 'llvm/lib/IR/Attributes.cpp')
-rw-r--r--llvm/lib/IR/Attributes.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/llvm/lib/IR/Attributes.cpp b/llvm/lib/IR/Attributes.cpp
index 59d3ef03dd8..c41fb318db2 100644
--- a/llvm/lib/IR/Attributes.cpp
+++ b/llvm/lib/IR/Attributes.cpp
@@ -752,10 +752,11 @@ Attribute AttributeSet::getAttributes(unsigned Idx) const {
bool AttributeSet::hasAttrSomewhere(Attribute::AttrKind Attr) const {
if (pImpl == 0) return false;
- ArrayRef<AttributeWithIndex> Attrs = pImpl->getAttributes();
- for (unsigned i = 0, e = Attrs.size(); i != e; ++i)
- if (Attrs[i].Attrs.hasAttribute(Attr))
- return true;
+ for (unsigned I = 0, E = pImpl->getNumAttributes(); I != E; ++I)
+ for (AttributeSetImpl::iterator II = pImpl->begin(I),
+ IE = pImpl->end(I); II != IE; ++II)
+ if (II->hasAttribute(Attr))
+ return true;
return false;
}
@@ -788,11 +789,12 @@ AttributeSet AttributeSet::addAttr(LLVMContext &C, unsigned Idx,
return *this;
SmallVector<AttributeWithIndex, 8> NewAttrList;
- if (pImpl == 0)
+ if (pImpl == 0) {
NewAttrList.push_back(AttributeWithIndex::get(Idx, Attrs));
- else {
+ } else {
ArrayRef<AttributeWithIndex> OldAttrList = pImpl->getAttributes();
unsigned i = 0, e = OldAttrList.size();
+
// Copy attributes for arguments before this one.
for (; i != e && OldAttrList[i].Index < Idx; ++i)
NewAttrList.push_back(OldAttrList[i]);
OpenPOWER on IntegriCloud