/// @brief Return true if the call should not be inlined.
bool isNoInline() const { return hasFnAttr(Attributes::NoInline); }
void setIsNoInline() {
- AttrBuilder B;
- B.addAttribute(Attributes::NoInline);
- addAttribute(AttrListPtr::FunctionIndex, Attributes::get(getContext(), B));
+ addAttribute(AttrListPtr::FunctionIndex,
+ Attributes::get(getContext(), Attributes::NoInline));
}
/// @brief Return true if the call can return twice
return hasFnAttr(Attributes::ReturnsTwice);
}
void setCanReturnTwice() {
- AttrBuilder B;
- B.addAttribute(Attributes::ReturnsTwice);
- addAttribute(AttrListPtr::FunctionIndex, Attributes::get(getContext(), B));
+ addAttribute(AttrListPtr::FunctionIndex,
+ Attributes::get(getContext(), Attributes::ReturnsTwice));
}
/// @brief Determine if the call does not access memory.
return hasFnAttr(Attributes::ReadNone);
}
void setDoesNotAccessMemory() {
- AttrBuilder B;
- B.addAttribute(Attributes::ReadNone);
- addAttribute(AttrListPtr::FunctionIndex, Attributes::get(getContext(), B));
+ addAttribute(AttrListPtr::FunctionIndex,
+ Attributes::get(getContext(), Attributes::ReadNone));
}
/// @brief Determine if the call does not access or only reads memory.
return doesNotAccessMemory() || hasFnAttr(Attributes::ReadOnly);
}
void setOnlyReadsMemory() {
- AttrBuilder B;
- B.addAttribute(Attributes::ReadOnly);
- addAttribute(AttrListPtr::FunctionIndex, Attributes::get(getContext(), B));
+ addAttribute(AttrListPtr::FunctionIndex,
+ Attributes::get(getContext(), Attributes::ReadOnly));
}
/// @brief Determine if the call cannot return.
bool doesNotReturn() const { return hasFnAttr(Attributes::NoReturn); }
void setDoesNotReturn() {
- AttrBuilder B;
- B.addAttribute(Attributes::NoReturn);
- addAttribute(AttrListPtr::FunctionIndex, Attributes::get(getContext(), B));
+ addAttribute(AttrListPtr::FunctionIndex,
+ Attributes::get(getContext(), Attributes::NoReturn));
}
/// @brief Determine if the call cannot unwind.
bool doesNotThrow() const { return hasFnAttr(Attributes::NoUnwind); }
void setDoesNotThrow() {
- AttrBuilder B;
- B.addAttribute(Attributes::NoUnwind);
- addAttribute(AttrListPtr::FunctionIndex, Attributes::get(getContext(), B));
+ addAttribute(AttrListPtr::FunctionIndex,
+ Attributes::get(getContext(), Attributes::NoUnwind));
}
/// @brief Determine if the call returns a structure through first
/// @brief Return true if the call should not be inlined.
bool isNoInline() const { return hasFnAttr(Attributes::NoInline); }
void setIsNoInline() {
- AttrBuilder B;
- B.addAttribute(Attributes::NoInline);
- addAttribute(AttrListPtr::FunctionIndex, Attributes::get(getContext(), B));
+ addAttribute(AttrListPtr::FunctionIndex,
+ Attributes::get(getContext(), Attributes::NoInline));
}
/// @brief Determine if the call does not access memory.
return hasFnAttr(Attributes::ReadNone);
}
void setDoesNotAccessMemory() {
- AttrBuilder B;
- B.addAttribute(Attributes::ReadNone);
- addAttribute(AttrListPtr::FunctionIndex, Attributes::get(getContext(), B));
+ addAttribute(AttrListPtr::FunctionIndex,
+ Attributes::get(getContext(), Attributes::ReadNone));
}
/// @brief Determine if the call does not access or only reads memory.
return doesNotAccessMemory() || hasFnAttr(Attributes::ReadOnly);
}
void setOnlyReadsMemory() {
- AttrBuilder B;
- B.addAttribute(Attributes::ReadOnly);
- addAttribute(AttrListPtr::FunctionIndex, Attributes::get(getContext(), B));
+ addAttribute(AttrListPtr::FunctionIndex,
+ Attributes::get(getContext(), Attributes::ReadOnly));
}
/// @brief Determine if the call cannot return.
bool doesNotReturn() const { return hasFnAttr(Attributes::NoReturn); }
void setDoesNotReturn() {
- AttrBuilder B;
- B.addAttribute(Attributes::NoReturn);
- addAttribute(AttrListPtr::FunctionIndex, Attributes::get(getContext(), B));
+ addAttribute(AttrListPtr::FunctionIndex,
+ Attributes::get(getContext(), Attributes::NoReturn));
}
/// @brief Determine if the call cannot unwind.
bool doesNotThrow() const { return hasFnAttr(Attributes::NoUnwind); }
void setDoesNotThrow() {
- AttrBuilder B;
- B.addAttribute(Attributes::NoUnwind);
- addAttribute(AttrListPtr::FunctionIndex, Attributes::get(getContext(), B));
+ addAttribute(AttrListPtr::FunctionIndex,
+ Attributes::get(getContext(), Attributes::NoUnwind));
}
/// @brief Determine if the call returns a structure through first