The (negative) offset from a SymbolTableListTraits-using ilist to its container
authorChris Lattner <sabre@nondot.org>
Tue, 17 Apr 2007 04:04:14 +0000 (04:04 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 17 Apr 2007 04:04:14 +0000 (04:04 +0000)
commitf8dfef74376dd85f37601855f7519d8256700dab
tree426e7bcdcbcd9beb1c684ced7f62ba3c3b1cbf2b
parent17fcdd5e1b78b829068ca657c97357a39d6e768b
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
include/llvm/BasicBlock.h
include/llvm/Function.h
include/llvm/Module.h
include/llvm/SymbolTableListTraits.h
lib/VMCore/BasicBlock.cpp
lib/VMCore/Function.cpp
lib/VMCore/Module.cpp
lib/VMCore/SymbolTableListTraitsImpl.h