aboutsummaryrefslogtreecommitdiff
path: root/include/llvm/Function.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/Function.h')
-rw-r--r--include/llvm/Function.h26
1 files changed, 19 insertions, 7 deletions
diff --git a/include/llvm/Function.h b/include/llvm/Function.h
index be7ea91049..36b0dd3df8 100644
--- a/include/llvm/Function.h
+++ b/include/llvm/Function.h
@@ -160,26 +160,38 @@ public:
void clearCollector();
/// @brief Determine whether the function has the given attribute.
- bool paramHasAttr(uint16_t i, ParameterAttributes attr) const;
+ bool paramHasAttr(unsigned i, ParameterAttributes attr) const {
+ return ParamAttrs.paramHasAttr(i, attr);
+ }
/// @brief Extract the alignment for a call or parameter (0=unknown).
- uint16_t getParamAlignment(uint16_t i) const;
+ unsigned getParamAlignment(unsigned i) const {
+ return ParamAttrs.getParamAlignment(i);
+ }
/// @brief Determine if the function cannot return.
- bool doesNotReturn() const;
+ bool doesNotReturn() const { return paramHasAttr(0, ParamAttr::NoReturn); }
/// @brief Determine if the function cannot unwind.
- bool doesNotThrow() const;
+ bool doesNotThrow() const {
+ return paramHasAttr(0, ParamAttr::NoUnwind);
+ }
/// @brief Determine if the function does not access memory.
- bool doesNotAccessMemory() const;
+ bool doesNotAccessMemory() const {
+ return paramHasAttr(0, ParamAttr::ReadNone);
+ }
/// @brief Determine if the function does not access or only reads memory.
- bool onlyReadsMemory() const;
+ bool onlyReadsMemory() const {
+ return doesNotAccessMemory() || paramHasAttr(0, ParamAttr::ReadOnly);
+ }
/// @brief Determine if the function returns a structure through first
/// pointer argument.
- bool hasStructRetAttr() const;
+ bool hasStructRetAttr() const {
+ return paramHasAttr(1, ParamAttr::StructRet);
+ }
/// deleteBody - This method deletes the body of the function, and converts
/// the linkage to external.