aboutsummaryrefslogtreecommitdiffstats
path: root/lib/IR
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2013-01-23 00:20:53 +0000
committerBill Wendling <isanbard@gmail.com>2013-01-23 00:20:53 +0000
commit70d2ca0725b05a2d372e4dc3336e8ea350093e98 (patch)
tree2249ebb9f544a38c5ed721ded4957a66bb1b5917 /lib/IR
parentbdd4e1311830bea92c8b8c09f0644cba15421241 (diff)
downloadexternal_llvm-70d2ca0725b05a2d372e4dc3336e8ea350093e98.zip
external_llvm-70d2ca0725b05a2d372e4dc3336e8ea350093e98.tar.gz
external_llvm-70d2ca0725b05a2d372e4dc3336e8ea350093e98.tar.bz2
Use the AttributeSet when adding multiple attributes and an Attribute::AttrKind
when adding a single attribute to the function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173210 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/IR')
-rw-r--r--lib/IR/Function.cpp21
1 files changed, 14 insertions, 7 deletions
diff --git a/lib/IR/Function.cpp b/lib/IR/Function.cpp
index 6a5e616..4d047f6 100644
--- a/lib/IR/Function.cpp
+++ b/lib/IR/Function.cpp
@@ -125,7 +125,10 @@ bool Argument::hasStructRetAttr() const {
/// addAttr - Add a Attribute to an argument
void Argument::addAttr(Attribute attr) {
- getParent()->addAttribute(getArgNo() + 1, attr);
+ AttrBuilder B(attr);
+ getParent()->addAttributes(getArgNo() + 1,
+ AttributeSet::get(getParent()->getContext(),
+ getArgNo() + 1, B));
}
/// removeAttr - Remove a Attribute from an argument
@@ -248,17 +251,21 @@ void Function::dropAllReferences() {
BasicBlocks.begin()->eraseFromParent();
}
-void Function::addAttribute(unsigned i, Attribute attr) {
+void Function::addAttribute(unsigned i, Attribute::AttrKind attr) {
AttributeSet PAL = getAttributes();
- AttrBuilder B(attr);
- PAL = PAL.addAttributes(getContext(), i,
- AttributeSet::get(getContext(), i, B));
+ PAL = PAL.addAttribute(getContext(), i, attr);
+ setAttributes(PAL);
+}
+
+void Function::addAttributes(unsigned i, AttributeSet attrs) {
+ AttributeSet PAL = getAttributes();
+ PAL = PAL.addAttributes(getContext(), i, attrs);
setAttributes(PAL);
}
-void Function::removeAttribute(unsigned i, Attribute attr) {
+void Function::removeAttribute(unsigned i, Attribute attrs) {
AttributeSet PAL = getAttributes();
- PAL = PAL.removeAttr(getContext(), i, attr);
+ PAL = PAL.removeAttr(getContext(), i, attrs);
setAttributes(PAL);
}