[llvm] Use pop_back_val (NFC)
This commit is contained in:
@@ -491,8 +491,7 @@ void MemorySSAUpdater::fixupDefs(const SmallVectorImpl<WeakVH> &Vars) {
|
||||
}
|
||||
|
||||
while (!Worklist.empty()) {
|
||||
const BasicBlock *FixupBlock = Worklist.back();
|
||||
Worklist.pop_back();
|
||||
const BasicBlock *FixupBlock = Worklist.pop_back_val();
|
||||
|
||||
// Get the first def in the block that isn't a phi node.
|
||||
if (auto *Defs = MSSA->getWritableBlockDefs(FixupBlock)) {
|
||||
|
||||
@@ -600,8 +600,7 @@ void StackSafetyDataFlowAnalysis<CalleeTy>::runDataFlow() {
|
||||
updateAllNodes();
|
||||
|
||||
while (!WorkList.empty()) {
|
||||
const CalleeTy *Callee = WorkList.back();
|
||||
WorkList.pop_back();
|
||||
const CalleeTy *Callee = WorkList.pop_back_val();
|
||||
updateOneNode(Callee);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5112,8 +5112,7 @@ bool CodeGenPrepare::optimizeMemoryInst(Instruction *MemoryInst, Value *Addr,
|
||||
TypePromotionTransaction::ConstRestorationPt LastKnownGood =
|
||||
TPT.getRestorationPoint();
|
||||
while (!worklist.empty()) {
|
||||
Value *V = worklist.back();
|
||||
worklist.pop_back();
|
||||
Value *V = worklist.pop_back_val();
|
||||
|
||||
// We allow traversing cyclic Phi nodes.
|
||||
// In case of success after this loop we ensure that traversing through
|
||||
@@ -6465,8 +6464,7 @@ bool CodeGenPrepare::optimizeLoadExt(LoadInst *Load) {
|
||||
APInt WidestAndBits(BitWidth, 0);
|
||||
|
||||
while (!WorkList.empty()) {
|
||||
Instruction *I = WorkList.back();
|
||||
WorkList.pop_back();
|
||||
Instruction *I = WorkList.pop_back_val();
|
||||
|
||||
// Break use-def graph loops.
|
||||
if (!Visited.insert(I).second)
|
||||
|
||||
@@ -740,8 +740,7 @@ bool IRTranslator::translateSwitch(const User &U, MachineIRBuilder &MIB) {
|
||||
// FIXME: At the moment we don't do any splitting optimizations here like
|
||||
// SelectionDAG does, so this worklist only has one entry.
|
||||
while (!WorkList.empty()) {
|
||||
SwitchWorkListItem W = WorkList.back();
|
||||
WorkList.pop_back();
|
||||
SwitchWorkListItem W = WorkList.pop_back_val();
|
||||
if (!lowerSwitchWorkItem(W, SI.getCondition(), SwitchMBB, DefaultMBB, MIB))
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -413,8 +413,7 @@ void LiveRangeEdit::eliminateDeadDefs(SmallVectorImpl<MachineInstr *> &Dead,
|
||||
break;
|
||||
|
||||
// Shrink just one live interval. Then delete new dead defs.
|
||||
LiveInterval *LI = ToShrink.back();
|
||||
ToShrink.pop_back();
|
||||
LiveInterval *LI = ToShrink.pop_back_val();
|
||||
if (foldAsLoad(LI, Dead))
|
||||
continue;
|
||||
unsigned VReg = LI->reg();
|
||||
|
||||
@@ -119,8 +119,7 @@ void LiveVariables::MarkVirtRegAliveInBlock(VarInfo &VRInfo,
|
||||
MarkVirtRegAliveInBlock(VRInfo, DefBlock, MBB, WorkList);
|
||||
|
||||
while (!WorkList.empty()) {
|
||||
MachineBasicBlock *Pred = WorkList.back();
|
||||
WorkList.pop_back();
|
||||
MachineBasicBlock *Pred = WorkList.pop_back_val();
|
||||
MarkVirtRegAliveInBlock(VRInfo, DefBlock, Pred, WorkList);
|
||||
}
|
||||
}
|
||||
@@ -484,8 +483,7 @@ void LiveVariables::HandlePhysRegDef(Register Reg, MachineInstr *MI,
|
||||
void LiveVariables::UpdatePhysRegDefs(MachineInstr &MI,
|
||||
SmallVectorImpl<unsigned> &Defs) {
|
||||
while (!Defs.empty()) {
|
||||
Register Reg = Defs.back();
|
||||
Defs.pop_back();
|
||||
Register Reg = Defs.pop_back_val();
|
||||
for (MCSubRegIterator SubRegs(Reg, TRI, /*IncludeSelf=*/true);
|
||||
SubRegs.isValid(); ++SubRegs) {
|
||||
unsigned SubReg = *SubRegs;
|
||||
|
||||
@@ -39,8 +39,7 @@ LoopTraversal::TraversalOrder LoopTraversal::traverse(MachineFunction &MF) {
|
||||
bool Primary = true;
|
||||
Workqueue.push_back(MBB);
|
||||
while (!Workqueue.empty()) {
|
||||
MachineBasicBlock *ActiveMBB = &*Workqueue.back();
|
||||
Workqueue.pop_back();
|
||||
MachineBasicBlock *ActiveMBB = Workqueue.pop_back_val();
|
||||
bool Done = isBlockDone(ActiveMBB);
|
||||
MBBTraversalOrder.push_back(TraversedMBBInfo(ActiveMBB, Primary, Done));
|
||||
for (MachineBasicBlock *Succ : ActiveMBB->successors()) {
|
||||
|
||||
@@ -397,8 +397,7 @@ void ReachingDefAnalysis::getGlobalUses(MachineInstr *MI, MCRegister PhysReg,
|
||||
SmallVector<MachineBasicBlock *, 4> ToVisit(MBB->successors());
|
||||
SmallPtrSet<MachineBasicBlock*, 4>Visited;
|
||||
while (!ToVisit.empty()) {
|
||||
MachineBasicBlock *MBB = ToVisit.back();
|
||||
ToVisit.pop_back();
|
||||
MachineBasicBlock *MBB = ToVisit.pop_back_val();
|
||||
if (Visited.count(MBB) || !MBB->isLiveIn(PhysReg))
|
||||
continue;
|
||||
if (getLiveInUses(MBB, PhysReg, Uses))
|
||||
|
||||
@@ -223,8 +223,7 @@ bool DAGTypeLegalizer::run() {
|
||||
#endif
|
||||
PerformExpensiveChecks();
|
||||
|
||||
SDNode *N = Worklist.back();
|
||||
Worklist.pop_back();
|
||||
SDNode *N = Worklist.pop_back_val();
|
||||
assert(N->getNodeId() == ReadyToProcess &&
|
||||
"Node should be ready if on worklist!");
|
||||
|
||||
|
||||
@@ -56,9 +56,7 @@ namespace {
|
||||
|
||||
SUnit *pop() {
|
||||
if (empty()) return nullptr;
|
||||
SUnit *V = Queue.back();
|
||||
Queue.pop_back();
|
||||
return V;
|
||||
return Queue.pop_back_val();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -667,8 +667,7 @@ void TwoAddressInstructionPass::scanUses(Register DstReg) {
|
||||
unsigned ToReg = VirtRegPairs.back();
|
||||
VirtRegPairs.pop_back();
|
||||
while (!VirtRegPairs.empty()) {
|
||||
unsigned FromReg = VirtRegPairs.back();
|
||||
VirtRegPairs.pop_back();
|
||||
unsigned FromReg = VirtRegPairs.pop_back_val();
|
||||
bool isNew = DstRegMap.insert(std::make_pair(FromReg, ToReg)).second;
|
||||
if (!isNew)
|
||||
assert(DstRegMap[FromReg] == ToReg &&"Can't map to two dst registers!");
|
||||
|
||||
@@ -550,8 +550,7 @@ private:
|
||||
|
||||
// Propagate block-level dependencies through the block-dependence graph.
|
||||
while (!WorkList.empty()) {
|
||||
auto *B = WorkList.back();
|
||||
WorkList.pop_back();
|
||||
auto *B = WorkList.pop_back_val();
|
||||
|
||||
auto &BI = BlockInfos[B];
|
||||
assert(BI.DependenciesChanged &&
|
||||
|
||||
@@ -1013,8 +1013,7 @@ bool Value::isTransitiveUsedByMetadataOnly() const {
|
||||
llvm::SmallPtrSet<const User *, 32> Visited;
|
||||
WorkList.insert(WorkList.begin(), user_begin(), user_end());
|
||||
while (!WorkList.empty()) {
|
||||
const User *U = WorkList.back();
|
||||
WorkList.pop_back();
|
||||
const User *U = WorkList.pop_back_val();
|
||||
Visited.insert(U);
|
||||
// If it is transitively used by a global value or a non-constant value,
|
||||
// it's obviously not only used by metadata.
|
||||
|
||||
@@ -276,8 +276,7 @@ Optional<int> AArch64StackTaggingPreRA::findFirstSlotCandidate() {
|
||||
WorkList.push_back(RetagReg);
|
||||
|
||||
while (!WorkList.empty()) {
|
||||
Register UseReg = WorkList.back();
|
||||
WorkList.pop_back();
|
||||
Register UseReg = WorkList.pop_back_val();
|
||||
for (auto &UseI : MRI->use_instructions(UseReg)) {
|
||||
unsigned Opcode = UseI.getOpcode();
|
||||
if (Opcode == AArch64::STGOffset || Opcode == AArch64::ST2GOffset ||
|
||||
|
||||
@@ -182,8 +182,7 @@ void A15SDOptimizer::eraseInstrWithNoUses(MachineInstr *MI) {
|
||||
Front.push_back(MI);
|
||||
|
||||
while (Front.size() != 0) {
|
||||
MI = Front.back();
|
||||
Front.pop_back();
|
||||
MI = Front.pop_back_val();
|
||||
|
||||
// MI is already known to be dead. We need to see
|
||||
// if other instructions can also be removed.
|
||||
|
||||
@@ -2476,8 +2476,7 @@ bool ARMPreAllocLoadStoreOpt::RescheduleOps(MachineBasicBlock *MBB,
|
||||
}
|
||||
} else {
|
||||
for (unsigned i = 0; i != NumMove; ++i) {
|
||||
MachineInstr *Op = Ops.back();
|
||||
Ops.pop_back();
|
||||
MachineInstr *Op = Ops.pop_back_val();
|
||||
MBB->splice(InsertPos, MBB, Op);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -89,8 +89,7 @@ bool WebAssemblyAsmTypeCheck::popType(SMLoc ErrorLoc,
|
||||
: StringRef(
|
||||
"empty stack while popping value"));
|
||||
}
|
||||
auto PVT = Stack.back();
|
||||
Stack.pop_back();
|
||||
auto PVT = Stack.pop_back_val();
|
||||
if (EVT.hasValue() && EVT.getValue() != PVT) {
|
||||
return typeError(
|
||||
ErrorLoc, StringRef("popped ") + WebAssembly::typeToString(PVT) +
|
||||
|
||||
@@ -1868,8 +1868,7 @@ static void cleanupSinglePredPHIs(Function &F) {
|
||||
}
|
||||
}
|
||||
while (!Worklist.empty()) {
|
||||
auto *Phi = Worklist.back();
|
||||
Worklist.pop_back();
|
||||
auto *Phi = Worklist.pop_back_val();
|
||||
auto *OriginalValue = Phi->getIncomingValue(0);
|
||||
Phi->replaceAllUsesWith(OriginalValue);
|
||||
}
|
||||
|
||||
@@ -144,8 +144,7 @@ private:
|
||||
Stack.push_back(SIToUnfold);
|
||||
|
||||
while (!Stack.empty()) {
|
||||
SelectInstToUnfold SIToUnfold = Stack.back();
|
||||
Stack.pop_back();
|
||||
SelectInstToUnfold SIToUnfold = Stack.pop_back_val();
|
||||
|
||||
std::vector<SelectInstToUnfold> NewSIsToUnfold;
|
||||
std::vector<BasicBlock *> NewBBs;
|
||||
@@ -662,8 +661,7 @@ private:
|
||||
SmallSet<Value *, 16> SeenValues;
|
||||
|
||||
while (!Stack.empty()) {
|
||||
PHINode *CurPhi = Stack.back();
|
||||
Stack.pop_back();
|
||||
PHINode *CurPhi = Stack.pop_back_val();
|
||||
|
||||
Res[CurPhi->getParent()] = CurPhi;
|
||||
SeenValues.insert(CurPhi);
|
||||
|
||||
Reference in New Issue
Block a user