From 792699c46ef9bfc47dd459bbfa7e71bcb2cee29a Mon Sep 17 00:00:00 2001 From: Tanya Lattner Date: Mon, 24 May 2004 06:11:51 +0000 Subject: Added MachineFunction parent* to MachineBasicBlock. Customized ilist template to set the parent when a MachineBasicBlock is added to a MachineFunction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13716 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/MachineFunction.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'lib/CodeGen/MachineFunction.cpp') diff --git a/lib/CodeGen/MachineFunction.cpp b/lib/CodeGen/MachineFunction.cpp index f0b06378ca..a3e9211f5c 100644 --- a/lib/CodeGen/MachineFunction.cpp +++ b/lib/CodeGen/MachineFunction.cpp @@ -24,6 +24,8 @@ #include "llvm/Target/TargetFrameInfo.h" #include "llvm/Function.h" #include "llvm/iOther.h" +#include "Support/LeakDetector.h" + using namespace llvm; static AnnotationID MF_AID( @@ -84,6 +86,22 @@ FunctionPass *llvm::createMachineCodeDeleter() { //===---------------------------------------------------------------------===// // MachineFunction implementation //===---------------------------------------------------------------------===// +MachineBasicBlock* ilist_traits::createNode() +{ + MachineBasicBlock* dummy = new MachineBasicBlock(); + LeakDetector::removeGarbageObject(dummy); + return dummy; +} + +void ilist_traits::transferNodesFromList( + iplist >& toList, + ilist_iterator first, + ilist_iterator last) +{ + if (parent != toList.parent) + for (; first != last; ++first) + first->Parent = toList.parent; +} MachineFunction::MachineFunction(const Function *F, const TargetMachine &TM) @@ -92,6 +110,7 @@ MachineFunction::MachineFunction(const Function *F, MFInfo = new MachineFunctionInfo(*this); FrameInfo = new MachineFrameInfo(); ConstantPool = new MachineConstantPool(); + BasicBlocks.parent = this; } MachineFunction::~MachineFunction() { -- cgit v1.2.3-18-g5258