Skip to content
Snippets Groups Projects
Commit 4f147a54 authored by Quentin Colombet's avatar Quentin Colombet
Browse files

[RegBankSelect] Get rid of a now dead method: setSafeInsertPoint.

This is now encapsulated in the RepairingPlacement class.

llvm-svn: 270247
parent ca29023b
No related branches found
No related tags found
No related merge requests found
...@@ -525,11 +525,6 @@ private: ...@@ -525,11 +525,6 @@ private:
RegBankSelect::RepairingPlacement &RepairPt, RegBankSelect::RepairingPlacement &RepairPt,
const iterator_range<SmallVectorImpl<unsigned>::iterator> &NewVRegs); const iterator_range<SmallVectorImpl<unsigned>::iterator> &NewVRegs);
/// Set the insertion point of the MIRBuilder to a safe point
/// to insert instructions before (\p Before == true) or after
/// \p InsertPt.
void setSafeInsertionPoint(MachineInstr &InsertPt, bool Before);
/// Compute the cost of mapping \p MI with \p InstrMapping and /// Compute the cost of mapping \p MI with \p InstrMapping and
/// compute the repairing placement for such mapping in \p /// compute the repairing placement for such mapping in \p
/// RepairPts. /// RepairPts.
......
...@@ -136,40 +136,6 @@ void RegBankSelect::repairReg( ...@@ -136,40 +136,6 @@ void RegBankSelect::repairReg(
// Legalize NewInstrs if need be. // Legalize NewInstrs if need be.
} }
void RegBankSelect::setSafeInsertionPoint(MachineInstr &InsertPt, bool Before) {
// Check that we are not looking to insert before a phi.
// Indeed, we would need more information on what to do.
// By default that should be all the predecessors, but this is
// probably not what we want in general.
assert((!Before || !InsertPt.isPHI()) &&
"Insertion before phis not implemented");
// The same kind of observation hold for terminators if we try to
// insert after them.
assert((Before || !InsertPt.isTerminator()) &&
"Insertion after terminatos not implemented");
if (InsertPt.isPHI()) {
assert(!Before && "Not supported!!");
MachineBasicBlock *MBB = InsertPt.getParent();
assert(MBB && "Insertion point is not in a basic block");
MachineBasicBlock::iterator FirstNonPHIPt = MBB->getFirstNonPHI();
if (FirstNonPHIPt == MBB->end()) {
// If there is not any non-phi instruction, insert at the end of MBB.
MIRBuilder.setMBB(*MBB, /*Beginning*/ false);
return;
}
// The insertion point before the first non-phi instruction.
MIRBuilder.setInstr(*FirstNonPHIPt, /*Before*/ true);
return;
}
if (InsertPt.isTerminator()) {
MachineBasicBlock *MBB = InsertPt.getParent();
assert(MBB && "Insertion point is not in a basic block");
MIRBuilder.setInstr(*MBB->getFirstTerminator(), /*Before*/ true);
return;
}
MIRBuilder.setInstr(InsertPt, /*Before*/ Before);
}
void RegBankSelect::tryAvoidingSplit( void RegBankSelect::tryAvoidingSplit(
RegBankSelect::RepairingPlacement &RepairPt, const MachineOperand &MO, RegBankSelect::RepairingPlacement &RepairPt, const MachineOperand &MO,
const RegisterBankInfo::ValueMapping &ValMapping) const { const RegisterBankInfo::ValueMapping &ValMapping) const {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment