reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
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