The (negative) offset from a SymbolTableListTraits-using ilist to its container

object is always constant.  As such, evaluate it at compile time instead of storing
it as an ivar in SymbolTableListTraits.  This shrinks every SymbolTableListTraits
ilist by a word, shrinking BasicBlock from 44->40 bytes, Function from 96->88 bytes,
and Module from 60->52 bytes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36189 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2007-04-17 04:04:14 +00:00
parent 17fcdd5e1b
commit f8dfef7437
8 changed files with 70 additions and 17 deletions

View File

@@ -64,8 +64,6 @@ template class SymbolTableListTraits<Function, Module>;
Module::Module(const std::string &MID)
: ModuleID(MID), DataLayout("") {
FunctionList.setItemParent(this);
GlobalList.setItemParent(this);
ValSymTab = new ValueSymbolTable();
TypeSymTab = new TypeSymbolTable();
}