mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 20:51:52 +01:00
[llvm] Construct SmallVector with iterator ranges (NFC)
This commit is contained in:
parent
18f0a21fe4
commit
3d7023e152
@ -2177,7 +2177,7 @@ CollectAddOperandsWithScales(DenseMap<const SCEV *, APInt> &M,
|
||||
} else {
|
||||
// A multiplication of a constant with some other value. Update
|
||||
// the map.
|
||||
SmallVector<const SCEV *, 4> MulOps(Mul->op_begin()+1, Mul->op_end());
|
||||
SmallVector<const SCEV *, 4> MulOps(drop_begin(Mul->operands()));
|
||||
const SCEV *Key = SE.getMulExpr(MulOps);
|
||||
auto Pair = M.insert({Key, NewScale});
|
||||
if (Pair.second) {
|
||||
|
@ -353,8 +353,7 @@ bool WebAssemblyLateEHPrepare::ensureSingleBBTermPads(MachineFunction &MF) {
|
||||
BuildMI(*EHPad, InsertPos, Call->getDebugLoc(),
|
||||
TII.get(WebAssembly::UNREACHABLE));
|
||||
EHPad->erase(InsertPos, EHPad->end());
|
||||
SmallVector<MachineBasicBlock *, 8> Succs(EHPad->succ_begin(),
|
||||
EHPad->succ_end());
|
||||
SmallVector<MachineBasicBlock *, 8> Succs(EHPad->successors());
|
||||
for (auto *Succ : Succs)
|
||||
EHPad->removeSuccessor(Succ);
|
||||
eraseDeadBBsAndChildren(Succs);
|
||||
|
@ -1495,8 +1495,7 @@ static void rewritePHIsForCleanupPad(BasicBlock *CleanupPadBB,
|
||||
pred_size(CleanupPadBB));
|
||||
|
||||
int SwitchIndex = 0;
|
||||
SmallVector<BasicBlock *, 8> Preds(pred_begin(CleanupPadBB),
|
||||
pred_end(CleanupPadBB));
|
||||
SmallVector<BasicBlock *, 8> Preds(predecessors(CleanupPadBB));
|
||||
for (BasicBlock *Pred : Preds) {
|
||||
// Create a new cleanuppad and move the PHI values to there.
|
||||
auto *CaseBB = BasicBlock::Create(CleanupPadBB->getContext(),
|
||||
|
@ -2196,7 +2196,7 @@ Instruction *InstCombinerImpl::visitGetElementPtrInst(GetElementPtrInst &GEP) {
|
||||
// GEP (bitcast i8* X to [0 x i8]*), i32 0, ... ?
|
||||
if (CATy->getElementType() == StrippedPtrEltTy) {
|
||||
// -> GEP i8* X, ...
|
||||
SmallVector<Value*, 8> Idx(GEP.idx_begin()+1, GEP.idx_end());
|
||||
SmallVector<Value *, 8> Idx(drop_begin(GEP.indices()));
|
||||
GetElementPtrInst *Res = GetElementPtrInst::Create(
|
||||
StrippedPtrEltTy, StrippedPtr, Idx, GEP.getName());
|
||||
Res->setIsInBounds(GEP.isInBounds());
|
||||
|
@ -424,7 +424,7 @@ static void DoInitialMatch(const SCEV *S, Loop *L,
|
||||
// Handle a multiplication by -1 (negation) if it didn't fold.
|
||||
if (const SCEVMulExpr *Mul = dyn_cast<SCEVMulExpr>(S))
|
||||
if (Mul->getOperand(0)->isAllOnesValue()) {
|
||||
SmallVector<const SCEV *, 4> Ops(Mul->op_begin()+1, Mul->op_end());
|
||||
SmallVector<const SCEV *, 4> Ops(drop_begin(Mul->operands()));
|
||||
const SCEV *NewMul = SE.getMulExpr(Ops);
|
||||
|
||||
SmallVector<const SCEV *, 4> MyGood;
|
||||
|
@ -293,9 +293,7 @@ Instruction *NaryReassociatePass::tryReassociate(Instruction * I,
|
||||
|
||||
static bool isGEPFoldable(GetElementPtrInst *GEP,
|
||||
const TargetTransformInfo *TTI) {
|
||||
SmallVector<const Value*, 4> Indices;
|
||||
for (auto I = GEP->idx_begin(); I != GEP->idx_end(); ++I)
|
||||
Indices.push_back(*I);
|
||||
SmallVector<const Value *, 4> Indices(GEP->indices());
|
||||
return TTI->getGEPCost(GEP->getSourceElementType(), GEP->getPointerOperand(),
|
||||
Indices) == TargetTransformInfo::TCC_Free;
|
||||
}
|
||||
|
@ -285,9 +285,7 @@ bool StraightLineStrengthReduce::isBasisFor(const Candidate &Basis,
|
||||
|
||||
static bool isGEPFoldable(GetElementPtrInst *GEP,
|
||||
const TargetTransformInfo *TTI) {
|
||||
SmallVector<const Value*, 4> Indices;
|
||||
for (auto I = GEP->idx_begin(); I != GEP->idx_end(); ++I)
|
||||
Indices.push_back(*I);
|
||||
SmallVector<const Value *, 4> Indices(GEP->indices());
|
||||
return TTI->getGEPCost(GEP->getSourceElementType(), GEP->getPointerOperand(),
|
||||
Indices) == TargetTransformInfo::TCC_Free;
|
||||
}
|
||||
|
@ -112,9 +112,7 @@ static void createRetPHINode(Instruction *OrigInst, Instruction *NewInst,
|
||||
|
||||
Builder.SetInsertPoint(&MergeBlock->front());
|
||||
PHINode *Phi = Builder.CreatePHI(OrigInst->getType(), 0);
|
||||
SmallVector<User *, 16> UsersToUpdate;
|
||||
for (User *U : OrigInst->users())
|
||||
UsersToUpdate.push_back(U);
|
||||
SmallVector<User *, 16> UsersToUpdate(OrigInst->users());
|
||||
for (User *U : UsersToUpdate)
|
||||
U->replaceUsesOfWith(OrigInst, Phi);
|
||||
Phi->addIncoming(OrigInst, OrigInst->getParent());
|
||||
|
@ -768,8 +768,7 @@ void CodeExtractor::severSplitPHINodesOfExits(
|
||||
NewBB = BasicBlock::Create(ExitBB->getContext(),
|
||||
ExitBB->getName() + ".split",
|
||||
ExitBB->getParent(), ExitBB);
|
||||
SmallVector<BasicBlock *, 4> Preds(pred_begin(ExitBB),
|
||||
pred_end(ExitBB));
|
||||
SmallVector<BasicBlock *, 4> Preds(predecessors(ExitBB));
|
||||
for (BasicBlock *PredBB : Preds)
|
||||
if (Blocks.count(PredBB))
|
||||
PredBB->getTerminator()->replaceUsesOfWith(ExitBB, NewBB);
|
||||
|
@ -30,7 +30,7 @@ static cl::opt<uint32_t> PredicatePassBranchWeight(
|
||||
void llvm::makeGuardControlFlowExplicit(Function *DeoptIntrinsic,
|
||||
CallInst *Guard, bool UseWC) {
|
||||
OperandBundleDef DeoptOB(*Guard->getOperandBundle(LLVMContext::OB_deopt));
|
||||
SmallVector<Value *, 4> Args(std::next(Guard->arg_begin()), Guard->arg_end());
|
||||
SmallVector<Value *, 4> Args(drop_begin(Guard->args()));
|
||||
|
||||
auto *CheckBB = Guard->getParent();
|
||||
auto *DeoptBlockTerm =
|
||||
|
Loading…
x
Reference in New Issue
Block a user