mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-09-24 23:28:41 +00:00
[C++11] More 'nullptr' conversion. In some cases just using a boolean check instead of comparing to nullptr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206142 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -189,7 +189,7 @@ bool BranchFolder::OptimizeFunction(MachineFunction &MF,
|
||||
TII = tii;
|
||||
TRI = tri;
|
||||
MMI = mmi;
|
||||
RS = NULL;
|
||||
RS = nullptr;
|
||||
|
||||
// Use a RegScavenger to help update liveness when required.
|
||||
MachineRegisterInfo &MRI = MF.getRegInfo();
|
||||
@@ -201,7 +201,7 @@ bool BranchFolder::OptimizeFunction(MachineFunction &MF,
|
||||
// Fix CFG. The later algorithms expect it to be right.
|
||||
bool MadeChange = false;
|
||||
for (MachineFunction::iterator I = MF.begin(), E = MF.end(); I != E; I++) {
|
||||
MachineBasicBlock *MBB = I, *TBB = 0, *FBB = 0;
|
||||
MachineBasicBlock *MBB = I, *TBB = nullptr, *FBB = nullptr;
|
||||
SmallVector<MachineOperand, 4> Cond;
|
||||
if (!TII->AnalyzeBranch(*MBB, TBB, FBB, Cond, true))
|
||||
MadeChange |= MBB->CorrectExtraCFGEdges(TBB, FBB, !Cond.empty());
|
||||
@@ -220,7 +220,7 @@ bool BranchFolder::OptimizeFunction(MachineFunction &MF,
|
||||
// See if any jump tables have become dead as the code generator
|
||||
// did its thing.
|
||||
MachineJumpTableInfo *JTI = MF.getJumpTableInfo();
|
||||
if (JTI == 0) {
|
||||
if (!JTI) {
|
||||
delete RS;
|
||||
return MadeChange;
|
||||
}
|
||||
@@ -416,7 +416,7 @@ MachineBasicBlock *BranchFolder::SplitMBBAt(MachineBasicBlock &CurMBB,
|
||||
MachineBasicBlock::iterator BBI1,
|
||||
const BasicBlock *BB) {
|
||||
if (!TII->isLegalToSplitMBBAt(CurMBB, BBI1))
|
||||
return 0;
|
||||
return nullptr;
|
||||
|
||||
MachineFunction &MF = *CurMBB.getParent();
|
||||
|
||||
@@ -466,7 +466,7 @@ static void FixTail(MachineBasicBlock *CurMBB, MachineBasicBlock *SuccBB,
|
||||
const TargetInstrInfo *TII) {
|
||||
MachineFunction *MF = CurMBB->getParent();
|
||||
MachineFunction::iterator I = std::next(MachineFunction::iterator(CurMBB));
|
||||
MachineBasicBlock *TBB = 0, *FBB = 0;
|
||||
MachineBasicBlock *TBB = nullptr, *FBB = nullptr;
|
||||
SmallVector<MachineOperand, 4> Cond;
|
||||
DebugLoc dl; // FIXME: this is nowhere
|
||||
if (I != MF->end() &&
|
||||
@@ -475,12 +475,12 @@ static void FixTail(MachineBasicBlock *CurMBB, MachineBasicBlock *SuccBB,
|
||||
if (TBB == NextBB && !Cond.empty() && !FBB) {
|
||||
if (!TII->ReverseBranchCondition(Cond)) {
|
||||
TII->RemoveBranch(*CurMBB);
|
||||
TII->InsertBranch(*CurMBB, SuccBB, NULL, Cond, dl);
|
||||
TII->InsertBranch(*CurMBB, SuccBB, nullptr, Cond, dl);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
TII->InsertBranch(*CurMBB, SuccBB, NULL,
|
||||
TII->InsertBranch(*CurMBB, SuccBB, nullptr,
|
||||
SmallVector<MachineOperand, 0>(), dl);
|
||||
}
|
||||
|
||||
@@ -849,7 +849,7 @@ bool BranchFolder::TailMergeBlocks(MachineFunction &MF) {
|
||||
|
||||
// See if we can do any tail merging on those.
|
||||
if (MergePotentials.size() >= 2)
|
||||
MadeChange |= TryTailMergeBlocks(NULL, NULL);
|
||||
MadeChange |= TryTailMergeBlocks(nullptr, nullptr);
|
||||
|
||||
// Look at blocks (IBB) with multiple predecessors (PBB).
|
||||
// We change each predecessor to a canonical form, by
|
||||
@@ -896,7 +896,7 @@ bool BranchFolder::TailMergeBlocks(MachineFunction &MF) {
|
||||
if (PBB->getLandingPadSuccessor())
|
||||
continue;
|
||||
|
||||
MachineBasicBlock *TBB = 0, *FBB = 0;
|
||||
MachineBasicBlock *TBB = nullptr, *FBB = nullptr;
|
||||
SmallVector<MachineOperand, 4> Cond;
|
||||
if (!TII->AnalyzeBranch(*PBB, TBB, FBB, Cond, true)) {
|
||||
// Failing case: IBB is the target of a cbr, and we cannot reverse the
|
||||
@@ -915,10 +915,10 @@ bool BranchFolder::TailMergeBlocks(MachineFunction &MF) {
|
||||
// a bit in the edge so we didn't have to do all this.
|
||||
if (IBB->isLandingPad()) {
|
||||
MachineFunction::iterator IP = PBB; IP++;
|
||||
MachineBasicBlock *PredNextBB = NULL;
|
||||
MachineBasicBlock *PredNextBB = nullptr;
|
||||
if (IP != MF.end())
|
||||
PredNextBB = IP;
|
||||
if (TBB == NULL) {
|
||||
if (!TBB) {
|
||||
if (IBB != PredNextBB) // fallthrough
|
||||
continue;
|
||||
} else if (FBB) {
|
||||
@@ -939,7 +939,8 @@ bool BranchFolder::TailMergeBlocks(MachineFunction &MF) {
|
||||
TII->RemoveBranch(*PBB);
|
||||
if (!Cond.empty())
|
||||
// reinsert conditional branch only, for now
|
||||
TII->InsertBranch(*PBB, (TBB == IBB) ? FBB : TBB, 0, NewCond, dl);
|
||||
TII->InsertBranch(*PBB, (TBB == IBB) ? FBB : TBB, nullptr,
|
||||
NewCond, dl);
|
||||
}
|
||||
|
||||
MergePotentials.push_back(MergePotentialsElt(HashEndOfMBB(PBB), *P));
|
||||
@@ -1099,7 +1100,7 @@ ReoptimizeBlock:
|
||||
// one.
|
||||
MachineBasicBlock &PrevBB = *std::prev(MachineFunction::iterator(MBB));
|
||||
|
||||
MachineBasicBlock *PriorTBB = 0, *PriorFBB = 0;
|
||||
MachineBasicBlock *PriorTBB = nullptr, *PriorFBB = nullptr;
|
||||
SmallVector<MachineOperand, 4> PriorCond;
|
||||
bool PriorUnAnalyzable =
|
||||
TII->AnalyzeBranch(PrevBB, PriorTBB, PriorFBB, PriorCond, true);
|
||||
@@ -1116,7 +1117,7 @@ ReoptimizeBlock:
|
||||
TII->RemoveBranch(PrevBB);
|
||||
PriorCond.clear();
|
||||
if (PriorTBB != MBB)
|
||||
TII->InsertBranch(PrevBB, PriorTBB, 0, PriorCond, dl);
|
||||
TII->InsertBranch(PrevBB, PriorTBB, nullptr, PriorCond, dl);
|
||||
MadeChange = true;
|
||||
++NumBranchOpts;
|
||||
goto ReoptimizeBlock;
|
||||
@@ -1160,7 +1161,7 @@ ReoptimizeBlock:
|
||||
|
||||
// If the previous branch *only* branches to *this* block (conditional or
|
||||
// not) remove the branch.
|
||||
if (PriorTBB == MBB && PriorFBB == 0) {
|
||||
if (PriorTBB == MBB && !PriorFBB) {
|
||||
TII->RemoveBranch(PrevBB);
|
||||
MadeChange = true;
|
||||
++NumBranchOpts;
|
||||
@@ -1172,7 +1173,7 @@ ReoptimizeBlock:
|
||||
if (PriorFBB == MBB) {
|
||||
DebugLoc dl = getBranchDebugLoc(PrevBB);
|
||||
TII->RemoveBranch(PrevBB);
|
||||
TII->InsertBranch(PrevBB, PriorTBB, 0, PriorCond, dl);
|
||||
TII->InsertBranch(PrevBB, PriorTBB, nullptr, PriorCond, dl);
|
||||
MadeChange = true;
|
||||
++NumBranchOpts;
|
||||
goto ReoptimizeBlock;
|
||||
@@ -1186,7 +1187,7 @@ ReoptimizeBlock:
|
||||
if (!TII->ReverseBranchCondition(NewPriorCond)) {
|
||||
DebugLoc dl = getBranchDebugLoc(PrevBB);
|
||||
TII->RemoveBranch(PrevBB);
|
||||
TII->InsertBranch(PrevBB, PriorFBB, 0, NewPriorCond, dl);
|
||||
TII->InsertBranch(PrevBB, PriorFBB, nullptr, NewPriorCond, dl);
|
||||
MadeChange = true;
|
||||
++NumBranchOpts;
|
||||
goto ReoptimizeBlock;
|
||||
@@ -1201,7 +1202,7 @@ ReoptimizeBlock:
|
||||
// We consider it more likely that execution will stay in the function (e.g.
|
||||
// due to loops) than it is to exit it. This asserts in loops etc, moving
|
||||
// the assert condition out of the loop body.
|
||||
if (MBB->succ_empty() && !PriorCond.empty() && PriorFBB == 0 &&
|
||||
if (MBB->succ_empty() && !PriorCond.empty() && !PriorFBB &&
|
||||
MachineFunction::iterator(PriorTBB) == FallThrough &&
|
||||
!MBB->canFallThrough()) {
|
||||
bool DoTransform = true;
|
||||
@@ -1224,7 +1225,7 @@ ReoptimizeBlock:
|
||||
|
||||
DebugLoc dl = getBranchDebugLoc(PrevBB);
|
||||
TII->RemoveBranch(PrevBB);
|
||||
TII->InsertBranch(PrevBB, MBB, 0, NewPriorCond, dl);
|
||||
TII->InsertBranch(PrevBB, MBB, nullptr, NewPriorCond, dl);
|
||||
|
||||
// Move this block to the end of the function.
|
||||
MBB->moveAfter(--MF.end());
|
||||
@@ -1237,7 +1238,7 @@ ReoptimizeBlock:
|
||||
}
|
||||
|
||||
// Analyze the branch in the current block.
|
||||
MachineBasicBlock *CurTBB = 0, *CurFBB = 0;
|
||||
MachineBasicBlock *CurTBB = nullptr, *CurFBB = nullptr;
|
||||
SmallVector<MachineOperand, 4> CurCond;
|
||||
bool CurUnAnalyzable= TII->AnalyzeBranch(*MBB, CurTBB, CurFBB, CurCond, true);
|
||||
if (!CurUnAnalyzable) {
|
||||
@@ -1263,7 +1264,7 @@ ReoptimizeBlock:
|
||||
|
||||
// If this branch is the only thing in its block, see if we can forward
|
||||
// other blocks across it.
|
||||
if (CurTBB && CurCond.empty() && CurFBB == 0 &&
|
||||
if (CurTBB && CurCond.empty() && !CurFBB &&
|
||||
IsBranchOnlyBlock(MBB) && CurTBB != MBB &&
|
||||
!MBB->hasAddressTaken()) {
|
||||
DebugLoc dl = getBranchDebugLoc(*MBB);
|
||||
@@ -1301,12 +1302,12 @@ ReoptimizeBlock:
|
||||
// explicit branch to us to make updates simpler.
|
||||
if (!PredHasNoFallThrough && PrevBB.isSuccessor(MBB) &&
|
||||
PriorTBB != MBB && PriorFBB != MBB) {
|
||||
if (PriorTBB == 0) {
|
||||
assert(PriorCond.empty() && PriorFBB == 0 &&
|
||||
if (!PriorTBB) {
|
||||
assert(PriorCond.empty() && !PriorFBB &&
|
||||
"Bad branch analysis");
|
||||
PriorTBB = MBB;
|
||||
} else {
|
||||
assert(PriorFBB == 0 && "Machine CFG out of date!");
|
||||
assert(!PriorFBB && "Machine CFG out of date!");
|
||||
PriorFBB = MBB;
|
||||
}
|
||||
DebugLoc pdl = getBranchDebugLoc(PrevBB);
|
||||
@@ -1330,7 +1331,7 @@ ReoptimizeBlock:
|
||||
// If this change resulted in PMBB ending in a conditional
|
||||
// branch where both conditions go to the same destination,
|
||||
// change this to an unconditional branch (and fix the CFG).
|
||||
MachineBasicBlock *NewCurTBB = 0, *NewCurFBB = 0;
|
||||
MachineBasicBlock *NewCurTBB = nullptr, *NewCurFBB = nullptr;
|
||||
SmallVector<MachineOperand, 4> NewCurCond;
|
||||
bool NewCurUnAnalyzable = TII->AnalyzeBranch(*PMBB, NewCurTBB,
|
||||
NewCurFBB, NewCurCond, true);
|
||||
@@ -1338,10 +1339,10 @@ ReoptimizeBlock:
|
||||
DebugLoc pdl = getBranchDebugLoc(*PMBB);
|
||||
TII->RemoveBranch(*PMBB);
|
||||
NewCurCond.clear();
|
||||
TII->InsertBranch(*PMBB, NewCurTBB, 0, NewCurCond, pdl);
|
||||
TII->InsertBranch(*PMBB, NewCurTBB, nullptr, NewCurCond, pdl);
|
||||
MadeChange = true;
|
||||
++NumBranchOpts;
|
||||
PMBB->CorrectExtraCFGEdges(NewCurTBB, 0, false);
|
||||
PMBB->CorrectExtraCFGEdges(NewCurTBB, nullptr, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1358,7 +1359,7 @@ ReoptimizeBlock:
|
||||
}
|
||||
|
||||
// Add the branch back if the block is more than just an uncond branch.
|
||||
TII->InsertBranch(*MBB, CurTBB, 0, CurCond, dl);
|
||||
TII->InsertBranch(*MBB, CurTBB, nullptr, CurCond, dl);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1379,7 +1380,7 @@ ReoptimizeBlock:
|
||||
// Analyze the branch at the end of the pred.
|
||||
MachineBasicBlock *PredBB = *PI;
|
||||
MachineFunction::iterator PredFallthrough = PredBB; ++PredFallthrough;
|
||||
MachineBasicBlock *PredTBB = 0, *PredFBB = 0;
|
||||
MachineBasicBlock *PredTBB = nullptr, *PredFBB = nullptr;
|
||||
SmallVector<MachineOperand, 4> PredCond;
|
||||
if (PredBB != MBB && !PredBB->canFallThrough() &&
|
||||
!TII->AnalyzeBranch(*PredBB, PredTBB, PredFBB, PredCond, true)
|
||||
@@ -1399,7 +1400,7 @@ ReoptimizeBlock:
|
||||
MachineBasicBlock *NextBB =
|
||||
std::next(MachineFunction::iterator(MBB));
|
||||
CurCond.clear();
|
||||
TII->InsertBranch(*MBB, NextBB, 0, CurCond, DebugLoc());
|
||||
TII->InsertBranch(*MBB, NextBB, nullptr, CurCond, DebugLoc());
|
||||
}
|
||||
MBB->moveAfter(PredBB);
|
||||
MadeChange = true;
|
||||
@@ -1432,7 +1433,7 @@ ReoptimizeBlock:
|
||||
// Okay, there is no really great place to put this block. If, however,
|
||||
// the block before this one would be a fall-through if this block were
|
||||
// removed, move this block to the end of the function.
|
||||
MachineBasicBlock *PrevTBB = 0, *PrevFBB = 0;
|
||||
MachineBasicBlock *PrevTBB = nullptr, *PrevFBB = nullptr;
|
||||
SmallVector<MachineOperand, 4> PrevCond;
|
||||
if (FallThrough != MF.end() &&
|
||||
!TII->AnalyzeBranch(PrevBB, PrevTBB, PrevFBB, PrevCond, true) &&
|
||||
@@ -1473,7 +1474,7 @@ static MachineBasicBlock *findFalseBlock(MachineBasicBlock *BB,
|
||||
if (SuccBB != TrueBB)
|
||||
return SuccBB;
|
||||
}
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
/// findHoistingInsertPosAndDeps - Find the location to move common instructions
|
||||
@@ -1547,7 +1548,7 @@ MachineBasicBlock::iterator findHoistingInsertPosAndDeps(MachineBasicBlock *MBB,
|
||||
// Also avoid moving code above predicated instruction since it's hard to
|
||||
// reason about register liveness with predicated instruction.
|
||||
bool DontMoveAcrossStore = true;
|
||||
if (!PI->isSafeToMove(TII, 0, DontMoveAcrossStore) ||
|
||||
if (!PI->isSafeToMove(TII, nullptr, DontMoveAcrossStore) ||
|
||||
TII->isPredicated(PI))
|
||||
return MBB->end();
|
||||
|
||||
@@ -1581,7 +1582,7 @@ MachineBasicBlock::iterator findHoistingInsertPosAndDeps(MachineBasicBlock *MBB,
|
||||
/// sequence at the start of the function, move the instructions before MBB
|
||||
/// terminator if it's legal.
|
||||
bool BranchFolder::HoistCommonCodeInSuccs(MachineBasicBlock *MBB) {
|
||||
MachineBasicBlock *TBB = 0, *FBB = 0;
|
||||
MachineBasicBlock *TBB = nullptr, *FBB = nullptr;
|
||||
SmallVector<MachineOperand, 4> Cond;
|
||||
if (TII->AnalyzeBranch(*MBB, TBB, FBB, Cond, true) || !TBB || Cond.empty())
|
||||
return false;
|
||||
@@ -1686,7 +1687,7 @@ bool BranchFolder::HoistCommonCodeInSuccs(MachineBasicBlock *MBB) {
|
||||
break;
|
||||
|
||||
bool DontMoveAcrossStore = true;
|
||||
if (!TIB->isSafeToMove(TII, 0, DontMoveAcrossStore))
|
||||
if (!TIB->isSafeToMove(TII, nullptr, DontMoveAcrossStore))
|
||||
break;
|
||||
|
||||
// Remove kills from LocalDefsSet, these registers had short live ranges.
|
||||
|
Reference in New Issue
Block a user