From 384c3b5c03bc449eed93ac5fc6933c6c8328974f Mon Sep 17 00:00:00 2001 From: Juergen Ributzka Date: Tue, 5 Aug 2014 05:43:41 +0000 Subject: [PATCH] Provide convenient access to the zext/sext attributes of function arguments. NFC. llvm-svn: 214843 --- llvm/include/llvm/IR/Argument.h | 8 ++++++++ llvm/lib/IR/Function.cpp | 14 ++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/llvm/include/llvm/IR/Argument.h b/llvm/include/llvm/IR/Argument.h index 7c398a5..dd76a90 100644 --- a/llvm/include/llvm/IR/Argument.h +++ b/llvm/include/llvm/IR/Argument.h @@ -105,6 +105,14 @@ public: /// its containing function. bool hasInAllocaAttr() const; + /// \brief Return true if this argument has the zext attribute on it in its + /// containing function. + bool hasZExtAttr() const; + + /// \brief Return true if this argument has the sext attribute on it in its + /// containing function. + bool hasSExtAttr() const; + /// \brief Add a Attribute to an argument. void addAttr(AttributeSet AS); diff --git a/llvm/lib/IR/Function.cpp b/llvm/lib/IR/Function.cpp index de59b26e..f1fe660 100644 --- a/llvm/lib/IR/Function.cpp +++ b/llvm/lib/IR/Function.cpp @@ -166,6 +166,20 @@ bool Argument::hasReturnedAttr() const { hasAttribute(getArgNo()+1, Attribute::Returned); } +/// hasZExtAttr - Return true if this argument has the zext attribute on it in +/// its containing function. +bool Argument::hasZExtAttr() const { + return getParent()->getAttributes(). + hasAttribute(getArgNo()+1, Attribute::ZExt); +} + +/// hasSExtAttr Return true if this argument has the sext attribute on it in its +/// containing function. +bool Argument::hasSExtAttr() const { + return getParent()->getAttributes(). + hasAttribute(getArgNo()+1, Attribute::SExt); +} + /// Return true if this argument has the readonly or readnone attribute on it /// in its containing function. bool Argument::onlyReadsMemory() const { -- 2.7.4