mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-19 11:02:59 +02:00
SelectionDAG: Avoid implicit iterator conversions in SelectionDAGISel, NFC
llvm-svn: 274904
This commit is contained in:
parent
b2c24a8887
commit
558a0364fc
@ -1345,7 +1345,7 @@ void SelectionDAGISel::SelectAllBasicBlocks(const Function &Fn) {
|
||||
// where they are, so we can be sure to emit subsequent instructions
|
||||
// after them.
|
||||
if (FuncInfo->InsertPt != FuncInfo->MBB->begin())
|
||||
FastIS->setLastLocalValue(std::prev(FuncInfo->InsertPt));
|
||||
FastIS->setLastLocalValue(&*std::prev(FuncInfo->InsertPt));
|
||||
else
|
||||
FastIS->setLastLocalValue(nullptr);
|
||||
}
|
||||
@ -1499,15 +1499,15 @@ void SelectionDAGISel::SelectAllBasicBlocks(const Function &Fn) {
|
||||
/// terminator instructors so we can satisfy ABI constraints. A partial
|
||||
/// terminator sequence is an improper subset of a terminator sequence (i.e. it
|
||||
/// may be the whole terminator sequence).
|
||||
static bool MIIsInTerminatorSequence(const MachineInstr *MI) {
|
||||
static bool MIIsInTerminatorSequence(const MachineInstr &MI) {
|
||||
// If we do not have a copy or an implicit def, we return true if and only if
|
||||
// MI is a debug value.
|
||||
if (!MI->isCopy() && !MI->isImplicitDef())
|
||||
if (!MI.isCopy() && !MI.isImplicitDef())
|
||||
// Sometimes DBG_VALUE MI sneak in between the copies from the vregs to the
|
||||
// physical registers if there is debug info associated with the terminator
|
||||
// of our mbb. We want to include said debug info in our terminator
|
||||
// sequence, so we return true in that case.
|
||||
return MI->isDebugValue();
|
||||
return MI.isDebugValue();
|
||||
|
||||
// We have left the terminator sequence if we are not doing one of the
|
||||
// following:
|
||||
@ -1517,18 +1517,18 @@ static bool MIIsInTerminatorSequence(const MachineInstr *MI) {
|
||||
// 3. Defining a register via an implicit def.
|
||||
|
||||
// OPI should always be a register definition...
|
||||
MachineInstr::const_mop_iterator OPI = MI->operands_begin();
|
||||
MachineInstr::const_mop_iterator OPI = MI.operands_begin();
|
||||
if (!OPI->isReg() || !OPI->isDef())
|
||||
return false;
|
||||
|
||||
// Defining any register via an implicit def is always ok.
|
||||
if (MI->isImplicitDef())
|
||||
if (MI.isImplicitDef())
|
||||
return true;
|
||||
|
||||
// Grab the copy source...
|
||||
MachineInstr::const_mop_iterator OPI2 = OPI;
|
||||
++OPI2;
|
||||
assert(OPI2 != MI->operands_end()
|
||||
assert(OPI2 != MI.operands_end()
|
||||
&& "Should have a copy implying we should have 2 arguments.");
|
||||
|
||||
// Make sure that the copy dest is not a vreg when the copy source is a
|
||||
@ -1565,7 +1565,7 @@ FindSplitPointForStackProtector(MachineBasicBlock *BB) {
|
||||
MachineBasicBlock::iterator Previous = SplitPoint;
|
||||
--Previous;
|
||||
|
||||
while (MIIsInTerminatorSequence(Previous)) {
|
||||
while (MIIsInTerminatorSequence(*Previous)) {
|
||||
SplitPoint = Previous;
|
||||
if (Previous == Start)
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user