aboutsummaryrefslogtreecommitdiff
path: root/include/llvm/Function.h
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-04-17 04:31:29 +0000
committerChris Lattner <sabre@nondot.org>2007-04-17 04:31:29 +0000
commit18feb92e917a029b72a338e91b5b93f74d26f406 (patch)
tree12bcbaace06f3f31a5c5937c57907b39b18f474d /include/llvm/Function.h
parent15b782300691dab380cd11761c09f48606c0d2b7 (diff)
merge several fields in GlobalValue to use the same word, move CallingConv
field into SubclassData in Value. This shrinks GlobalVAlue from 48->40 bytes, Function from 88->76, and GlobalVariable from 76->68. This trims 4640 bytes off my testcase, reading a bc file without materializing any functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36192 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Function.h')
-rw-r--r--include/llvm/Function.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/include/llvm/Function.h b/include/llvm/Function.h
index 3fdbd02500..594b6efdc2 100644
--- a/include/llvm/Function.h
+++ b/include/llvm/Function.h
@@ -69,7 +69,10 @@ private:
ArgumentListType ArgumentList; ///< The formal arguments
ValueSymbolTable *SymTab; ///< Symbol table of args/instructions
ParamAttrsList *ParamAttrs; ///< Parameter attributes
- unsigned CallingConvention; ///< Calling convention to use
+
+
+ // The Calling Convention is stored in Value::SubclassData.
+ /*unsigned CallingConvention;*/
friend class SymbolTableListTraits<Function, Module>;
@@ -113,8 +116,8 @@ public:
/// 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; }
+ unsigned getCallingConv() const { return SubclassData; }
+ void setCallingConv(unsigned CC) { SubclassData = CC; }
/// Obtains a constant pointer to the ParamAttrsList object which holds the
/// parameter attributes information, if any.