Lines Matching refs:Iter
142 DSAVarData getDSA(StackTy::reverse_iterator Iter, VarDecl *D);
145 bool isOpenMPLocal(VarDecl *D, StackTy::reverse_iterator Iter);
366 DSAStackTy::DSAVarData DSAStackTy::getDSA(StackTy::reverse_iterator Iter,
370 if (Iter == std::prev(Stack.rend())) {
389 DVar.DKind = Iter->Directive;
394 if (isOpenMPLocal(D, Iter) && D->isLocalVarDecl() &&
402 if (Iter->SharingMap.count(D)) {
403 DVar.RefExpr = Iter->SharingMap[D].RefExpr;
404 DVar.CKind = Iter->SharingMap[D].Attributes;
405 DVar.ImplicitDSALoc = Iter->DefaultAttrLoc;
413 switch (Iter->DefaultAttr) {
416 DVar.ImplicitDSALoc = Iter->DefaultAttrLoc;
425 DVar.ImplicitDSALoc = Iter->DefaultAttrLoc;
439 for (StackTy::reverse_iterator I = std::next(Iter), EE = Stack.rend();
468 return getDSA(std::next(Iter), D);
510 bool DSAStackTy::isOpenMPLocal(VarDecl *D, StackTy::reverse_iterator Iter) {
513 reverse_iterator I = Iter, E = std::prev(Stack.rend());
3558 /// \brief Build 'VarRef = Start + Iter * Step'.
3561 ExprResult Start, ExprResult Iter,
3564 Iter = SemaRef.ActOnParenExpr(Loc, Loc, Iter.get());
3565 if (!VarRef.isUsable() || !Start.isUsable() || !Iter.isUsable() ||
3580 SemaRef.BuildBinOp(S, Loc, BO_Mul, Iter.get(), NewStep.get());
3584 // Build 'VarRef = Start + Iter * Step'.
3939 // Build: Iter = (IV / Div) % IS.NumIters
3941 ExprResult Iter;
3943 Iter =
3946 Iter = IV;
3951 if (Cnt != 0 && Iter.isUsable())
3952 Iter = SemaRef.BuildBinOp(CurScope, UpdLoc, BO_Rem, Iter.get(),
3954 if (!Iter.isUsable()) {
3959 // Build update: IS.CounterVar(Private) = IS.Start + Iter * IS.Step
3972 IS.CounterInit, Iter, IS.CounterStep, IS.Subtract);