Lines Matching defs:Dir
133 auto *Dir = dyn_cast<OMPLoopTransformationDirective>(CurStmt);
134 if (!Dir)
137 OnTransformationCallback(Dir);
139 Stmt *TransformedStmt = Dir->getTransformedStmt();
141 unsigned NumGeneratedLoops = Dir->getNumGeneratedLoops();
267 auto *Dir = createDirective<OMPMetaDirective>(
269 Dir->setIfStmt(IfStmt);
270 return Dir;
285 auto *Dir = createDirective<OMPParallelDirective>(
287 Dir->setTaskReductionRefExpr(TaskRedRef);
288 Dir->setHasCancel(HasCancel);
289 return Dir;
305 auto *Dir = createDirective<OMPSimdDirective>(
308 Dir->setIterationVariable(Exprs.IterationVarRef);
309 Dir->setLastIteration(Exprs.LastIteration);
310 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
311 Dir->setPreCond(Exprs.PreCond);
312 Dir->setCond(Exprs.Cond);
313 Dir->setInit(Exprs.Init);
314 Dir->setInc(Exprs.Inc);
315 Dir->setCounters(Exprs.Counters);
316 Dir->setPrivateCounters(Exprs.PrivateCounters);
317 Dir->setInits(Exprs.Inits);
318 Dir->setUpdates(Exprs.Updates);
319 Dir->setFinals(Exprs.Finals);
320 Dir->setDependentCounters(Exprs.DependentCounters);
321 Dir->setDependentInits(Exprs.DependentInits);
322 Dir->setFinalsConditions(Exprs.FinalsConditions);
323 Dir->setPreInits(Exprs.PreInits);
324 return Dir;
340 auto *Dir = createDirective<OMPForDirective>(
343 Dir->setIterationVariable(Exprs.IterationVarRef);
344 Dir->setLastIteration(Exprs.LastIteration);
345 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
346 Dir->setPreCond(Exprs.PreCond);
347 Dir->setCond(Exprs.Cond);
348 Dir->setInit(Exprs.Init);
349 Dir->setInc(Exprs.Inc);
350 Dir->setIsLastIterVariable(Exprs.IL);
351 Dir->setLowerBoundVariable(Exprs.LB);
352 Dir->setUpperBoundVariable(Exprs.UB);
353 Dir->setStrideVariable(Exprs.ST);
354 Dir->setEnsureUpperBound(Exprs.EUB);
355 Dir->setNextLowerBound(Exprs.NLB);
356 Dir->setNextUpperBound(Exprs.NUB);
357 Dir->setNumIterations(Exprs.NumIterations);
358 Dir->setCounters(Exprs.Counters);
359 Dir->setPrivateCounters(Exprs.PrivateCounters);
360 Dir->setInits(Exprs.Inits);
361 Dir->setUpdates(Exprs.Updates);
362 Dir->setFinals(Exprs.Finals);
363 Dir->setDependentCounters(Exprs.DependentCounters);
364 Dir->setDependentInits(Exprs.DependentInits);
365 Dir->setFinalsConditions(Exprs.FinalsConditions);
366 Dir->setPreInits(Exprs.PreInits);
367 Dir->setTaskReductionRefExpr(TaskRedRef);
368 Dir->setHasCancel(HasCancel);
369 return Dir;
412 OMPTileDirective *Dir = createDirective<OMPTileDirective>(
415 Dir->setTransformedStmt(TransformedStmt);
416 Dir->setPreInits(PreInits);
417 return Dir;
435 auto *Dir = createDirective<OMPUnrollDirective>(
437 Dir->setNumGeneratedLoops(NumGeneratedLoops);
438 Dir->setTransformedStmt(TransformedStmt);
439 Dir->setPreInits(PreInits);
440 return Dir;
454 OMPReverseDirective *Dir = createDirective<OMPReverseDirective>(
456 Dir->setTransformedStmt(TransformedStmt);
457 Dir->setPreInits(PreInits);
458 return Dir;
471 OMPInterchangeDirective *Dir = createDirective<OMPInterchangeDirective>(
474 Dir->setTransformedStmt(TransformedStmt);
475 Dir->setPreInits(PreInits);
476 return Dir;
492 auto *Dir = createDirective<OMPForSimdDirective>(
495 Dir->setIterationVariable(Exprs.IterationVarRef);
496 Dir->setLastIteration(Exprs.LastIteration);
497 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
498 Dir->setPreCond(Exprs.PreCond);
499 Dir->setCond(Exprs.Cond);
500 Dir->setInit(Exprs.Init);
501 Dir->setInc(Exprs.Inc);
502 Dir->setIsLastIterVariable(Exprs.IL);
503 Dir->setLowerBoundVariable(Exprs.LB);
504 Dir->setUpperBoundVariable(Exprs.UB);
505 Dir->setStrideVariable(Exprs.ST);
506 Dir->setEnsureUpperBound(Exprs.EUB);
507 Dir->setNextLowerBound(Exprs.NLB);
508 Dir->setNextUpperBound(Exprs.NUB);
509 Dir->setNumIterations(Exprs.NumIterations);
510 Dir->setCounters(Exprs.Counters);
511 Dir->setPrivateCounters(Exprs.PrivateCounters);
512 Dir->setInits(Exprs.Inits);
513 Dir->setUpdates(Exprs.Updates);
514 Dir->setFinals(Exprs.Finals);
515 Dir->setDependentCounters(Exprs.DependentCounters);
516 Dir->setDependentInits(Exprs.DependentInits);
517 Dir->setFinalsConditions(Exprs.FinalsConditions);
518 Dir->setPreInits(Exprs.PreInits);
519 return Dir;
535 auto *Dir = createDirective<OMPSectionsDirective>(C, Clauses, AssociatedStmt,
538 Dir->setTaskReductionRefExpr(TaskRedRef);
539 Dir->setHasCancel(HasCancel);
540 return Dir;
556 auto *Dir =
559 Dir->setHasCancel(HasCancel);
560 return Dir;
638 auto *Dir = createDirective<OMPParallelForDirective>(
642 Dir->setIterationVariable(Exprs.IterationVarRef);
643 Dir->setLastIteration(Exprs.LastIteration);
644 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
645 Dir->setPreCond(Exprs.PreCond);
646 Dir->setCond(Exprs.Cond);
647 Dir->setInit(Exprs.Init);
648 Dir->setInc(Exprs.Inc);
649 Dir->setIsLastIterVariable(Exprs.IL);
650 Dir->setLowerBoundVariable(Exprs.LB);
651 Dir->setUpperBoundVariable(Exprs.UB);
652 Dir->setStrideVariable(Exprs.ST);
653 Dir->setEnsureUpperBound(Exprs.EUB);
654 Dir->setNextLowerBound(Exprs.NLB);
655 Dir->setNextUpperBound(Exprs.NUB);
656 Dir->setNumIterations(Exprs.NumIterations);
657 Dir->setCounters(Exprs.Counters);
658 Dir->setPrivateCounters(Exprs.PrivateCounters);
659 Dir->setInits(Exprs.Inits);
660 Dir->setUpdates(Exprs.Updates);
661 Dir->setFinals(Exprs.Finals);
662 Dir->setDependentCounters(Exprs.DependentCounters);
663 Dir->setDependentInits(Exprs.DependentInits);
664 Dir->setFinalsConditions(Exprs.FinalsConditions);
665 Dir->setPreInits(Exprs.PreInits);
666 Dir->setTaskReductionRefExpr(TaskRedRef);
667 Dir->setHasCancel(HasCancel);
668 return Dir;
683 auto *Dir = createDirective<OMPParallelForSimdDirective>(
687 Dir->setIterationVariable(Exprs.IterationVarRef);
688 Dir->setLastIteration(Exprs.LastIteration);
689 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
690 Dir->setPreCond(Exprs.PreCond);
691 Dir->setCond(Exprs.Cond);
692 Dir->setInit(Exprs.Init);
693 Dir->setInc(Exprs.Inc);
694 Dir->setIsLastIterVariable(Exprs.IL);
695 Dir->setLowerBoundVariable(Exprs.LB);
696 Dir->setUpperBoundVariable(Exprs.UB);
697 Dir->setStrideVariable(Exprs.ST);
698 Dir->setEnsureUpperBound(Exprs.EUB);
699 Dir->setNextLowerBound(Exprs.NLB);
700 Dir->setNextUpperBound(Exprs.NUB);
701 Dir->setNumIterations(Exprs.NumIterations);
702 Dir->setCounters(Exprs.Counters);
703 Dir->setPrivateCounters(Exprs.PrivateCounters);
704 Dir->setInits(Exprs.Inits);
705 Dir->setUpdates(Exprs.Updates);
706 Dir->setFinals(Exprs.Finals);
707 Dir->setDependentCounters(Exprs.DependentCounters);
708 Dir->setDependentInits(Exprs.DependentInits);
709 Dir->setFinalsConditions(Exprs.FinalsConditions);
710 Dir->setPreInits(Exprs.PreInits);
711 return Dir;
726 auto *Dir = createDirective<OMPParallelMasterDirective>(
728 Dir->setTaskReductionRefExpr(TaskRedRef);
729 return Dir;
742 auto *Dir = createDirective<OMPParallelMaskedDirective>(
744 Dir->setTaskReductionRefExpr(TaskRedRef);
745 return Dir;
759 auto *Dir = createDirective<OMPParallelSectionsDirective>(
761 Dir->setTaskReductionRefExpr(TaskRedRef);
762 Dir->setHasCancel(HasCancel);
763 return Dir;
777 auto *Dir = createDirective<OMPTaskDirective>(
779 Dir->setHasCancel(HasCancel);
780 return Dir;
862 auto *Dir = createDirective<OMPTaskgroupDirective>(
864 Dir->setReductionRef(ReductionRef);
865 return Dir;
878 auto *Dir = new (C) OMPCancellationPointDirective(StartLoc, EndLoc);
879 Dir->setCancelRegion(CancelRegion);
880 return Dir;
892 auto *Dir = createDirective<OMPCancelDirective>(
895 Dir->setCancelRegion(CancelRegion);
896 return Dir;
972 auto *Dir = createDirective<OMPAtomicDirective>(
974 Dir->setX(Exprs.X);
975 Dir->setV(Exprs.V);
976 Dir->setR(Exprs.R);
977 Dir->setExpr(Exprs.E);
978 Dir->setUpdateExpr(Exprs.UE);
979 Dir->setD(Exprs.D);
980 Dir->setCond(Exprs.Cond);
981 Dir->Flags.IsXLHSInRHSPart = Exprs.IsXLHSInRHSPart ? 1 : 0;
982 Dir->Flags.IsPostfixUpdate = Exprs.IsPostfixUpdate ? 1 : 0;
983 Dir->Flags.IsFailOnly = Exprs.IsFailOnly ? 1 : 0;
984 return Dir;
1014 auto *Dir = createDirective<OMPTargetParallelDirective>(
1016 Dir->setTaskReductionRefExpr(TaskRedRef);
1017 Dir->setHasCancel(HasCancel);
1018 return Dir;
1032 auto *Dir = createDirective<OMPTargetParallelForDirective>(
1036 Dir->setIterationVariable(Exprs.IterationVarRef);
1037 Dir->setLastIteration(Exprs.LastIteration);
1038 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
1039 Dir->setPreCond(Exprs.PreCond);
1040 Dir->setCond(Exprs.Cond);
1041 Dir->setInit(Exprs.Init);
1042 Dir->setInc(Exprs.Inc);
1043 Dir->setIsLastIterVariable(Exprs.IL);
1044 Dir->setLowerBoundVariable(Exprs.LB);
1045 Dir->setUpperBoundVariable(Exprs.UB);
1046 Dir->setStrideVariable(Exprs.ST);
1047 Dir->setEnsureUpperBound(Exprs.EUB);
1048 Dir->setNextLowerBound(Exprs.NLB);
1049 Dir->setNextUpperBound(Exprs.NUB);
1050 Dir->setNumIterations(Exprs.NumIterations);
1051 Dir->setCounters(Exprs.Counters);
1052 Dir->setPrivateCounters(Exprs.PrivateCounters);
1053 Dir->setInits(Exprs.Inits);
1054 Dir->setUpdates(Exprs.Updates);
1055 Dir->setFinals(Exprs.Finals);
1056 Dir->setDependentCounters(Exprs.DependentCounters);
1057 Dir->setDependentInits(Exprs.DependentInits);
1058 Dir->setFinalsConditions(Exprs.FinalsConditions);
1059 Dir->setPreInits(Exprs.PreInits);
1060 Dir->setTaskReductionRefExpr(TaskRedRef);
1061 Dir->setHasCancel(HasCancel);
1062 return Dir;
1137 auto *Dir = createDirective<OMPTaskLoopDirective>(
1140 Dir->setIterationVariable(Exprs.IterationVarRef);
1141 Dir->setLastIteration(Exprs.LastIteration);
1142 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
1143 Dir->setPreCond(Exprs.PreCond);
1144 Dir->setCond(Exprs.Cond);
1145 Dir->setInit(Exprs.Init);
1146 Dir->setInc(Exprs.Inc);
1147 Dir->setIsLastIterVariable(Exprs.IL);
1148 Dir->setLowerBoundVariable(Exprs.LB);
1149 Dir->setUpperBoundVariable(Exprs.UB);
1150 Dir->setStrideVariable(Exprs.ST);
1151 Dir->setEnsureUpperBound(Exprs.EUB);
1152 Dir->setNextLowerBound(Exprs.NLB);
1153 Dir->setNextUpperBound(Exprs.NUB);
1154 Dir->setNumIterations(Exprs.NumIterations);
1155 Dir->setCounters(Exprs.Counters);
1156 Dir->setPrivateCounters(Exprs.PrivateCounters);
1157 Dir->setInits(Exprs.Inits);
1158 Dir->setUpdates(Exprs.Updates);
1159 Dir->setFinals(Exprs.Finals);
1160 Dir->setDependentCounters(Exprs.DependentCounters);
1161 Dir->setDependentInits(Exprs.DependentInits);
1162 Dir->setFinalsConditions(Exprs.FinalsConditions);
1163 Dir->setPreInits(Exprs.PreInits);
1164 Dir->setHasCancel(HasCancel);
1165 return Dir;
1181 auto *Dir = createDirective<OMPTaskLoopSimdDirective>(
1185 Dir->setIterationVariable(Exprs.IterationVarRef);
1186 Dir->setLastIteration(Exprs.LastIteration);
1187 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
1188 Dir->setPreCond(Exprs.PreCond);
1189 Dir->setCond(Exprs.Cond);
1190 Dir->setInit(Exprs.Init);
1191 Dir->setInc(Exprs.Inc);
1192 Dir->setIsLastIterVariable(Exprs.IL);
1193 Dir->setLowerBoundVariable(Exprs.LB);
1194 Dir->setUpperBoundVariable(Exprs.UB);
1195 Dir->setStrideVariable(Exprs.ST);
1196 Dir->setEnsureUpperBound(Exprs.EUB);
1197 Dir->setNextLowerBound(Exprs.NLB);
1198 Dir->setNextUpperBound(Exprs.NUB);
1199 Dir->setNumIterations(Exprs.NumIterations);
1200 Dir->setCounters(Exprs.Counters);
1201 Dir->setPrivateCounters(Exprs.PrivateCounters);
1202 Dir->setInits(Exprs.Inits);
1203 Dir->setUpdates(Exprs.Updates);
1204 Dir->setFinals(Exprs.Finals);
1205 Dir->setDependentCounters(Exprs.DependentCounters);
1206 Dir->setDependentInits(Exprs.DependentInits);
1207 Dir->setFinalsConditions(Exprs.FinalsConditions);
1208 Dir->setPreInits(Exprs.PreInits);
1209 return Dir;
1224 auto *Dir = createDirective<OMPMasterTaskLoopDirective>(
1228 Dir->setIterationVariable(Exprs.IterationVarRef);
1229 Dir->setLastIteration(Exprs.LastIteration);
1230 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
1231 Dir->setPreCond(Exprs.PreCond);
1232 Dir->setCond(Exprs.Cond);
1233 Dir->setInit(Exprs.Init);
1234 Dir->setInc(Exprs.Inc);
1235 Dir->setIsLastIterVariable(Exprs.IL);
1236 Dir->setLowerBoundVariable(Exprs.LB);
1237 Dir->setUpperBoundVariable(Exprs.UB);
1238 Dir->setStrideVariable(Exprs.ST);
1239 Dir->setEnsureUpperBound(Exprs.EUB);
1240 Dir->setNextLowerBound(Exprs.NLB);
1241 Dir->setNextUpperBound(Exprs.NUB);
1242 Dir->setNumIterations(Exprs.NumIterations);
1243 Dir->setCounters(Exprs.Counters);
1244 Dir->setPrivateCounters(Exprs.PrivateCounters);
1245 Dir->setInits(Exprs.Inits);
1246 Dir->setUpdates(Exprs.Updates);
1247 Dir->setFinals(Exprs.Finals);
1248 Dir->setDependentCounters(Exprs.DependentCounters);
1249 Dir->setDependentInits(Exprs.DependentInits);
1250 Dir->setFinalsConditions(Exprs.FinalsConditions);
1251 Dir->setPreInits(Exprs.PreInits);
1252 Dir->setHasCancel(HasCancel);
1253 return Dir;
1269 auto *Dir = createDirective<OMPMaskedTaskLoopDirective>(
1273 Dir->setIterationVariable(Exprs.IterationVarRef);
1274 Dir->setLastIteration(Exprs.LastIteration);
1275 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
1276 Dir->setPreCond(Exprs.PreCond);
1277 Dir->setCond(Exprs.Cond);
1278 Dir->setInit(Exprs.Init);
1279 Dir->setInc(Exprs.Inc);
1280 Dir->setIsLastIterVariable(Exprs.IL);
1281 Dir->setLowerBoundVariable(Exprs.LB);
1282 Dir->setUpperBoundVariable(Exprs.UB);
1283 Dir->setStrideVariable(Exprs.ST);
1284 Dir->setEnsureUpperBound(Exprs.EUB);
1285 Dir->setNextLowerBound(Exprs.NLB);
1286 Dir->setNextUpperBound(Exprs.NUB);
1287 Dir->setNumIterations(Exprs.NumIterations);
1288 Dir->setCounters(Exprs.Counters);
1289 Dir->setPrivateCounters(Exprs.PrivateCounters);
1290 Dir->setInits(Exprs.Inits);
1291 Dir->setUpdates(Exprs.Updates);
1292 Dir->setFinals(Exprs.Finals);
1293 Dir->setDependentCounters(Exprs.DependentCounters);
1294 Dir->setDependentInits(Exprs.DependentInits);
1295 Dir->setFinalsConditions(Exprs.FinalsConditions);
1296 Dir->setPreInits(Exprs.PreInits);
1297 Dir->setHasCancel(HasCancel);
1298 return Dir;
1314 auto *Dir = createDirective<OMPMasterTaskLoopSimdDirective>(
1318 Dir->setIterationVariable(Exprs.IterationVarRef);
1319 Dir->setLastIteration(Exprs.LastIteration);
1320 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
1321 Dir->setPreCond(Exprs.PreCond);
1322 Dir->setCond(Exprs.Cond);
1323 Dir->setInit(Exprs.Init);
1324 Dir->setInc(Exprs.Inc);
1325 Dir->setIsLastIterVariable(Exprs.IL);
1326 Dir->setLowerBoundVariable(Exprs.LB);
1327 Dir->setUpperBoundVariable(Exprs.UB);
1328 Dir->setStrideVariable(Exprs.ST);
1329 Dir->setEnsureUpperBound(Exprs.EUB);
1330 Dir->setNextLowerBound(Exprs.NLB);
1331 Dir->setNextUpperBound(Exprs.NUB);
1332 Dir->setNumIterations(Exprs.NumIterations);
1333 Dir->setCounters(Exprs.Counters);
1334 Dir->setPrivateCounters(Exprs.PrivateCounters);
1335 Dir->setInits(Exprs.Inits);
1336 Dir->setUpdates(Exprs.Updates);
1337 Dir->setFinals(Exprs.Finals);
1338 Dir->setDependentCounters(Exprs.DependentCounters);
1339 Dir->setDependentInits(Exprs.DependentInits);
1340 Dir->setFinalsConditions(Exprs.FinalsConditions);
1341 Dir->setPreInits(Exprs.PreInits);
1342 return Dir;
1358 auto *Dir = createDirective<OMPMaskedTaskLoopSimdDirective>(
1362 Dir->setIterationVariable(Exprs.IterationVarRef);
1363 Dir->setLastIteration(Exprs.LastIteration);
1364 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
1365 Dir->setPreCond(Exprs.PreCond);
1366 Dir->setCond(Exprs.Cond);
1367 Dir->setInit(Exprs.Init);
1368 Dir->setInc(Exprs.Inc);
1369 Dir->setIsLastIterVariable(Exprs.IL);
1370 Dir->setLowerBoundVariable(Exprs.LB);
1371 Dir->setUpperBoundVariable(Exprs.UB);
1372 Dir->setStrideVariable(Exprs.ST);
1373 Dir->setEnsureUpperBound(Exprs.EUB);
1374 Dir->setNextLowerBound(Exprs.NLB);
1375 Dir->setNextUpperBound(Exprs.NUB);
1376 Dir->setNumIterations(Exprs.NumIterations);
1377 Dir->setCounters(Exprs.Counters);
1378 Dir->setPrivateCounters(Exprs.PrivateCounters);
1379 Dir->setInits(Exprs.Inits);
1380 Dir->setUpdates(Exprs.Updates);
1381 Dir->setFinals(Exprs.Finals);
1382 Dir->setDependentCounters(Exprs.DependentCounters);
1383 Dir->setDependentInits(Exprs.DependentInits);
1384 Dir->setFinalsConditions(Exprs.FinalsConditions);
1385 Dir->setPreInits(Exprs.PreInits);
1386 return Dir;
1402 auto *Dir = createDirective<OMPParallelMasterTaskLoopDirective>(
1406 Dir->setIterationVariable(Exprs.IterationVarRef);
1407 Dir->setLastIteration(Exprs.LastIteration);
1408 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
1409 Dir->setPreCond(Exprs.PreCond);
1410 Dir->setCond(Exprs.Cond);
1411 Dir->setInit(Exprs.Init);
1412 Dir->setInc(Exprs.Inc);
1413 Dir->setIsLastIterVariable(Exprs.IL);
1414 Dir->setLowerBoundVariable(Exprs.LB);
1415 Dir->setUpperBoundVariable(Exprs.UB);
1416 Dir->setStrideVariable(Exprs.ST);
1417 Dir->setEnsureUpperBound(Exprs.EUB);
1418 Dir->setNextLowerBound(Exprs.NLB);
1419 Dir->setNextUpperBound(Exprs.NUB);
1420 Dir->setNumIterations(Exprs.NumIterations);
1421 Dir->setCounters(Exprs.Counters);
1422 Dir->setPrivateCounters(Exprs.PrivateCounters);
1423 Dir->setInits(Exprs.Inits);
1424 Dir->setUpdates(Exprs.Updates);
1425 Dir->setFinals(Exprs.Finals);
1426 Dir->setDependentCounters(Exprs.DependentCounters);
1427 Dir->setDependentInits(Exprs.DependentInits);
1428 Dir->setFinalsConditions(Exprs.FinalsConditions);
1429 Dir->setPreInits(Exprs.PreInits);
1430 Dir->setHasCancel(HasCancel);
1431 return Dir;
1449 auto *Dir = createDirective<OMPParallelMaskedTaskLoopDirective>(
1453 Dir->setIterationVariable(Exprs.IterationVarRef);
1454 Dir->setLastIteration(Exprs.LastIteration);
1455 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
1456 Dir->setPreCond(Exprs.PreCond);
1457 Dir->setCond(Exprs.Cond);
1458 Dir->setInit(Exprs.Init);
1459 Dir->setInc(Exprs.Inc);
1460 Dir->setIsLastIterVariable(Exprs.IL);
1461 Dir->setLowerBoundVariable(Exprs.LB);
1462 Dir->setUpperBoundVariable(Exprs.UB);
1463 Dir->setStrideVariable(Exprs.ST);
1464 Dir->setEnsureUpperBound(Exprs.EUB);
1465 Dir->setNextLowerBound(Exprs.NLB);
1466 Dir->setNextUpperBound(Exprs.NUB);
1467 Dir->setNumIterations(Exprs.NumIterations);
1468 Dir->setCounters(Exprs.Counters);
1469 Dir->setPrivateCounters(Exprs.PrivateCounters);
1470 Dir->setInits(Exprs.Inits);
1471 Dir->setUpdates(Exprs.Updates);
1472 Dir->setFinals(Exprs.Finals);
1473 Dir->setDependentCounters(Exprs.DependentCounters);
1474 Dir->setDependentInits(Exprs.DependentInits);
1475 Dir->setFinalsConditions(Exprs.FinalsConditions);
1476 Dir->setPreInits(Exprs.PreInits);
1477 Dir->setHasCancel(HasCancel);
1478 return Dir;
1497 auto *Dir = createDirective<OMPParallelMasterTaskLoopSimdDirective>(
1501 Dir->setIterationVariable(Exprs.IterationVarRef);
1502 Dir->setLastIteration(Exprs.LastIteration);
1503 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
1504 Dir->setPreCond(Exprs.PreCond);
1505 Dir->setCond(Exprs.Cond);
1506 Dir->setInit(Exprs.Init);
1507 Dir->setInc(Exprs.Inc);
1508 Dir->setIsLastIterVariable(Exprs.IL);
1509 Dir->setLowerBoundVariable(Exprs.LB);
1510 Dir->setUpperBoundVariable(Exprs.UB);
1511 Dir->setStrideVariable(Exprs.ST);
1512 Dir->setEnsureUpperBound(Exprs.EUB);
1513 Dir->setNextLowerBound(Exprs.NLB);
1514 Dir->setNextUpperBound(Exprs.NUB);
1515 Dir->setNumIterations(Exprs.NumIterations);
1516 Dir->setCounters(Exprs.Counters);
1517 Dir->setPrivateCounters(Exprs.PrivateCounters);
1518 Dir->setInits(Exprs.Inits);
1519 Dir->setUpdates(Exprs.Updates);
1520 Dir->setFinals(Exprs.Finals);
1521 Dir->setDependentCounters(Exprs.DependentCounters);
1522 Dir->setDependentInits(Exprs.DependentInits);
1523 Dir->setFinalsConditions(Exprs.FinalsConditions);
1524 Dir->setPreInits(Exprs.PreInits);
1525 return Dir;
1544 auto *Dir = createDirective<OMPParallelMaskedTaskLoopSimdDirective>(
1548 Dir->setIterationVariable(Exprs.IterationVarRef);
1549 Dir->setLastIteration(Exprs.LastIteration);
1550 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
1551 Dir->setPreCond(Exprs.PreCond);
1552 Dir->setCond(Exprs.Cond);
1553 Dir->setInit(Exprs.Init);
1554 Dir->setInc(Exprs.Inc);
1555 Dir->setIsLastIterVariable(Exprs.IL);
1556 Dir->setLowerBoundVariable(Exprs.LB);
1557 Dir->setUpperBoundVariable(Exprs.UB);
1558 Dir->setStrideVariable(Exprs.ST);
1559 Dir->setEnsureUpperBound(Exprs.EUB);
1560 Dir->setNextLowerBound(Exprs.NLB);
1561 Dir->setNextUpperBound(Exprs.NUB);
1562 Dir->setNumIterations(Exprs.NumIterations);
1563 Dir->setCounters(Exprs.Counters);
1564 Dir->setPrivateCounters(Exprs.PrivateCounters);
1565 Dir->setInits(Exprs.Inits);
1566 Dir->setUpdates(Exprs.Updates);
1567 Dir->setFinals(Exprs.Finals);
1568 Dir->setDependentCounters(Exprs.DependentCounters);
1569 Dir->setDependentInits(Exprs.DependentInits);
1570 Dir->setFinalsConditions(Exprs.FinalsConditions);
1571 Dir->setPreInits(Exprs.PreInits);
1572 return Dir;
1591 auto *Dir = createDirective<OMPDistributeDirective>(
1595 Dir->setIterationVariable(Exprs.IterationVarRef);
1596 Dir->setLastIteration(Exprs.LastIteration);
1597 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
1598 Dir->setPreCond(Exprs.PreCond);
1599 Dir->setCond(Exprs.Cond);
1600 Dir->setInit(Exprs.Init);
1601 Dir->setInc(Exprs.Inc);
1602 Dir->setIsLastIterVariable(Exprs.IL);
1603 Dir->setLowerBoundVariable(Exprs.LB);
1604 Dir->setUpperBoundVariable(Exprs.UB);
1605 Dir->setStrideVariable(Exprs.ST);
1606 Dir->setEnsureUpperBound(Exprs.EUB);
1607 Dir->setNextLowerBound(Exprs.NLB);
1608 Dir->setNextUpperBound(Exprs.NUB);
1609 Dir->setNumIterations(Exprs.NumIterations);
1610 Dir->setCounters(Exprs.Counters);
1611 Dir->setPrivateCounters(Exprs.PrivateCounters);
1612 Dir->setInits(Exprs.Inits);
1613 Dir->setUpdates(Exprs.Updates);
1614 Dir->setFinals(Exprs.Finals);
1615 Dir->setDependentCounters(Exprs.DependentCounters);
1616 Dir->setDependentInits(Exprs.DependentInits);
1617 Dir->setFinalsConditions(Exprs.FinalsConditions);
1618 Dir->setPreInits(Exprs.PreInits);
1619 return Dir;
1649 auto *Dir = createDirective<OMPDistributeParallelForDirective>(
1653 Dir->setIterationVariable(Exprs.IterationVarRef);
1654 Dir->setLastIteration(Exprs.LastIteration);
1655 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
1656 Dir->setPreCond(Exprs.PreCond);
1657 Dir->setCond(Exprs.Cond);
1658 Dir->setInit(Exprs.Init);
1659 Dir->setInc(Exprs.Inc);
1660 Dir->setIsLastIterVariable(Exprs.IL);
1661 Dir->setLowerBoundVariable(Exprs.LB);
1662 Dir->setUpperBoundVariable(Exprs.UB);
1663 Dir->setStrideVariable(Exprs.ST);
1664 Dir->setEnsureUpperBound(Exprs.EUB);
1665 Dir->setNextLowerBound(Exprs.NLB);
1666 Dir->setNextUpperBound(Exprs.NUB);
1667 Dir->setNumIterations(Exprs.NumIterations);
1668 Dir->setPrevLowerBoundVariable(Exprs.PrevLB);
1669 Dir->setPrevUpperBoundVariable(Exprs.PrevUB);
1670 Dir->setDistInc(Exprs.DistInc);
1671 Dir->setPrevEnsureUpperBound(Exprs.PrevEUB);
1672 Dir->setCounters(Exprs.Counters);
1673 Dir->setPrivateCounters(Exprs.PrivateCounters);
1674 Dir->setInits(Exprs.Inits);
1675 Dir->setUpdates(Exprs.Updates);
1676 Dir->setFinals(Exprs.Finals);
1677 Dir->setDependentCounters(Exprs.DependentCounters);
1678 Dir->setDependentInits(Exprs.DependentInits);
1679 Dir->setFinalsConditions(Exprs.FinalsConditions);
1680 Dir->setPreInits(Exprs.PreInits);
1681 Dir->setCombinedLowerBoundVariable(Exprs.DistCombinedFields.LB);
1682 Dir->setCombinedUpperBoundVariable(Exprs.DistCombinedFields.UB);
1683 Dir->setCombinedEnsureUpperBound(Exprs.DistCombinedFields.EUB);
1684 Dir->setCombinedInit(Exprs.DistCombinedFields.Init);
1685 Dir->setCombinedCond(Exprs.DistCombinedFields.Cond);
1686 Dir->setCombinedNextLowerBound(Exprs.DistCombinedFields.NLB);
1687 Dir->setCombinedNextUpperBound(Exprs.DistCombinedFields.NUB);
1688 Dir->setCombinedDistCond(Exprs.DistCombinedFields.DistCond);
1689 Dir->setCombinedParForInDistCond(Exprs.DistCombinedFields.ParForInDistCond);
1690 Dir->setTaskReductionRefExpr(TaskRedRef);
1691 Dir->HasCancel = HasCancel;
1692 return Dir;
1711 auto *Dir = createDirective<OMPDistributeParallelForSimdDirective>(
1715 Dir->setIterationVariable(Exprs.IterationVarRef);
1716 Dir->setLastIteration(Exprs.LastIteration);
1717 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
1718 Dir->setPreCond(Exprs.PreCond);
1719 Dir->setCond(Exprs.Cond);
1720 Dir->setInit(Exprs.Init);
1721 Dir->setInc(Exprs.Inc);
1722 Dir->setIsLastIterVariable(Exprs.IL);
1723 Dir->setLowerBoundVariable(Exprs.LB);
1724 Dir->setUpperBoundVariable(Exprs.UB);
1725 Dir->setStrideVariable(Exprs.ST);
1726 Dir->setEnsureUpperBound(Exprs.EUB);
1727 Dir->setNextLowerBound(Exprs.NLB);
1728 Dir->setNextUpperBound(Exprs.NUB);
1729 Dir->setNumIterations(Exprs.NumIterations);
1730 Dir->setPrevLowerBoundVariable(Exprs.PrevLB);
1731 Dir->setPrevUpperBoundVariable(Exprs.PrevUB);
1732 Dir->setDistInc(Exprs.DistInc);
1733 Dir->setPrevEnsureUpperBound(Exprs.PrevEUB);
1734 Dir->setCounters(Exprs.Counters);
1735 Dir->setPrivateCounters(Exprs.PrivateCounters);
1736 Dir->setInits(Exprs.Inits);
1737 Dir->setUpdates(Exprs.Updates);
1738 Dir->setFinals(Exprs.Finals);
1739 Dir->setDependentCounters(Exprs.DependentCounters);
1740 Dir->setDependentInits(Exprs.DependentInits);
1741 Dir->setFinalsConditions(Exprs.FinalsConditions);
1742 Dir->setPreInits(Exprs.PreInits);
1743 Dir->setCombinedLowerBoundVariable(Exprs.DistCombinedFields.LB);
1744 Dir->setCombinedUpperBoundVariable(Exprs.DistCombinedFields.UB);
1745 Dir->setCombinedEnsureUpperBound(Exprs.DistCombinedFields.EUB);
1746 Dir->setCombinedInit(Exprs.DistCombinedFields.Init);
1747 Dir->setCombinedCond(Exprs.DistCombinedFields.Cond);
1748 Dir->setCombinedNextLowerBound(Exprs.DistCombinedFields.NLB);
1749 Dir->setCombinedNextUpperBound(Exprs.DistCombinedFields.NUB);
1750 Dir->setCombinedDistCond(Exprs.DistCombinedFields.DistCond);
1751 Dir->setCombinedParForInDistCond(Exprs.DistCombinedFields.ParForInDistCond);
1752 return Dir;
1770 auto *Dir = createDirective<OMPDistributeSimdDirective>(
1774 Dir->setIterationVariable(Exprs.IterationVarRef);
1775 Dir->setLastIteration(Exprs.LastIteration);
1776 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
1777 Dir->setPreCond(Exprs.PreCond);
1778 Dir->setCond(Exprs.Cond);
1779 Dir->setInit(Exprs.Init);
1780 Dir->setInc(Exprs.Inc);
1781 Dir->setIsLastIterVariable(Exprs.IL);
1782 Dir->setLowerBoundVariable(Exprs.LB);
1783 Dir->setUpperBoundVariable(Exprs.UB);
1784 Dir->setStrideVariable(Exprs.ST);
1785 Dir->setEnsureUpperBound(Exprs.EUB);
1786 Dir->setNextLowerBound(Exprs.NLB);
1787 Dir->setNextUpperBound(Exprs.NUB);
1788 Dir->setNumIterations(Exprs.NumIterations);
1789 Dir->setCounters(Exprs.Counters);
1790 Dir->setPrivateCounters(Exprs.PrivateCounters);
1791 Dir->setInits(Exprs.Inits);
1792 Dir->setUpdates(Exprs.Updates);
1793 Dir->setFinals(Exprs.Finals);
1794 Dir->setDependentCounters(Exprs.DependentCounters);
1795 Dir->setDependentInits(Exprs.DependentInits);
1796 Dir->setFinalsConditions(Exprs.FinalsConditions);
1797 Dir->setPreInits(Exprs.PreInits);
1798 return Dir;
1814 auto *Dir = createDirective<OMPTargetParallelForSimdDirective>(
1818 Dir->setIterationVariable(Exprs.IterationVarRef);
1819 Dir->setLastIteration(Exprs.LastIteration);
1820 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
1821 Dir->setPreCond(Exprs.PreCond);
1822 Dir->setCond(Exprs.Cond);
1823 Dir->setInit(Exprs.Init);
1824 Dir->setInc(Exprs.Inc);
1825 Dir->setIsLastIterVariable(Exprs.IL);
1826 Dir->setLowerBoundVariable(Exprs.LB);
1827 Dir->setUpperBoundVariable(Exprs.UB);
1828 Dir->setStrideVariable(Exprs.ST);
1829 Dir->setEnsureUpperBound(Exprs.EUB);
1830 Dir->setNextLowerBound(Exprs.NLB);
1831 Dir->setNextUpperBound(Exprs.NUB);
1832 Dir->setNumIterations(Exprs.NumIterations);
1833 Dir->setCounters(Exprs.Counters);
1834 Dir->setPrivateCounters(Exprs.PrivateCounters);
1835 Dir->setInits(Exprs.Inits);
1836 Dir->setUpdates(Exprs.Updates);
1837 Dir->setFinals(Exprs.Finals);
1838 Dir->setDependentCounters(Exprs.DependentCounters);
1839 Dir->setDependentInits(Exprs.DependentInits);
1840 Dir->setFinalsConditions(Exprs.FinalsConditions);
1841 Dir->setPreInits(Exprs.PreInits);
1842 return Dir;
1861 auto *Dir = createDirective<OMPTargetSimdDirective>(
1865 Dir->setIterationVariable(Exprs.IterationVarRef);
1866 Dir->setLastIteration(Exprs.LastIteration);
1867 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
1868 Dir->setPreCond(Exprs.PreCond);
1869 Dir->setCond(Exprs.Cond);
1870 Dir->setInit(Exprs.Init);
1871 Dir->setInc(Exprs.Inc);
1872 Dir->setCounters(Exprs.Counters);
1873 Dir->setPrivateCounters(Exprs.PrivateCounters);
1874 Dir->setInits(Exprs.Inits);
1875 Dir->setUpdates(Exprs.Updates);
1876 Dir->setFinals(Exprs.Finals);
1877 Dir->setDependentCounters(Exprs.DependentCounters);
1878 Dir->setDependentInits(Exprs.DependentInits);
1879 Dir->setFinalsConditions(Exprs.FinalsConditions);
1880 Dir->setPreInits(Exprs.PreInits);
1881 return Dir;
1896 auto *Dir = createDirective<OMPTeamsDistributeDirective>(
1900 Dir->setIterationVariable(Exprs.IterationVarRef);
1901 Dir->setLastIteration(Exprs.LastIteration);
1902 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
1903 Dir->setPreCond(Exprs.PreCond);
1904 Dir->setCond(Exprs.Cond);
1905 Dir->setInit(Exprs.Init);
1906 Dir->setInc(Exprs.Inc);
1907 Dir->setIsLastIterVariable(Exprs.IL);
1908 Dir->setLowerBoundVariable(Exprs.LB);
1909 Dir->setUpperBoundVariable(Exprs.UB);
1910 Dir->setStrideVariable(Exprs.ST);
1911 Dir->setEnsureUpperBound(Exprs.EUB);
1912 Dir->setNextLowerBound(Exprs.NLB);
1913 Dir->setNextUpperBound(Exprs.NUB);
1914 Dir->setNumIterations(Exprs.NumIterations);
1915 Dir->setCounters(Exprs.Counters);
1916 Dir->setPrivateCounters(Exprs.PrivateCounters);
1917 Dir->setInits(Exprs.Inits);
1918 Dir->setUpdates(Exprs.Updates);
1919 Dir->setFinals(Exprs.Finals);
1920 Dir->setDependentCounters(Exprs.DependentCounters);
1921 Dir->setDependentInits(Exprs.DependentInits);
1922 Dir->setFinalsConditions(Exprs.FinalsConditions);
1923 Dir->setPreInits(Exprs.PreInits);
1924 return Dir;
1940 auto *Dir = createDirective<OMPTeamsDistributeSimdDirective>(
1944 Dir->setIterationVariable(Exprs.IterationVarRef);
1945 Dir->setLastIteration(Exprs.LastIteration);
1946 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
1947 Dir->setPreCond(Exprs.PreCond);
1948 Dir->setCond(Exprs.Cond);
1949 Dir->setInit(Exprs.Init);
1950 Dir->setInc(Exprs.Inc);
1951 Dir->setIsLastIterVariable(Exprs.IL);
1952 Dir->setLowerBoundVariable(Exprs.LB);
1953 Dir->setUpperBoundVariable(Exprs.UB);
1954 Dir->setStrideVariable(Exprs.ST);
1955 Dir->setEnsureUpperBound(Exprs.EUB);
1956 Dir->setNextLowerBound(Exprs.NLB);
1957 Dir->setNextUpperBound(Exprs.NUB);
1958 Dir->setNumIterations(Exprs.NumIterations);
1959 Dir->setCounters(Exprs.Counters);
1960 Dir->setPrivateCounters(Exprs.PrivateCounters);
1961 Dir->setInits(Exprs.Inits);
1962 Dir->setUpdates(Exprs.Updates);
1963 Dir->setFinals(Exprs.Finals);
1964 Dir->setDependentCounters(Exprs.DependentCounters);
1965 Dir->setDependentInits(Exprs.DependentInits);
1966 Dir->setFinalsConditions(Exprs.FinalsConditions);
1967 Dir->setPreInits(Exprs.PreInits);
1968 return Dir;
1984 auto *Dir = createDirective<OMPTeamsDistributeParallelForSimdDirective>(
1988 Dir->setIterationVariable(Exprs.IterationVarRef);
1989 Dir->setLastIteration(Exprs.LastIteration);
1990 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
1991 Dir->setPreCond(Exprs.PreCond);
1992 Dir->setCond(Exprs.Cond);
1993 Dir->setInit(Exprs.Init);
1994 Dir->setInc(Exprs.Inc);
1995 Dir->setIsLastIterVariable(Exprs.IL);
1996 Dir->setLowerBoundVariable(Exprs.LB);
1997 Dir->setUpperBoundVariable(Exprs.UB);
1998 Dir->setStrideVariable(Exprs.ST);
1999 Dir->setEnsureUpperBound(Exprs.EUB);
2000 Dir->setNextLowerBound(Exprs.NLB);
2001 Dir->setNextUpperBound(Exprs.NUB);
2002 Dir->setNumIterations(Exprs.NumIterations);
2003 Dir->setPrevLowerBoundVariable(Exprs.PrevLB);
2004 Dir->setPrevUpperBoundVariable(Exprs.PrevUB);
2005 Dir->setDistInc(Exprs.DistInc);
2006 Dir->setPrevEnsureUpperBound(Exprs.PrevEUB);
2007 Dir->setCounters(Exprs.Counters);
2008 Dir->setPrivateCounters(Exprs.PrivateCounters);
2009 Dir->setInits(Exprs.Inits);
2010 Dir->setUpdates(Exprs.Updates);
2011 Dir->setFinals(Exprs.Finals);
2012 Dir->setDependentCounters(Exprs.DependentCounters);
2013 Dir->setDependentInits(Exprs.DependentInits);
2014 Dir->setFinalsConditions(Exprs.FinalsConditions);
2015 Dir->setPreInits(Exprs.PreInits);
2016 Dir->setCombinedLowerBoundVariable(Exprs.DistCombinedFields.LB);
2017 Dir->setCombinedUpperBoundVariable(Exprs.DistCombinedFields.UB);
2018 Dir->setCombinedEnsureUpperBound(Exprs.DistCombinedFields.EUB);
2019 Dir->setCombinedInit(Exprs.DistCombinedFields.Init);
2020 Dir->setCombinedCond(Exprs.DistCombinedFields.Cond);
2021 Dir->setCombinedNextLowerBound(Exprs.DistCombinedFields.NLB);
2022 Dir->setCombinedNextUpperBound(Exprs.DistCombinedFields.NUB);
2023 Dir->setCombinedDistCond(Exprs.DistCombinedFields.DistCond);
2024 Dir->setCombinedParForInDistCond(Exprs.DistCombinedFields.ParForInDistCond);
2025 return Dir;
2044 auto *Dir = createDirective<OMPTeamsDistributeParallelForDirective>(
2048 Dir->setIterationVariable(Exprs.IterationVarRef);
2049 Dir->setLastIteration(Exprs.LastIteration);
2050 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
2051 Dir->setPreCond(Exprs.PreCond);
2052 Dir->setCond(Exprs.Cond);
2053 Dir->setInit(Exprs.Init);
2054 Dir->setInc(Exprs.Inc);
2055 Dir->setIsLastIterVariable(Exprs.IL);
2056 Dir->setLowerBoundVariable(Exprs.LB);
2057 Dir->setUpperBoundVariable(Exprs.UB);
2058 Dir->setStrideVariable(Exprs.ST);
2059 Dir->setEnsureUpperBound(Exprs.EUB);
2060 Dir->setNextLowerBound(Exprs.NLB);
2061 Dir->setNextUpperBound(Exprs.NUB);
2062 Dir->setNumIterations(Exprs.NumIterations);
2063 Dir->setPrevLowerBoundVariable(Exprs.PrevLB);
2064 Dir->setPrevUpperBoundVariable(Exprs.PrevUB);
2065 Dir->setDistInc(Exprs.DistInc);
2066 Dir->setPrevEnsureUpperBound(Exprs.PrevEUB);
2067 Dir->setCounters(Exprs.Counters);
2068 Dir->setPrivateCounters(Exprs.PrivateCounters);
2069 Dir->setInits(Exprs.Inits);
2070 Dir->setUpdates(Exprs.Updates);
2071 Dir->setFinals(Exprs.Finals);
2072 Dir->setDependentCounters(Exprs.DependentCounters);
2073 Dir->setDependentInits(Exprs.DependentInits);
2074 Dir->setFinalsConditions(Exprs.FinalsConditions);
2075 Dir->setPreInits(Exprs.PreInits);
2076 Dir->setCombinedLowerBoundVariable(Exprs.DistCombinedFields.LB);
2077 Dir->setCombinedUpperBoundVariable(Exprs.DistCombinedFields.UB);
2078 Dir->setCombinedEnsureUpperBound(Exprs.DistCombinedFields.EUB);
2079 Dir->setCombinedInit(Exprs.DistCombinedFields.Init);
2080 Dir->setCombinedCond(Exprs.DistCombinedFields.Cond);
2081 Dir->setCombinedNextLowerBound(Exprs.DistCombinedFields.NLB);
2082 Dir->setCombinedNextUpperBound(Exprs.DistCombinedFields.NUB);
2083 Dir->setCombinedDistCond(Exprs.DistCombinedFields.DistCond);
2084 Dir->setCombinedParForInDistCond(Exprs.DistCombinedFields.ParForInDistCond);
2085 Dir->setTaskReductionRefExpr(TaskRedRef);
2086 Dir->HasCancel = HasCancel;
2087 return Dir;
2120 auto *Dir = createDirective<OMPTargetTeamsDistributeDirective>(
2124 Dir->setIterationVariable(Exprs.IterationVarRef);
2125 Dir->setLastIteration(Exprs.LastIteration);
2126 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
2127 Dir->setPreCond(Exprs.PreCond);
2128 Dir->setCond(Exprs.Cond);
2129 Dir->setInit(Exprs.Init);
2130 Dir->setInc(Exprs.Inc);
2131 Dir->setIsLastIterVariable(Exprs.IL);
2132 Dir->setLowerBoundVariable(Exprs.LB);
2133 Dir->setUpperBoundVariable(Exprs.UB);
2134 Dir->setStrideVariable(Exprs.ST);
2135 Dir->setEnsureUpperBound(Exprs.EUB);
2136 Dir->setNextLowerBound(Exprs.NLB);
2137 Dir->setNextUpperBound(Exprs.NUB);
2138 Dir->setNumIterations(Exprs.NumIterations);
2139 Dir->setCounters(Exprs.Counters);
2140 Dir->setPrivateCounters(Exprs.PrivateCounters);
2141 Dir->setInits(Exprs.Inits);
2142 Dir->setUpdates(Exprs.Updates);
2143 Dir->setFinals(Exprs.Finals);
2144 Dir->setDependentCounters(Exprs.DependentCounters);
2145 Dir->setDependentInits(Exprs.DependentInits);
2146 Dir->setFinalsConditions(Exprs.FinalsConditions);
2147 Dir->setPreInits(Exprs.PreInits);
2148 return Dir;
2167 auto *Dir = createDirective<OMPTargetTeamsDistributeParallelForDirective>(
2172 Dir->setIterationVariable(Exprs.IterationVarRef);
2173 Dir->setLastIteration(Exprs.LastIteration);
2174 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
2175 Dir->setPreCond(Exprs.PreCond);
2176 Dir->setCond(Exprs.Cond);
2177 Dir->setInit(Exprs.Init);
2178 Dir->setInc(Exprs.Inc);
2179 Dir->setIsLastIterVariable(Exprs.IL);
2180 Dir->setLowerBoundVariable(Exprs.LB);
2181 Dir->setUpperBoundVariable(Exprs.UB);
2182 Dir->setStrideVariable(Exprs.ST);
2183 Dir->setEnsureUpperBound(Exprs.EUB);
2184 Dir->setNextLowerBound(Exprs.NLB);
2185 Dir->setNextUpperBound(Exprs.NUB);
2186 Dir->setNumIterations(Exprs.NumIterations);
2187 Dir->setPrevLowerBoundVariable(Exprs.PrevLB);
2188 Dir->setPrevUpperBoundVariable(Exprs.PrevUB);
2189 Dir->setDistInc(Exprs.DistInc);
2190 Dir->setPrevEnsureUpperBound(Exprs.PrevEUB);
2191 Dir->setCounters(Exprs.Counters);
2192 Dir->setPrivateCounters(Exprs.PrivateCounters);
2193 Dir->setInits(Exprs.Inits);
2194 Dir->setUpdates(Exprs.Updates);
2195 Dir->setFinals(Exprs.Finals);
2196 Dir->setDependentCounters(Exprs.DependentCounters);
2197 Dir->setDependentInits(Exprs.DependentInits);
2198 Dir->setFinalsConditions(Exprs.FinalsConditions);
2199 Dir->setPreInits(Exprs.PreInits);
2200 Dir->setCombinedLowerBoundVariable(Exprs.DistCombinedFields.LB);
2201 Dir->setCombinedUpperBoundVariable(Exprs.DistCombinedFields.UB);
2202 Dir->setCombinedEnsureUpperBound(Exprs.DistCombinedFields.EUB);
2203 Dir->setCombinedInit(Exprs.DistCombinedFields.Init);
2204 Dir->setCombinedCond(Exprs.DistCombinedFields.Cond);
2205 Dir->setCombinedNextLowerBound(Exprs.DistCombinedFields.NLB);
2206 Dir->setCombinedNextUpperBound(Exprs.DistCombinedFields.NUB);
2207 Dir->setCombinedDistCond(Exprs.DistCombinedFields.DistCond);
2208 Dir->setCombinedParForInDistCond(Exprs.DistCombinedFields.ParForInDistCond);
2209 Dir->setTaskReductionRefExpr(TaskRedRef);
2210 Dir->HasCancel = HasCancel;
2211 return Dir;
2231 auto *Dir = createDirective<OMPTargetTeamsDistributeParallelForSimdDirective>(
2236 Dir->setIterationVariable(Exprs.IterationVarRef);
2237 Dir->setLastIteration(Exprs.LastIteration);
2238 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
2239 Dir->setPreCond(Exprs.PreCond);
2240 Dir->setCond(Exprs.Cond);
2241 Dir->setInit(Exprs.Init);
2242 Dir->setInc(Exprs.Inc);
2243 Dir->setIsLastIterVariable(Exprs.IL);
2244 Dir->setLowerBoundVariable(Exprs.LB);
2245 Dir->setUpperBoundVariable(Exprs.UB);
2246 Dir->setStrideVariable(Exprs.ST);
2247 Dir->setEnsureUpperBound(Exprs.EUB);
2248 Dir->setNextLowerBound(Exprs.NLB);
2249 Dir->setNextUpperBound(Exprs.NUB);
2250 Dir->setNumIterations(Exprs.NumIterations);
2251 Dir->setPrevLowerBoundVariable(Exprs.PrevLB);
2252 Dir->setPrevUpperBoundVariable(Exprs.PrevUB);
2253 Dir->setDistInc(Exprs.DistInc);
2254 Dir->setPrevEnsureUpperBound(Exprs.PrevEUB);
2255 Dir->setCounters(Exprs.Counters);
2256 Dir->setPrivateCounters(Exprs.PrivateCounters);
2257 Dir->setInits(Exprs.Inits);
2258 Dir->setUpdates(Exprs.Updates);
2259 Dir->setFinals(Exprs.Finals);
2260 Dir->setDependentCounters(Exprs.DependentCounters);
2261 Dir->setDependentInits(Exprs.DependentInits);
2262 Dir->setFinalsConditions(Exprs.FinalsConditions);
2263 Dir->setPreInits(Exprs.PreInits);
2264 Dir->setCombinedLowerBoundVariable(Exprs.DistCombinedFields.LB);
2265 Dir->setCombinedUpperBoundVariable(Exprs.DistCombinedFields.UB);
2266 Dir->setCombinedEnsureUpperBound(Exprs.DistCombinedFields.EUB);
2267 Dir->setCombinedInit(Exprs.DistCombinedFields.Init);
2268 Dir->setCombinedCond(Exprs.DistCombinedFields.Cond);
2269 Dir->setCombinedNextLowerBound(Exprs.DistCombinedFields.NLB);
2270 Dir->setCombinedNextUpperBound(Exprs.DistCombinedFields.NUB);
2271 Dir->setCombinedDistCond(Exprs.DistCombinedFields.DistCond);
2272 Dir->setCombinedParForInDistCond(Exprs.DistCombinedFields.ParForInDistCond);
2273 return Dir;
2292 auto *Dir = createDirective<OMPTargetTeamsDistributeSimdDirective>(
2296 Dir->setIterationVariable(Exprs.IterationVarRef);
2297 Dir->setLastIteration(Exprs.LastIteration);
2298 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
2299 Dir->setPreCond(Exprs.PreCond);
2300 Dir->setCond(Exprs.Cond);
2301 Dir->setInit(Exprs.Init);
2302 Dir->setInc(Exprs.Inc);
2303 Dir->setIsLastIterVariable(Exprs.IL);
2304 Dir->setLowerBoundVariable(Exprs.LB);
2305 Dir->setUpperBoundVariable(Exprs.UB);
2306 Dir->setStrideVariable(Exprs.ST);
2307 Dir->setEnsureUpperBound(Exprs.EUB);
2308 Dir->setNextLowerBound(Exprs.NLB);
2309 Dir->setNextUpperBound(Exprs.NUB);
2310 Dir->setNumIterations(Exprs.NumIterations);
2311 Dir->setCounters(Exprs.Counters);
2312 Dir->setPrivateCounters(Exprs.PrivateCounters);
2313 Dir->setInits(Exprs.Inits);
2314 Dir->setUpdates(Exprs.Updates);
2315 Dir->setFinals(Exprs.Finals);
2316 Dir->setDependentCounters(Exprs.DependentCounters);
2317 Dir->setDependentInits(Exprs.DependentInits);
2318 Dir->setFinalsConditions(Exprs.FinalsConditions);
2319 Dir->setPreInits(Exprs.PreInits);
2320 return Dir;
2353 auto *Dir = createDirective<OMPDispatchDirective>(
2355 Dir->setTargetCallLoc(TargetCallLoc);
2356 return Dir;
2388 auto *Dir = createDirective<OMPGenericLoopDirective>(
2391 Dir->setIterationVariable(Exprs.IterationVarRef);
2392 Dir->setLastIteration(Exprs.LastIteration);
2393 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
2394 Dir->setPreCond(Exprs.PreCond);
2395 Dir->setCond(Exprs.Cond);
2396 Dir->setInit(Exprs.Init);
2397 Dir->setInc(Exprs.Inc);
2398 Dir->setIsLastIterVariable(Exprs.IL);
2399 Dir->setLowerBoundVariable(Exprs.LB);
2400 Dir->setUpperBoundVariable(Exprs.UB);
2401 Dir->setStrideVariable(Exprs.ST);
2402 Dir->setEnsureUpperBound(Exprs.EUB);
2403 Dir->setNextLowerBound(Exprs.NLB);
2404 Dir->setNextUpperBound(Exprs.NUB);
2405 Dir->setNumIterations(Exprs.NumIterations);
2406 Dir->setCounters(Exprs.Counters);
2407 Dir->setPrivateCounters(Exprs.PrivateCounters);
2408 Dir->setInits(Exprs.Inits);
2409 Dir->setUpdates(Exprs.Updates);
2410 Dir->setFinals(Exprs.Finals);
2411 Dir->setDependentCounters(Exprs.DependentCounters);
2412 Dir->setDependentInits(Exprs.DependentInits);
2413 Dir->setFinalsConditions(Exprs.FinalsConditions);
2414 Dir->setPreInits(Exprs.PreInits);
2415 return Dir;
2430 auto *Dir = createDirective<OMPTeamsGenericLoopDirective>(
2434 Dir->setIterationVariable(Exprs.IterationVarRef);
2435 Dir->setLastIteration(Exprs.LastIteration);
2436 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
2437 Dir->setPreCond(Exprs.PreCond);
2438 Dir->setCond(Exprs.Cond);
2439 Dir->setInit(Exprs.Init);
2440 Dir->setInc(Exprs.Inc);
2441 Dir->setIsLastIterVariable(Exprs.IL);
2442 Dir->setLowerBoundVariable(Exprs.LB);
2443 Dir->setUpperBoundVariable(Exprs.UB);
2444 Dir->setStrideVariable(Exprs.ST);
2445 Dir->setEnsureUpperBound(Exprs.EUB);
2446 Dir->setNextLowerBound(Exprs.NLB);
2447 Dir->setNextUpperBound(Exprs.NUB);
2448 Dir->setNumIterations(Exprs.NumIterations);
2449 Dir->setPrevLowerBoundVariable(Exprs.PrevLB);
2450 Dir->setPrevUpperBoundVariable(Exprs.PrevUB);
2451 Dir->setDistInc(Exprs.DistInc);
2452 Dir->setPrevEnsureUpperBound(Exprs.PrevEUB);
2453 Dir->setCounters(Exprs.Counters);
2454 Dir->setPrivateCounters(Exprs.PrivateCounters);
2455 Dir->setInits(Exprs.Inits);
2456 Dir->setUpdates(Exprs.Updates);
2457 Dir->setFinals(Exprs.Finals);
2458 Dir->setDependentCounters(Exprs.DependentCounters);
2459 Dir->setDependentInits(Exprs.DependentInits);
2460 Dir->setFinalsConditions(Exprs.FinalsConditions);
2461 Dir->setPreInits(Exprs.PreInits);
2462 Dir->setCombinedLowerBoundVariable(Exprs.DistCombinedFields.LB);
2463 Dir->setCombinedUpperBoundVariable(Exprs.DistCombinedFields.UB);
2464 Dir->setCombinedEnsureUpperBound(Exprs.DistCombinedFields.EUB);
2465 Dir->setCombinedInit(Exprs.DistCombinedFields.Init);
2466 Dir->setCombinedCond(Exprs.DistCombinedFields.Cond);
2467 Dir->setCombinedNextLowerBound(Exprs.DistCombinedFields.NLB);
2468 Dir->setCombinedNextUpperBound(Exprs.DistCombinedFields.NUB);
2469 Dir->setCombinedDistCond(Exprs.DistCombinedFields.DistCond);
2470 Dir->setCombinedParForInDistCond(Exprs.DistCombinedFields.ParForInDistCond);
2471 return Dir;
2487 auto *Dir = createDirective<OMPTargetTeamsGenericLoopDirective>(
2491 Dir->setIterationVariable(Exprs.IterationVarRef);
2492 Dir->setLastIteration(Exprs.LastIteration);
2493 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
2494 Dir->setPreCond(Exprs.PreCond);
2495 Dir->setCond(Exprs.Cond);
2496 Dir->setInit(Exprs.Init);
2497 Dir->setInc(Exprs.Inc);
2498 Dir->setIsLastIterVariable(Exprs.IL);
2499 Dir->setLowerBoundVariable(Exprs.LB);
2500 Dir->setUpperBoundVariable(Exprs.UB);
2501 Dir->setStrideVariable(Exprs.ST);
2502 Dir->setEnsureUpperBound(Exprs.EUB);
2503 Dir->setNextLowerBound(Exprs.NLB);
2504 Dir->setNextUpperBound(Exprs.NUB);
2505 Dir->setNumIterations(Exprs.NumIterations);
2506 Dir->setPrevLowerBoundVariable(Exprs.PrevLB);
2507 Dir->setPrevUpperBoundVariable(Exprs.PrevUB);
2508 Dir->setDistInc(Exprs.DistInc);
2509 Dir->setPrevEnsureUpperBound(Exprs.PrevEUB);
2510 Dir->setCounters(Exprs.Counters);
2511 Dir->setPrivateCounters(Exprs.PrivateCounters);
2512 Dir->setInits(Exprs.Inits);
2513 Dir->setUpdates(Exprs.Updates);
2514 Dir->setFinals(Exprs.Finals);
2515 Dir->setDependentCounters(Exprs.DependentCounters);
2516 Dir->setDependentInits(Exprs.DependentInits);
2517 Dir->setFinalsConditions(Exprs.FinalsConditions);
2518 Dir->setPreInits(Exprs.PreInits);
2519 Dir->setCombinedLowerBoundVariable(Exprs.DistCombinedFields.LB);
2520 Dir->setCombinedUpperBoundVariable(Exprs.DistCombinedFields.UB);
2521 Dir->setCombinedEnsureUpperBound(Exprs.DistCombinedFields.EUB);
2522 Dir->setCombinedInit(Exprs.DistCombinedFields.Init);
2523 Dir->setCombinedCond(Exprs.DistCombinedFields.Cond);
2524 Dir->setCombinedNextLowerBound(Exprs.DistCombinedFields.NLB);
2525 Dir->setCombinedNextUpperBound(Exprs.DistCombinedFields.NUB);
2526 Dir->setCombinedDistCond(Exprs.DistCombinedFields.DistCond);
2527 Dir->setCombinedParForInDistCond(Exprs.DistCombinedFields.ParForInDistCond);
2528 Dir->setCanBeParallelFor(CanBeParallelFor);
2529 return Dir;
2546 auto *Dir = createDirective<OMPParallelGenericLoopDirective>(
2550 Dir->setIterationVariable(Exprs.IterationVarRef);
2551 Dir->setLastIteration(Exprs.LastIteration);
2552 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
2553 Dir->setPreCond(Exprs.PreCond);
2554 Dir->setCond(Exprs.Cond);
2555 Dir->setInit(Exprs.Init);
2556 Dir->setInc(Exprs.Inc);
2557 Dir->setIsLastIterVariable(Exprs.IL);
2558 Dir->setLowerBoundVariable(Exprs.LB);
2559 Dir->setUpperBoundVariable(Exprs.UB);
2560 Dir->setStrideVariable(Exprs.ST);
2561 Dir->setEnsureUpperBound(Exprs.EUB);
2562 Dir->setNextLowerBound(Exprs.NLB);
2563 Dir->setNextUpperBound(Exprs.NUB);
2564 Dir->setNumIterations(Exprs.NumIterations);
2565 Dir->setCounters(Exprs.Counters);
2566 Dir->setPrivateCounters(Exprs.PrivateCounters);
2567 Dir->setInits(Exprs.Inits);
2568 Dir->setUpdates(Exprs.Updates);
2569 Dir->setFinals(Exprs.Finals);
2570 Dir->setDependentCounters(Exprs.DependentCounters);
2571 Dir->setDependentInits(Exprs.DependentInits);
2572 Dir->setFinalsConditions(Exprs.FinalsConditions);
2573 Dir->setPreInits(Exprs.PreInits);
2574 return Dir;
2590 auto *Dir = createDirective<OMPTargetParallelGenericLoopDirective>(
2594 Dir->setIterationVariable(Exprs.IterationVarRef);
2595 Dir->setLastIteration(Exprs.LastIteration);
2596 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
2597 Dir->setPreCond(Exprs.PreCond);
2598 Dir->setCond(Exprs.Cond);
2599 Dir->setInit(Exprs.Init);
2600 Dir->setInc(Exprs.Inc);
2601 Dir->setIsLastIterVariable(Exprs.IL);
2602 Dir->setLowerBoundVariable(Exprs.LB);
2603 Dir->setUpperBoundVariable(Exprs.UB);
2604 Dir->setStrideVariable(Exprs.ST);
2605 Dir->setEnsureUpperBound(Exprs.EUB);
2606 Dir->setNextLowerBound(Exprs.NLB);
2607 Dir->setNextUpperBound(Exprs.NUB);
2608 Dir->setNumIterations(Exprs.NumIterations);
2609 Dir->setCounters(Exprs.Counters);
2610 Dir->setPrivateCounters(Exprs.PrivateCounters);
2611 Dir->setInits(Exprs.Inits);
2612 Dir->setUpdates(Exprs.Updates);
2613 Dir->setFinals(Exprs.Finals);
2614 Dir->setDependentCounters(Exprs.DependentCounters);
2615 Dir->setDependentInits(Exprs.DependentInits);
2616 Dir->setFinalsConditions(Exprs.FinalsConditions);
2617 Dir->setPreInits(Exprs.PreInits);
2618 return Dir;