summaryrefslogtreecommitdiff
path: root/include/llvm/Argument.h
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2008-01-24 17:47:11 +0000
committerChris Lattner <sabre@nondot.org>2008-01-24 17:47:11 +0000
commitde6fa5f25f572b79b3dd7bbbe4dba78a54a4b2f8 (patch)
treecce179e781bb29abe688a3c05df9e3a6ac9db254 /include/llvm/Argument.h
parent23e202dee012011a25b3b309d3c05d1915767773 (diff)
downloadllvm-de6fa5f25f572b79b3dd7bbbe4dba78a54a4b2f8.tar.gz
llvm-de6fa5f25f572b79b3dd7bbbe4dba78a54a4b2f8.tar.bz2
llvm-de6fa5f25f572b79b3dd7bbbe4dba78a54a4b2f8.tar.xz
Add hasByValAttr() and hasNoAliasAttr() methods to the Argument class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46314 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Argument.h')
-rw-r--r--include/llvm/Argument.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/include/llvm/Argument.h b/include/llvm/Argument.h
index 314ffeeaa7..a9d85f21d0 100644
--- a/include/llvm/Argument.h
+++ b/include/llvm/Argument.h
@@ -39,13 +39,24 @@ public:
/// Argument ctor - If Function argument is specified, this argument is
/// inserted at the end of the argument list for the function.
///
- explicit Argument(const Type *Ty,
- const std::string &Name = "",
+ explicit Argument(const Type *Ty, const std::string &Name = "",
Function *F = 0);
inline const Function *getParent() const { return Parent; }
inline Function *getParent() { return Parent; }
+ /// getArgNo - Return the index of this formal argument in its containing
+ /// function. For example in "void foo(int a, float b)" a is 0 and b is 1.
+ unsigned getArgNo() const;
+
+ /// hasByValAttr - Return true if this argument has the byval attribute on it
+ /// in its containing function.
+ bool hasByValAttr() const;
+
+ /// hasNoAliasAttr - Return true if this argument has the noalias attribute on
+ /// it in its containing function.
+ bool hasNoAliasAttr() const;
+
virtual void print(std::ostream &OS) const;
void print(std::ostream *OS) const {
if (OS) print(*OS);