Reverting dtor devirtualization patch.

_sabre_: it has a major problem: by the time ~Value is run, all of the "parts" of the derived classes have been destroyed
_sabre_: the vtable lives to fight another day

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44760 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Gordon Henriksen
2007-12-10 02:14:30 +00:00
parent 65b211807d
commit afba8fe662
21 changed files with 228 additions and 663 deletions

View File

@ -53,9 +53,6 @@ template<> struct ilist_traits<Argument>
};
class Function : public GlobalValue, public Annotable {
protected:
static void destroyThis(Function*v);
friend class Value;
public:
typedef iplist<Argument> ArgumentListType;
typedef iplist<BasicBlock> BasicBlockListType;
@ -112,6 +109,7 @@ public:
///
Function(const FunctionType *Ty, LinkageTypes Linkage,
const std::string &N = "", Module *M = 0);
~Function();
const Type *getReturnType() const; // Return the type of the ret val
const FunctionType *getFunctionType() const; // Return the FunctionType for me