Add support for explicit calling conventions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21745 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2005-05-06 20:26:26 +00:00
parent a62e52ab18
commit 3340ffe854
3 changed files with 36 additions and 5 deletions

View File

@@ -66,6 +66,7 @@ private:
ArgumentListType ArgumentList; // The formal arguments
SymbolTable *SymTab;
unsigned CallingConvention;
friend class SymbolTableListTraits<Function, Module, Module>;
@@ -106,6 +107,12 @@ public:
unsigned getIntrinsicID() const;
bool isIntrinsic() const { return getIntrinsicID() != 0; }
/// getCallingConv()/setCallingConv(uint) - These method get and set the
/// calling convention of this function. The enum values for the known
/// calling conventions are defined in CallingConv.h.
unsigned getCallingConv() const { return CallingConvention; }
void setCallingConv(unsigned CC) { CallingConvention = CC; }
/// renameLocalSymbols - This method goes through the Function's symbol table
/// and renames any symbols that conflict with symbols at global scope. This
/// is required before printing out to a textual form, to ensure that there is