Annotations are evil. This makes Value not derive from Annotable, which makes
authorChris Lattner <sabre@nondot.org>
Thu, 26 Feb 2004 08:08:38 +0000 (08:08 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 26 Feb 2004 08:08:38 +0000 (08:08 +0000)
commitc230978a82adff3ab9d6ae0426a942e431ce9c5e
treeda674c657ece115b48edc8be3f18142e3f2acdd4
parentfd343b0bec773c611e468a9e42d991a0ff26d68d
Annotations are evil.  This makes Value not derive from Annotable, which makes
all dynamically allocated LLVM values 4 bytes smaller, eliminate some vtables, and
make Value's destructor faster.

This makes Function derive from Annotation now because it is the only core LLVM
class that still has an annotation stuck onto it: MachineFunction.
MachineFunction is obviously horrible and gross (like most other annotations), but
will be the subject of refactorings later in the future.  Besides many fewer
Function objects are dynamically allocated that instructions blocks, constants,
types, etc... :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11878 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Function.h
include/llvm/Value.h