mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-28 06:00:28 +00:00
Change MBB autonumber a bit to get the reverse mapping as well as a forward
mapping git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14521 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
51289aa520
commit
ca48eb9f51
@ -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<MachineBasicBlock>::addNodeToList (MachineBasicBlock* N)
|
||||
{
|
||||
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->Number = Parent->addToMBBNumbering(N);
|
||||
LeakDetector::removeGarbageObject(N);
|
||||
|
||||
|
||||
}
|
||||
|
||||
void ilist_traits<MachineBasicBlock>::removeNodeFromList (MachineBasicBlock* N)
|
||||
{
|
||||
void ilist_traits<MachineBasicBlock>::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<MachineInstr>::createNode()
|
||||
{
|
||||
MachineInstr* ilist_traits<MachineInstr>::createNode() {
|
||||
MachineInstr* dummy = new MachineInstr(0, 0);
|
||||
LeakDetector::removeGarbageObject(dummy);
|
||||
return dummy;
|
||||
|
Loading…
Reference in New Issue
Block a user