From 847d165459a8d4c30b57c896c7a7e2722f800f82 Mon Sep 17 00:00:00 2001 From: Bill Wendling Date: Wed, 3 Oct 2012 17:54:26 +0000 Subject: Add methods which query for the specific attribute instead of using the enums. This allows for better encapsulation of the Attributes class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165132 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Instructions.h | 16 ++++++++++++++++ include/llvm/Support/CallSite.h | 20 ++++++++++++++++++++ 2 files changed, 36 insertions(+) (limited to 'include') diff --git a/include/llvm/Instructions.h b/include/llvm/Instructions.h index 7a0379e371..a607c84c5b 100644 --- a/include/llvm/Instructions.h +++ b/include/llvm/Instructions.h @@ -1272,6 +1272,14 @@ public: return paramHasAttr(~0, N); } + /// @brief Determine whether the call or the callee has the given attributes. + bool paramHasSExtAttr(unsigned i) const; + bool paramHasZExtAttr(unsigned i) const; + bool paramHasInRegAttr(unsigned i) const; + bool paramHasStructRetAttr(unsigned i) const; + bool paramHasNestAttr(unsigned i) const; + bool paramHasByValAttr(unsigned i) const; + /// @brief Determine whether the call or the callee has the given attribute. bool paramHasAttr(unsigned i, Attributes attr) const; @@ -3034,6 +3042,14 @@ public: return paramHasAttr(~0, N); } + /// @brief Determine whether the call or the callee has the given attributes. + bool paramHasSExtAttr(unsigned i) const; + bool paramHasZExtAttr(unsigned i) const; + bool paramHasInRegAttr(unsigned i) const; + bool paramHasStructRetAttr(unsigned i) const; + bool paramHasNestAttr(unsigned i) const; + bool paramHasByValAttr(unsigned i) const; + /// @brief Determine whether the call or the callee has the given attribute. bool paramHasAttr(unsigned i, Attributes attr) const; diff --git a/include/llvm/Support/CallSite.h b/include/llvm/Support/CallSite.h index 8905e1e33b..3e1a2f5822 100644 --- a/include/llvm/Support/CallSite.h +++ b/include/llvm/Support/CallSite.h @@ -189,6 +189,26 @@ public: CALLSITE_DELEGATE_GETTER(hasFnAttr(N)); } + /// paramHas*Attr - whether the call or the callee has the given attribute. + bool paramHasSExtAttr(unsigned i) const { + CALLSITE_DELEGATE_GETTER(paramHasSExtAttr(i)); + } + bool paramHasZExtAttr(unsigned i) const { + CALLSITE_DELEGATE_GETTER(paramHasZExtAttr(i)); + } + bool paramHasInRegAttr(unsigned i) const { + CALLSITE_DELEGATE_GETTER(paramHasInRegAttr(i)); + } + bool paramHasStructRetAttr(unsigned i) const { + CALLSITE_DELEGATE_GETTER(paramHasStructRetAttr(i)); + } + bool paramHasNestAttr(unsigned i) const { + CALLSITE_DELEGATE_GETTER(paramHasNestAttr(i)); + } + bool paramHasByValAttr(unsigned i) const { + CALLSITE_DELEGATE_GETTER(paramHasByValAttr(i)); + } + /// paramHasAttr - whether the call or the callee has the given attribute. bool paramHasAttr(uint16_t i, Attributes attr) const { CALLSITE_DELEGATE_GETTER(paramHasAttr(i, attr)); -- cgit v1.2.3