Moved MachineBasicBlock deconstructor to cpp file and removed it from LeakDetector...
authorTanya Lattner <tonic@nondot.org>
Mon, 24 May 2004 07:14:35 +0000 (07:14 +0000)
committerTanya Lattner <tonic@nondot.org>
Mon, 24 May 2004 07:14:35 +0000 (07:14 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13718 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/CodeGen/MachineBasicBlock.h
include/llvm/CodeGen/MachineFunction.h
lib/CodeGen/MachineBasicBlock.cpp
lib/CodeGen/MachineFunction.cpp

index 4dfda90ae80e4efdba89ce27f875691b8979d735..3dee00da3192af4a393624150f0e59864cf15ffa 100644 (file)
@@ -71,7 +71,8 @@ public:
                                                 Number(-1), Parent(0) {
     Insts.parent = this;
   }
-  ~MachineBasicBlock() {}
+
+  ~MachineBasicBlock();
   
   /// getBasicBlock - Return the LLVM basic block that this instance
   /// corresponded to originally.
index dcec822f8e93a14750a45aa26e96c906041b5158..e1c19865fa48f6e1886389d8ed11711f718d68ca 100644 (file)
@@ -28,10 +28,10 @@ template <>
 class ilist_traits<MachineBasicBlock> {
   // this is only set by the MachineFunction owning the ilist
   friend class MachineFunction;
-  MachineFunction* parent;
+  MachineFunction* Parent;
   
 public:
-  ilist_traits<MachineBasicBlock>() : parent(0) { }
+  ilist_traits<MachineBasicBlock>() : Parent(0) { }
   
   static MachineBasicBlock* getPrev(MachineBasicBlock* N) { return N->Prev; }
   static MachineBasicBlock* getNext(MachineBasicBlock* N) { return N->Next; }
@@ -68,7 +68,7 @@ class MachineFunction : private Annotation {
   const TargetMachine &Target;
 
   // List of machine basic blocks in function
-  iplist<MachineBasicBlock> BasicBlocks;
+  ilist<MachineBasicBlock> BasicBlocks;
 
   // Keeping track of mapping from SSA values to registers
   SSARegMap *SSARegMapping;
@@ -145,7 +145,7 @@ public:
   static MachineFunction& get(const Function *F);
 
   // Provide accessors for the MachineBasicBlock list...
-  typedef iplist<MachineBasicBlock> BasicBlockListType;
+  typedef ilist<MachineBasicBlock> BasicBlockListType;
   typedef BasicBlockListType::iterator iterator;
   typedef BasicBlockListType::const_iterator const_iterator;
   typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
index c0b144d26c3d390adb323b68948fe79cfe8f8de6..c72b247d8a47b47937c65cc692da4cc4945df3a0 100644 (file)
 #include "Support/LeakDetector.h"
 using namespace llvm;
 
+MachineBasicBlock::~MachineBasicBlock() {
+  LeakDetector::removeGarbageObject(this);
+}
+  
+
+
 // MBBs start out as #-1. When a MBB is added to a MachineFunction, it 
 // gets the next available unique MBB number. If it is removed from a
 // MachineFunction, it goes back to being #-1.
 void ilist_traits<MachineBasicBlock>::addNodeToList (MachineBasicBlock* N)
 {
   assert(N->Parent == 0 && "machine instruction already in a basic block");
-  N->Parent = parent;
-  N->Number = parent->getNextMBBNumber();
+  N->Parent = Parent;
+  N->Number = Parent->getNextMBBNumber();
   LeakDetector::removeGarbageObject(N);
   
 
index a3e9211f5c34b0316b5849773f5625844973ea0f..54149c3281fa9d093ecb4cd2eb4eb5cfa7b33b7f 100644 (file)
@@ -98,9 +98,9 @@ void ilist_traits<MachineBasicBlock>::transferNodesFromList(
     ilist_iterator<MachineBasicBlock> first,
     ilist_iterator<MachineBasicBlock> last)
 {
-    if (parent != toList.parent)
+    if (Parent != toList.Parent)
         for (; first != last; ++first)
-            first->Parent = toList.parent;
+            first->Parent = toList.Parent;
 }
 
 MachineFunction::MachineFunction(const Function *F,
@@ -110,7 +110,7 @@ MachineFunction::MachineFunction(const Function *F,
   MFInfo = new MachineFunctionInfo(*this);
   FrameInfo = new MachineFrameInfo();
   ConstantPool = new MachineConstantPool();
-  BasicBlocks.parent = this;
+  BasicBlocks.Parent = this;
 }
 
 MachineFunction::~MachineFunction() {