diff --git a/lib/CodeGen/MachineBasicBlock.cpp b/lib/CodeGen/MachineBasicBlock.cpp index f4ef3ee21e3..a8a64dba516 100644 --- a/lib/CodeGen/MachineBasicBlock.cpp +++ b/lib/CodeGen/MachineBasicBlock.cpp @@ -29,27 +29,23 @@ MachineBasicBlock::~MachineBasicBlock() { // 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::addNodeToList (MachineBasicBlock* N) -{ +void ilist_traits::addNodeToList(MachineBasicBlock* N) { assert(N->Parent == 0 && "machine instruction already in a basic block"); N->Parent = Parent; - N->Number = Parent->getNextMBBNumber(); + N->Number = Parent->addToMBBNumbering(N); LeakDetector::removeGarbageObject(N); - - } -void ilist_traits::removeNodeFromList (MachineBasicBlock* N) -{ +void ilist_traits::removeNodeFromList(MachineBasicBlock* N) { assert(N->Parent != 0 && "machine instruction not in a basic block"); - N->Parent = 0; + N->Parent->removeFromMBBNumbering(N->Number); N->Number = -1; + N->Parent = 0; LeakDetector::addGarbageObject(N); } -MachineInstr* ilist_traits::createNode() -{ +MachineInstr* ilist_traits::createNode() { MachineInstr* dummy = new MachineInstr(0, 0); LeakDetector::removeGarbageObject(dummy); return dummy;