aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/llvm/IR/Attributes.h2
-rw-r--r--lib/IR/Attributes.cpp7
2 files changed, 6 insertions, 3 deletions
diff --git a/include/llvm/IR/Attributes.h b/include/llvm/IR/Attributes.h
index e8762942b1..46ba596307 100644
--- a/include/llvm/IR/Attributes.h
+++ b/include/llvm/IR/Attributes.h
@@ -109,7 +109,7 @@ public:
/// \brief Return a uniquified Attribute object. This takes the uniquified
/// value from the Builder and wraps it in the Attribute class.
- static Attribute get(LLVMContext &Context, AttrKind Kind);
+ static Attribute get(LLVMContext &Context, ArrayRef<AttrKind> Kinds);
static Attribute get(LLVMContext &Context, AttrBuilder &B);
/// \brief Return true if the attribute is present.
diff --git a/lib/IR/Attributes.cpp b/lib/IR/Attributes.cpp
index 937514a0a4..8ec192b813 100644
--- a/lib/IR/Attributes.cpp
+++ b/lib/IR/Attributes.cpp
@@ -30,8 +30,11 @@ using namespace llvm;
// Attribute Implementation
//===----------------------------------------------------------------------===//
-Attribute Attribute::get(LLVMContext &Context, AttrKind Kind) {
- AttrBuilder B(Kind);
+Attribute Attribute::get(LLVMContext &Context, ArrayRef<AttrKind> Kinds) {
+ AttrBuilder B;
+ for (ArrayRef<AttrKind>::iterator I = Kinds.begin(), E = Kinds.end();
+ I != E; ++I)
+ B.addAttribute(*I);
return Attribute::get(Context, B);
}