continue;
}
- append_range(Stack, U->users());
+ for (User *UU : U->users())
+ Stack.push_back(UU);
}
}
SmallVector<SDValue, 26> Ops;
if (BaseOpcode->Store || BaseOpcode->Atomic)
Ops.push_back(VData); // vdata
- if (UseNSA)
- append_range(Ops, VAddrs);
- else
+ if (UseNSA) {
+ for (const SDValue &Addr : VAddrs)
+ Ops.push_back(Addr);
+ } else {
Ops.push_back(VAddr);
+ }
Ops.push_back(Op.getOperand(ArgOffset + Intr->RsrcIndex));
if (BaseOpcode->Sampler)
Ops.push_back(Op.getOperand(ArgOffset + Intr->SampIndex));
}
}
- if (Divergent && PDT.dominates(&DefBlock, MBB))
- append_range(Stack, MBB->successors());
+ if (Divergent && PDT.dominates(&DefBlock, MBB)) {
+ for (MachineBasicBlock *Succ : MBB->successors())
+ Stack.push_back(Succ);
+ }
}
while (!Stack.empty()) {
continue;
ReachableOrdered.push_back(MBB);
- append_range(Stack, MBB->successors());
+ for (MachineBasicBlock *Succ : MBB->successors())
+ Stack.push_back(Succ);
}
for (MachineBasicBlock *MBB : ReachableOrdered) {
while (!Worklist.empty()) {
auto *U = Worklist.pop_back_val();
if (isa<ConstantExpr>(U)) {
- append_range(Worklist, U->users());
+ for (auto *UU : U->users())
+ Worklist.push_back(UU);
continue;
}
SmallVector<Value *, 6> Ops;
Ops.push_back(Builder.CreateBitCast(BaseAddr, Int8Ptr));
- append_range(Ops, Shuffles);
+ for (auto S : Shuffles)
+ Ops.push_back(S);
Ops.push_back(Builder.getInt32(SI->getAlignment()));
Builder.CreateCall(VstNFunc, Ops);
} else {
SmallVector<Value *, 6> Ops;
Ops.push_back(Builder.CreateBitCast(BaseAddr, EltPtrTy));
- append_range(Ops, Shuffles);
+ for (auto S : Shuffles)
+ Ops.push_back(S);
for (unsigned F = 0; F < Factor; F++) {
Ops.push_back(Builder.getInt32(F));
Builder.CreateCall(VstNFunc, Ops);
// Insert exit blocks.
SmallVector<MachineBasicBlock*, 2> ExitBlocks;
ML.getExitBlocks(ExitBlocks);
- append_range(Order, ExitBlocks);
+ for (auto *MBB : ExitBlocks)
+ Order.push_back(MBB);
// Then add the loop body.
Search(ML.getHeader());
public:
WidenedLoad(SmallVectorImpl<LoadInst*> &Lds, LoadInst *Wide)
: NewLd(Wide) {
- append_range(Loads, Lds);
+ for (auto *I : Lds)
+ Loads.push_back(I);
}
LoadInst *getLoad() {
return NewLd;
const SDLoc &dl, SelectionDAG &DAG) const {
SmallVector<SDValue,4> IntOps;
IntOps.push_back(DAG.getConstant(IntId, dl, MVT::i32));
- append_range(IntOps, Ops);
+ for (const SDValue &Op : Ops)
+ IntOps.push_back(Op);
return DAG.getNode(ISD::INTRINSIC_WO_CHAIN, dl, ResTy, IntOps);
}
LoopVector WorkQ;
- append_range(WorkQ, *MLI);
- for (unsigned i = 0; i < WorkQ.size(); ++i)
- append_range(WorkQ, *WorkQ[i]);
+ for (auto I : *MLI)
+ WorkQ.push_back(I);
+ for (unsigned i = 0; i < WorkQ.size(); ++i) {
+ for (auto I : *WorkQ[i])
+ WorkQ.push_back(I);
+ }
USet Rs;
for (unsigned i = 0, n = WorkQ.size(); i < n; ++i) {
// If it's a code node, add all ref nodes from it.
uint16_t Kind = BA.Addr->getKind();
if (Kind == NodeAttrs::Stmt || Kind == NodeAttrs::Phi) {
- append_range(DRNs, NodeAddr<CodeNode*>(BA).Addr->members(DFG));
+ for (auto N : NodeAddr<CodeNode*>(BA).Addr->members(DFG))
+ DRNs.push_back(N);
DINs.push_back(DFG.addr<InstrNode*>(I));
} else {
llvm_unreachable("Unexpected code node");
return false;
}
- append_range(Preds, MBB->predecessors());
+ for (MachineBasicBlock::pred_iterator PI = MBB->pred_begin(),
+ PIE = MBB->pred_end(); PI != PIE; ++PI)
+ Preds.push_back(*PI);
}
do {
break;
// Push incoming values to the worklist.
- append_range(Worklist, PN->incoming_values());
+ for (Value *InV : PN->incoming_values())
+ Worklist.push_back(InV);
continue;
}
if (BO->getOpcode() == Instruction::Add) {
// Simple case. Single use, just push its operands to the worklist.
if (BO->hasNUses(BO == Root ? 2 : 1)) {
- append_range(Worklist, BO->operands());
+ for (Value *Op : BO->operands())
+ Worklist.push_back(Op);
continue;
}
continue;
// The phi forms a loop with this Add, push its operands.
- append_range(Worklist, BO->operands());
+ for (Value *Op : BO->operands())
+ Worklist.push_back(Op);
}
}
}
// enqueue it's successors to see if we can infer their states.
InitialStates.insert({BB, PredState});
FinalStates.insert({BB, PredState});
- append_range(Worklist, successors(BB));
+ for (BasicBlock *SuccBB : successors(BB))
+ Worklist.push_back(SuccBB);
}
// Try to hoist stores from successors.