reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/clang/lib/Sema/SemaOpenMP.cpp
 6907         CollapseLoopCountExpr->EvaluateAsInt(Result, SemaRef.getASTContext())) {
 6920                                             SemaRef.getASTContext())) {
 6923         SemaRef.Diag(OrderedLoopCountExpr->getExprLoc(),
 6926         SemaRef.Diag(CollapseLoopCountExpr->getExprLoc(),
 6944             DKind, CurStmt, SemaRef, DSA, Cnt, NestedLoopCount,
 6964             DKind, CurStmt, SemaRef, DSA, Cnt, NestedLoopCount,
 6992   if (SemaRef.CurContext->isDependentContext())
 7030                           SemaRef
 7035                           SemaRef);
 7038       SemaRef
 7043       SemaRef);
 7048   ASTContext &C = SemaRef.Context;
 7055           SemaRef.BuildBinOp(CurScope, PreCond.get()->getExprLoc(), BO_LAnd,
 7062       LastIteration32 = SemaRef.BuildBinOp(
 7064           SemaRef
 7070       LastIteration64 = SemaRef.BuildBinOp(
 7072           SemaRef
 7081   if (SemaRef.getLangOpts().OpenMPOptimisticCollapse ||
 7088             LastIteration64.get(), SemaRef))))
 7095         SemaRef.Context.getIntTypeForBitwidth(/*DestWidth=*/64, /*Signed=*/0);
 7097         SemaRef.Context.getIntTypeForBitwidth(/*DestWidth=*/64, /*Signed=*/1);
 7106     LastIteration = SemaRef.BuildBinOp(
 7109         SemaRef.ActOnIntegerConstant(SourceLocation(), 1).get());
 7118       LastIteration.get()->isIntegerConstantExpr(Result, SemaRef.Context);
 7122         tryBuildCapture(SemaRef, LastIteration.get(), Captures);
 7126     NumIterations = SemaRef.BuildBinOp(
 7128         SemaRef.ActOnIntegerConstant(SourceLocation(), 1).get());
 7140     VarDecl *LBDecl = buildVarDecl(SemaRef, InitLoc, VType, ".omp.lb");
 7141     LB = buildDeclRefExpr(SemaRef, LBDecl, VType, InitLoc);
 7142     SemaRef.AddInitializerToDecl(LBDecl,
 7143                                  SemaRef.ActOnIntegerConstant(InitLoc, 0).get(),
 7147     VarDecl *UBDecl = buildVarDecl(SemaRef, InitLoc, VType, ".omp.ub");
 7148     UB = buildDeclRefExpr(SemaRef, UBDecl, VType, InitLoc);
 7149     SemaRef.AddInitializerToDecl(UBDecl, LastIteration.get(),
 7154     QualType Int32Ty = SemaRef.Context.getIntTypeForBitwidth(32, true);
 7155     VarDecl *ILDecl = buildVarDecl(SemaRef, InitLoc, Int32Ty, ".omp.is_last");
 7156     IL = buildDeclRefExpr(SemaRef, ILDecl, Int32Ty, InitLoc);
 7157     SemaRef.AddInitializerToDecl(ILDecl,
 7158                                  SemaRef.ActOnIntegerConstant(InitLoc, 0).get(),
 7163         buildVarDecl(SemaRef, InitLoc, StrideVType, ".omp.stride");
 7164     ST = buildDeclRefExpr(SemaRef, STDecl, StrideVType, InitLoc);
 7165     SemaRef.AddInitializerToDecl(STDecl,
 7166                                  SemaRef.ActOnIntegerConstant(InitLoc, 1).get(),
 7171     ExprResult IsUBGreater = SemaRef.BuildBinOp(CurScope, InitLoc, BO_GT,
 7173     ExprResult CondOp = SemaRef.ActOnConditionalOp(
 7176     EUB = SemaRef.BuildBinOp(CurScope, InitLoc, BO_Assign, UB.get(),
 7178     EUB = SemaRef.ActOnFinishFullExpr(EUB.get(), /*DiscardedValue*/ false);
 7187           buildVarDecl(SemaRef, InitLoc, VType, ".omp.comb.lb");
 7188       CombLB = buildDeclRefExpr(SemaRef, CombLBDecl, VType, InitLoc);
 7189       SemaRef.AddInitializerToDecl(
 7190           CombLBDecl, SemaRef.ActOnIntegerConstant(InitLoc, 0).get(),
 7195           buildVarDecl(SemaRef, InitLoc, VType, ".omp.comb.ub");
 7196       CombUB = buildDeclRefExpr(SemaRef, CombUBDecl, VType, InitLoc);
 7197       SemaRef.AddInitializerToDecl(CombUBDecl, LastIteration.get(),
 7200       ExprResult CombIsUBGreater = SemaRef.BuildBinOp(
 7203           SemaRef.ActOnConditionalOp(InitLoc, InitLoc, CombIsUBGreater.get(),
 7205       CombEUB = SemaRef.BuildBinOp(CurScope, InitLoc, BO_Assign, CombUB.get(),
 7208           SemaRef.ActOnFinishFullExpr(CombEUB.get(), /*DiscardedValue*/ false);
 7224           buildDeclRefExpr(SemaRef, PrevLBDecl, PrevLBDecl->getType(), InitLoc);
 7226           buildDeclRefExpr(SemaRef, PrevUBDecl, PrevUBDecl->getType(), InitLoc);
 7234     VarDecl *IVDecl = buildVarDecl(SemaRef, InitLoc, RealVType, ".omp.iv");
 7235     IV = buildDeclRefExpr(SemaRef, IVDecl, RealVType, InitLoc);
 7240             : SemaRef.ActOnIntegerConstant(SourceLocation(), 0).get();
 7241     Init = SemaRef.BuildBinOp(CurScope, InitLoc, BO_Assign, IV.get(), RHS);
 7242     Init = SemaRef.ActOnFinishFullExpr(Init.get(), /*DiscardedValue*/ false);
 7250               : SemaRef.ActOnIntegerConstant(SourceLocation(), 0).get();
 7252           SemaRef.BuildBinOp(CurScope, InitLoc, BO_Assign, IV.get(), CombRHS);
 7254           SemaRef.ActOnFinishFullExpr(CombInit.get(), /*DiscardedValue*/ false);
 7269         SemaRef
 7271                         SemaRef.ActOnIntegerConstant(SourceLocation(), 1).get())
 7274         SemaRef.ActOnFinishFullExpr(BoundUB, /*DiscardedValue*/ false).get();
 7279           ? SemaRef.BuildBinOp(CurScope, CondLoc,
 7282           : SemaRef.BuildBinOp(CurScope, CondLoc, BO_LT, IV.get(),
 7286     CombDistCond = SemaRef.BuildBinOp(CurScope, CondLoc, BO_LT, IV.get(),
 7295           SemaRef
 7298                   SemaRef.ActOnIntegerConstant(SourceLocation(), 1).get())
 7301           SemaRef.ActOnFinishFullExpr(BoundCombUB, /*DiscardedValue*/ false)
 7305         SemaRef.BuildBinOp(CurScope, CondLoc, UseStrictCompare ? BO_LT : BO_LE,
 7311       SemaRef.BuildBinOp(CurScope, IncLoc, BO_Add, IV.get(),
 7312                          SemaRef.ActOnIntegerConstant(IncLoc, 1).get());
 7315   Inc = SemaRef.BuildBinOp(CurScope, IncLoc, BO_Assign, IV.get(), Inc.get());
 7316   Inc = SemaRef.ActOnFinishFullExpr(Inc.get(), /*DiscardedValue*/ false);
 7328     NextLB = SemaRef.BuildBinOp(CurScope, IncLoc, BO_Add, LB.get(), ST.get());
 7333         SemaRef.BuildBinOp(CurScope, IncLoc, BO_Assign, LB.get(), NextLB.get());
 7335         SemaRef.ActOnFinishFullExpr(NextLB.get(), /*DiscardedValue*/ false);
 7339     NextUB = SemaRef.BuildBinOp(CurScope, IncLoc, BO_Add, UB.get(), ST.get());
 7344         SemaRef.BuildBinOp(CurScope, IncLoc, BO_Assign, UB.get(), NextUB.get());
 7346         SemaRef.ActOnFinishFullExpr(NextUB.get(), /*DiscardedValue*/ false);
 7351           SemaRef.BuildBinOp(CurScope, IncLoc, BO_Add, CombLB.get(), ST.get());
 7355       CombNextLB = SemaRef.BuildBinOp(CurScope, IncLoc, BO_Assign, CombLB.get(),
 7357       CombNextLB = SemaRef.ActOnFinishFullExpr(CombNextLB.get(),
 7363           SemaRef.BuildBinOp(CurScope, IncLoc, BO_Add, CombUB.get(), ST.get());
 7367       CombNextUB = SemaRef.BuildBinOp(CurScope, IncLoc, BO_Assign, CombUB.get(),
 7369       CombNextUB = SemaRef.ActOnFinishFullExpr(CombNextUB.get(),
 7383     DistCond = SemaRef.BuildBinOp(
 7388         SemaRef.BuildBinOp(CurScope, DistIncLoc, BO_Add, IV.get(), ST.get());
 7390     DistInc = SemaRef.BuildBinOp(CurScope, DistIncLoc, BO_Assign, IV.get(),
 7393         SemaRef.ActOnFinishFullExpr(DistInc.get(), /*DiscardedValue*/ false);
 7400         SemaRef.BuildBinOp(CurScope, DistEUBLoc, BO_GT, UB.get(), PrevUB.get());
 7401     ExprResult CondOp = SemaRef.ActOnConditionalOp(
 7403     PrevEUB = SemaRef.BuildBinOp(CurScope, DistIncLoc, BO_Assign, UB.get(),
 7406         SemaRef.ActOnFinishFullExpr(PrevEUB.get(), /*DiscardedValue*/ false);
 7414           SemaRef
 7417                   SemaRef.ActOnIntegerConstant(SourceLocation(), 1).get())
 7420           SemaRef.ActOnFinishFullExpr(BoundPrevUB, /*DiscardedValue*/ false)
 7424         SemaRef.BuildBinOp(CurScope, CondLoc, UseStrictCompare ? BO_LT : BO_LE,
 7461           SemaRef.ActOnIntegerConstant(SourceLocation(), 1).get();
 7463         Prod = SemaRef.BuildBinOp(CurScope, UpdLoc, BO_Mul, Prod.get(),
 7470         Iter = SemaRef.BuildBinOp(CurScope, UpdLoc, BO_Div,
 7484         Prod = SemaRef.BuildBinOp(CurScope, UpdLoc, BO_Mul,
 7488       Acc = SemaRef.BuildBinOp(CurScope, UpdLoc, BO_Sub,
 7494           SemaRef, VD, IS.CounterVar->getType(), IS.CounterVar->getExprLoc(),
 7497           buildCounterInit(SemaRef, CurScope, UpdLoc, CounterVar,
 7504           SemaRef, CurScope, UpdLoc, CounterVar, IS.CounterInit, Iter,
 7513           buildCounterUpdate(SemaRef, CurScope, UpdLoc, CounterVar,
 7551   Built.CalcLastIteration = SemaRef