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;
304 auto *Dir = createDirective<OMPSimdDirective>(
307 Dir->setIterationVariable(Exprs.IterationVarRef);
308 Dir->setLastIteration(Exprs.LastIteration);
309 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
310 Dir->setPreCond(Exprs.PreCond);
311 Dir->setCond(Exprs.Cond);
312 Dir->setInit(Exprs.Init);
313 Dir->setInc(Exprs.Inc);
314 Dir->setCounters(Exprs.Counters);
315 Dir->setPrivateCounters(Exprs.PrivateCounters);
316 Dir->setInits(Exprs.Inits);
317 Dir->setUpdates(Exprs.Updates);
318 Dir->setFinals(Exprs.Finals);
319 Dir->setDependentCounters(Exprs.DependentCounters);
320 Dir->setDependentInits(Exprs.DependentInits);
321 Dir->setFinalsConditions(Exprs.FinalsConditions);
322 Dir->setPreInits(Exprs.PreInits);
323 Dir->setMappedDirective(ParamPrevMappedDirective);
324 return Dir;
341 auto *Dir = createDirective<OMPForDirective>(
344 Dir->setIterationVariable(Exprs.IterationVarRef);
345 Dir->setLastIteration(Exprs.LastIteration);
346 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
347 Dir->setPreCond(Exprs.PreCond);
348 Dir->setCond(Exprs.Cond);
349 Dir->setInit(Exprs.Init);
350 Dir->setInc(Exprs.Inc);
351 Dir->setIsLastIterVariable(Exprs.IL);
352 Dir->setLowerBoundVariable(Exprs.LB);
353 Dir->setUpperBoundVariable(Exprs.UB);
354 Dir->setStrideVariable(Exprs.ST);
355 Dir->setEnsureUpperBound(Exprs.EUB);
356 Dir->setNextLowerBound(Exprs.NLB);
357 Dir->setNextUpperBound(Exprs.NUB);
358 Dir->setNumIterations(Exprs.NumIterations);
359 Dir->setCounters(Exprs.Counters);
360 Dir->setPrivateCounters(Exprs.PrivateCounters);
361 Dir->setInits(Exprs.Inits);
362 Dir->setUpdates(Exprs.Updates);
363 Dir->setFinals(Exprs.Finals);
364 Dir->setDependentCounters(Exprs.DependentCounters);
365 Dir->setDependentInits(Exprs.DependentInits);
366 Dir->setFinalsConditions(Exprs.FinalsConditions);
367 Dir->setPreInits(Exprs.PreInits);
368 Dir->setTaskReductionRefExpr(TaskRedRef);
369 Dir->setHasCancel(HasCancel);
370 Dir->setMappedDirective(ParamPrevMappedDirective);
371 return Dir;
414 OMPTileDirective *Dir = createDirective<OMPTileDirective>(
417 Dir->setTransformedStmt(TransformedStmt);
418 Dir->setPreInits(PreInits);
419 return Dir;
437 auto *Dir = createDirective<OMPUnrollDirective>(
439 Dir->setNumGeneratedLoops(NumGeneratedLoops);
440 Dir->setTransformedStmt(TransformedStmt);
441 Dir->setPreInits(PreInits);
442 return Dir;
456 OMPReverseDirective *Dir = createDirective<OMPReverseDirective>(
459 Dir->setTransformedStmt(TransformedStmt);
460 Dir->setPreInits(PreInits);
461 return Dir;
474 OMPInterchangeDirective *Dir = createDirective<OMPInterchangeDirective>(
477 Dir->setTransformedStmt(TransformedStmt);
478 Dir->setPreInits(PreInits);
479 return Dir;
495 auto *Dir = createDirective<OMPForSimdDirective>(
498 Dir->setIterationVariable(Exprs.IterationVarRef);
499 Dir->setLastIteration(Exprs.LastIteration);
500 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
501 Dir->setPreCond(Exprs.PreCond);
502 Dir->setCond(Exprs.Cond);
503 Dir->setInit(Exprs.Init);
504 Dir->setInc(Exprs.Inc);
505 Dir->setIsLastIterVariable(Exprs.IL);
506 Dir->setLowerBoundVariable(Exprs.LB);
507 Dir->setUpperBoundVariable(Exprs.UB);
508 Dir->setStrideVariable(Exprs.ST);
509 Dir->setEnsureUpperBound(Exprs.EUB);
510 Dir->setNextLowerBound(Exprs.NLB);
511 Dir->setNextUpperBound(Exprs.NUB);
512 Dir->setNumIterations(Exprs.NumIterations);
513 Dir->setCounters(Exprs.Counters);
514 Dir->setPrivateCounters(Exprs.PrivateCounters);
515 Dir->setInits(Exprs.Inits);
516 Dir->setUpdates(Exprs.Updates);
517 Dir->setFinals(Exprs.Finals);
518 Dir->setDependentCounters(Exprs.DependentCounters);
519 Dir->setDependentInits(Exprs.DependentInits);
520 Dir->setFinalsConditions(Exprs.FinalsConditions);
521 Dir->setPreInits(Exprs.PreInits);
522 return Dir;
538 auto *Dir = createDirective<OMPSectionsDirective>(C, Clauses, AssociatedStmt,
541 Dir->setTaskReductionRefExpr(TaskRedRef);
542 Dir->setHasCancel(HasCancel);
543 return Dir;
559 auto *Dir =
562 Dir->setHasCancel(HasCancel);
563 return Dir;
641 auto *Dir = createDirective<OMPParallelForDirective>(
645 Dir->setIterationVariable(Exprs.IterationVarRef);
646 Dir->setLastIteration(Exprs.LastIteration);
647 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
648 Dir->setPreCond(Exprs.PreCond);
649 Dir->setCond(Exprs.Cond);
650 Dir->setInit(Exprs.Init);
651 Dir->setInc(Exprs.Inc);
652 Dir->setIsLastIterVariable(Exprs.IL);
653 Dir->setLowerBoundVariable(Exprs.LB);
654 Dir->setUpperBoundVariable(Exprs.UB);
655 Dir->setStrideVariable(Exprs.ST);
656 Dir->setEnsureUpperBound(Exprs.EUB);
657 Dir->setNextLowerBound(Exprs.NLB);
658 Dir->setNextUpperBound(Exprs.NUB);
659 Dir->setNumIterations(Exprs.NumIterations);
660 Dir->setCounters(Exprs.Counters);
661 Dir->setPrivateCounters(Exprs.PrivateCounters);
662 Dir->setInits(Exprs.Inits);
663 Dir->setUpdates(Exprs.Updates);
664 Dir->setFinals(Exprs.Finals);
665 Dir->setDependentCounters(Exprs.DependentCounters);
666 Dir->setDependentInits(Exprs.DependentInits);
667 Dir->setFinalsConditions(Exprs.FinalsConditions);
668 Dir->setPreInits(Exprs.PreInits);
669 Dir->setTaskReductionRefExpr(TaskRedRef);
670 Dir->setHasCancel(HasCancel);
671 return Dir;
686 auto *Dir = createDirective<OMPParallelForSimdDirective>(
690 Dir->setIterationVariable(Exprs.IterationVarRef);
691 Dir->setLastIteration(Exprs.LastIteration);
692 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
693 Dir->setPreCond(Exprs.PreCond);
694 Dir->setCond(Exprs.Cond);
695 Dir->setInit(Exprs.Init);
696 Dir->setInc(Exprs.Inc);
697 Dir->setIsLastIterVariable(Exprs.IL);
698 Dir->setLowerBoundVariable(Exprs.LB);
699 Dir->setUpperBoundVariable(Exprs.UB);
700 Dir->setStrideVariable(Exprs.ST);
701 Dir->setEnsureUpperBound(Exprs.EUB);
702 Dir->setNextLowerBound(Exprs.NLB);
703 Dir->setNextUpperBound(Exprs.NUB);
704 Dir->setNumIterations(Exprs.NumIterations);
705 Dir->setCounters(Exprs.Counters);
706 Dir->setPrivateCounters(Exprs.PrivateCounters);
707 Dir->setInits(Exprs.Inits);
708 Dir->setUpdates(Exprs.Updates);
709 Dir->setFinals(Exprs.Finals);
710 Dir->setDependentCounters(Exprs.DependentCounters);
711 Dir->setDependentInits(Exprs.DependentInits);
712 Dir->setFinalsConditions(Exprs.FinalsConditions);
713 Dir->setPreInits(Exprs.PreInits);
714 return Dir;
729 auto *Dir = createDirective<OMPParallelMasterDirective>(
731 Dir->setTaskReductionRefExpr(TaskRedRef);
732 return Dir;
745 auto *Dir = createDirective<OMPParallelMaskedDirective>(
747 Dir->setTaskReductionRefExpr(TaskRedRef);
748 return Dir;
762 auto *Dir = createDirective<OMPParallelSectionsDirective>(
764 Dir->setTaskReductionRefExpr(TaskRedRef);
765 Dir->setHasCancel(HasCancel);
766 return Dir;
780 auto *Dir = createDirective<OMPTaskDirective>(
782 Dir->setHasCancel(HasCancel);
783 return Dir;
848 auto *Dir = createDirective<OMPTaskgroupDirective>(
850 Dir->setReductionRef(ReductionRef);
851 return Dir;
864 auto *Dir = new (C) OMPCancellationPointDirective(StartLoc, EndLoc);
865 Dir->setCancelRegion(CancelRegion);
866 return Dir;
878 auto *Dir = createDirective<OMPCancelDirective>(
881 Dir->setCancelRegion(CancelRegion);
882 return Dir;
958 auto *Dir = createDirective<OMPAtomicDirective>(
960 Dir->setX(Exprs.X);
961 Dir->setV(Exprs.V);
962 Dir->setR(Exprs.R);
963 Dir->setExpr(Exprs.E);
964 Dir->setUpdateExpr(Exprs.UE);
965 Dir->setD(Exprs.D);
966 Dir->setCond(Exprs.Cond);
967 Dir->Flags.IsXLHSInRHSPart = Exprs.IsXLHSInRHSPart ? 1 : 0;
968 Dir->Flags.IsPostfixUpdate = Exprs.IsPostfixUpdate ? 1 : 0;
969 Dir->Flags.IsFailOnly = Exprs.IsFailOnly ? 1 : 0;
970 return Dir;
1000 auto *Dir = createDirective<OMPTargetParallelDirective>(
1002 Dir->setTaskReductionRefExpr(TaskRedRef);
1003 Dir->setHasCancel(HasCancel);
1004 return Dir;
1018 auto *Dir = createDirective<OMPTargetParallelForDirective>(
1022 Dir->setIterationVariable(Exprs.IterationVarRef);
1023 Dir->setLastIteration(Exprs.LastIteration);
1024 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
1025 Dir->setPreCond(Exprs.PreCond);
1026 Dir->setCond(Exprs.Cond);
1027 Dir->setInit(Exprs.Init);
1028 Dir->setInc(Exprs.Inc);
1029 Dir->setIsLastIterVariable(Exprs.IL);
1030 Dir->setLowerBoundVariable(Exprs.LB);
1031 Dir->setUpperBoundVariable(Exprs.UB);
1032 Dir->setStrideVariable(Exprs.ST);
1033 Dir->setEnsureUpperBound(Exprs.EUB);
1034 Dir->setNextLowerBound(Exprs.NLB);
1035 Dir->setNextUpperBound(Exprs.NUB);
1036 Dir->setNumIterations(Exprs.NumIterations);
1037 Dir->setCounters(Exprs.Counters);
1038 Dir->setPrivateCounters(Exprs.PrivateCounters);
1039 Dir->setInits(Exprs.Inits);
1040 Dir->setUpdates(Exprs.Updates);
1041 Dir->setFinals(Exprs.Finals);
1042 Dir->setDependentCounters(Exprs.DependentCounters);
1043 Dir->setDependentInits(Exprs.DependentInits);
1044 Dir->setFinalsConditions(Exprs.FinalsConditions);
1045 Dir->setPreInits(Exprs.PreInits);
1046 Dir->setTaskReductionRefExpr(TaskRedRef);
1047 Dir->setHasCancel(HasCancel);
1048 return Dir;
1123 auto *Dir = createDirective<OMPTaskLoopDirective>(
1126 Dir->setIterationVariable(Exprs.IterationVarRef);
1127 Dir->setLastIteration(Exprs.LastIteration);
1128 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
1129 Dir->setPreCond(Exprs.PreCond);
1130 Dir->setCond(Exprs.Cond);
1131 Dir->setInit(Exprs.Init);
1132 Dir->setInc(Exprs.Inc);
1133 Dir->setIsLastIterVariable(Exprs.IL);
1134 Dir->setLowerBoundVariable(Exprs.LB);
1135 Dir->setUpperBoundVariable(Exprs.UB);
1136 Dir->setStrideVariable(Exprs.ST);
1137 Dir->setEnsureUpperBound(Exprs.EUB);
1138 Dir->setNextLowerBound(Exprs.NLB);
1139 Dir->setNextUpperBound(Exprs.NUB);
1140 Dir->setNumIterations(Exprs.NumIterations);
1141 Dir->setCounters(Exprs.Counters);
1142 Dir->setPrivateCounters(Exprs.PrivateCounters);
1143 Dir->setInits(Exprs.Inits);
1144 Dir->setUpdates(Exprs.Updates);
1145 Dir->setFinals(Exprs.Finals);
1146 Dir->setDependentCounters(Exprs.DependentCounters);
1147 Dir->setDependentInits(Exprs.DependentInits);
1148 Dir->setFinalsConditions(Exprs.FinalsConditions);
1149 Dir->setPreInits(Exprs.PreInits);
1150 Dir->setHasCancel(HasCancel);
1151 return Dir;
1167 auto *Dir = createDirective<OMPTaskLoopSimdDirective>(
1171 Dir->setIterationVariable(Exprs.IterationVarRef);
1172 Dir->setLastIteration(Exprs.LastIteration);
1173 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
1174 Dir->setPreCond(Exprs.PreCond);
1175 Dir->setCond(Exprs.Cond);
1176 Dir->setInit(Exprs.Init);
1177 Dir->setInc(Exprs.Inc);
1178 Dir->setIsLastIterVariable(Exprs.IL);
1179 Dir->setLowerBoundVariable(Exprs.LB);
1180 Dir->setUpperBoundVariable(Exprs.UB);
1181 Dir->setStrideVariable(Exprs.ST);
1182 Dir->setEnsureUpperBound(Exprs.EUB);
1183 Dir->setNextLowerBound(Exprs.NLB);
1184 Dir->setNextUpperBound(Exprs.NUB);
1185 Dir->setNumIterations(Exprs.NumIterations);
1186 Dir->setCounters(Exprs.Counters);
1187 Dir->setPrivateCounters(Exprs.PrivateCounters);
1188 Dir->setInits(Exprs.Inits);
1189 Dir->setUpdates(Exprs.Updates);
1190 Dir->setFinals(Exprs.Finals);
1191 Dir->setDependentCounters(Exprs.DependentCounters);
1192 Dir->setDependentInits(Exprs.DependentInits);
1193 Dir->setFinalsConditions(Exprs.FinalsConditions);
1194 Dir->setPreInits(Exprs.PreInits);
1195 return Dir;
1210 auto *Dir = createDirective<OMPMasterTaskLoopDirective>(
1214 Dir->setIterationVariable(Exprs.IterationVarRef);
1215 Dir->setLastIteration(Exprs.LastIteration);
1216 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
1217 Dir->setPreCond(Exprs.PreCond);
1218 Dir->setCond(Exprs.Cond);
1219 Dir->setInit(Exprs.Init);
1220 Dir->setInc(Exprs.Inc);
1221 Dir->setIsLastIterVariable(Exprs.IL);
1222 Dir->setLowerBoundVariable(Exprs.LB);
1223 Dir->setUpperBoundVariable(Exprs.UB);
1224 Dir->setStrideVariable(Exprs.ST);
1225 Dir->setEnsureUpperBound(Exprs.EUB);
1226 Dir->setNextLowerBound(Exprs.NLB);
1227 Dir->setNextUpperBound(Exprs.NUB);
1228 Dir->setNumIterations(Exprs.NumIterations);
1229 Dir->setCounters(Exprs.Counters);
1230 Dir->setPrivateCounters(Exprs.PrivateCounters);
1231 Dir->setInits(Exprs.Inits);
1232 Dir->setUpdates(Exprs.Updates);
1233 Dir->setFinals(Exprs.Finals);
1234 Dir->setDependentCounters(Exprs.DependentCounters);
1235 Dir->setDependentInits(Exprs.DependentInits);
1236 Dir->setFinalsConditions(Exprs.FinalsConditions);
1237 Dir->setPreInits(Exprs.PreInits);
1238 Dir->setHasCancel(HasCancel);
1239 return Dir;
1255 auto *Dir = createDirective<OMPMaskedTaskLoopDirective>(
1259 Dir->setIterationVariable(Exprs.IterationVarRef);
1260 Dir->setLastIteration(Exprs.LastIteration);
1261 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
1262 Dir->setPreCond(Exprs.PreCond);
1263 Dir->setCond(Exprs.Cond);
1264 Dir->setInit(Exprs.Init);
1265 Dir->setInc(Exprs.Inc);
1266 Dir->setIsLastIterVariable(Exprs.IL);
1267 Dir->setLowerBoundVariable(Exprs.LB);
1268 Dir->setUpperBoundVariable(Exprs.UB);
1269 Dir->setStrideVariable(Exprs.ST);
1270 Dir->setEnsureUpperBound(Exprs.EUB);
1271 Dir->setNextLowerBound(Exprs.NLB);
1272 Dir->setNextUpperBound(Exprs.NUB);
1273 Dir->setNumIterations(Exprs.NumIterations);
1274 Dir->setCounters(Exprs.Counters);
1275 Dir->setPrivateCounters(Exprs.PrivateCounters);
1276 Dir->setInits(Exprs.Inits);
1277 Dir->setUpdates(Exprs.Updates);
1278 Dir->setFinals(Exprs.Finals);
1279 Dir->setDependentCounters(Exprs.DependentCounters);
1280 Dir->setDependentInits(Exprs.DependentInits);
1281 Dir->setFinalsConditions(Exprs.FinalsConditions);
1282 Dir->setPreInits(Exprs.PreInits);
1283 Dir->setHasCancel(HasCancel);
1284 return Dir;
1300 auto *Dir = createDirective<OMPMasterTaskLoopSimdDirective>(
1304 Dir->setIterationVariable(Exprs.IterationVarRef);
1305 Dir->setLastIteration(Exprs.LastIteration);
1306 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
1307 Dir->setPreCond(Exprs.PreCond);
1308 Dir->setCond(Exprs.Cond);
1309 Dir->setInit(Exprs.Init);
1310 Dir->setInc(Exprs.Inc);
1311 Dir->setIsLastIterVariable(Exprs.IL);
1312 Dir->setLowerBoundVariable(Exprs.LB);
1313 Dir->setUpperBoundVariable(Exprs.UB);
1314 Dir->setStrideVariable(Exprs.ST);
1315 Dir->setEnsureUpperBound(Exprs.EUB);
1316 Dir->setNextLowerBound(Exprs.NLB);
1317 Dir->setNextUpperBound(Exprs.NUB);
1318 Dir->setNumIterations(Exprs.NumIterations);
1319 Dir->setCounters(Exprs.Counters);
1320 Dir->setPrivateCounters(Exprs.PrivateCounters);
1321 Dir->setInits(Exprs.Inits);
1322 Dir->setUpdates(Exprs.Updates);
1323 Dir->setFinals(Exprs.Finals);
1324 Dir->setDependentCounters(Exprs.DependentCounters);
1325 Dir->setDependentInits(Exprs.DependentInits);
1326 Dir->setFinalsConditions(Exprs.FinalsConditions);
1327 Dir->setPreInits(Exprs.PreInits);
1328 return Dir;
1344 auto *Dir = createDirective<OMPMaskedTaskLoopSimdDirective>(
1348 Dir->setIterationVariable(Exprs.IterationVarRef);
1349 Dir->setLastIteration(Exprs.LastIteration);
1350 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
1351 Dir->setPreCond(Exprs.PreCond);
1352 Dir->setCond(Exprs.Cond);
1353 Dir->setInit(Exprs.Init);
1354 Dir->setInc(Exprs.Inc);
1355 Dir->setIsLastIterVariable(Exprs.IL);
1356 Dir->setLowerBoundVariable(Exprs.LB);
1357 Dir->setUpperBoundVariable(Exprs.UB);
1358 Dir->setStrideVariable(Exprs.ST);
1359 Dir->setEnsureUpperBound(Exprs.EUB);
1360 Dir->setNextLowerBound(Exprs.NLB);
1361 Dir->setNextUpperBound(Exprs.NUB);
1362 Dir->setNumIterations(Exprs.NumIterations);
1363 Dir->setCounters(Exprs.Counters);
1364 Dir->setPrivateCounters(Exprs.PrivateCounters);
1365 Dir->setInits(Exprs.Inits);
1366 Dir->setUpdates(Exprs.Updates);
1367 Dir->setFinals(Exprs.Finals);
1368 Dir->setDependentCounters(Exprs.DependentCounters);
1369 Dir->setDependentInits(Exprs.DependentInits);
1370 Dir->setFinalsConditions(Exprs.FinalsConditions);
1371 Dir->setPreInits(Exprs.PreInits);
1372 return Dir;
1388 auto *Dir = createDirective<OMPParallelMasterTaskLoopDirective>(
1392 Dir->setIterationVariable(Exprs.IterationVarRef);
1393 Dir->setLastIteration(Exprs.LastIteration);
1394 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
1395 Dir->setPreCond(Exprs.PreCond);
1396 Dir->setCond(Exprs.Cond);
1397 Dir->setInit(Exprs.Init);
1398 Dir->setInc(Exprs.Inc);
1399 Dir->setIsLastIterVariable(Exprs.IL);
1400 Dir->setLowerBoundVariable(Exprs.LB);
1401 Dir->setUpperBoundVariable(Exprs.UB);
1402 Dir->setStrideVariable(Exprs.ST);
1403 Dir->setEnsureUpperBound(Exprs.EUB);
1404 Dir->setNextLowerBound(Exprs.NLB);
1405 Dir->setNextUpperBound(Exprs.NUB);
1406 Dir->setNumIterations(Exprs.NumIterations);
1407 Dir->setCounters(Exprs.Counters);
1408 Dir->setPrivateCounters(Exprs.PrivateCounters);
1409 Dir->setInits(Exprs.Inits);
1410 Dir->setUpdates(Exprs.Updates);
1411 Dir->setFinals(Exprs.Finals);
1412 Dir->setDependentCounters(Exprs.DependentCounters);
1413 Dir->setDependentInits(Exprs.DependentInits);
1414 Dir->setFinalsConditions(Exprs.FinalsConditions);
1415 Dir->setPreInits(Exprs.PreInits);
1416 Dir->setHasCancel(HasCancel);
1417 return Dir;
1435 auto *Dir = createDirective<OMPParallelMaskedTaskLoopDirective>(
1439 Dir->setIterationVariable(Exprs.IterationVarRef);
1440 Dir->setLastIteration(Exprs.LastIteration);
1441 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
1442 Dir->setPreCond(Exprs.PreCond);
1443 Dir->setCond(Exprs.Cond);
1444 Dir->setInit(Exprs.Init);
1445 Dir->setInc(Exprs.Inc);
1446 Dir->setIsLastIterVariable(Exprs.IL);
1447 Dir->setLowerBoundVariable(Exprs.LB);
1448 Dir->setUpperBoundVariable(Exprs.UB);
1449 Dir->setStrideVariable(Exprs.ST);
1450 Dir->setEnsureUpperBound(Exprs.EUB);
1451 Dir->setNextLowerBound(Exprs.NLB);
1452 Dir->setNextUpperBound(Exprs.NUB);
1453 Dir->setNumIterations(Exprs.NumIterations);
1454 Dir->setCounters(Exprs.Counters);
1455 Dir->setPrivateCounters(Exprs.PrivateCounters);
1456 Dir->setInits(Exprs.Inits);
1457 Dir->setUpdates(Exprs.Updates);
1458 Dir->setFinals(Exprs.Finals);
1459 Dir->setDependentCounters(Exprs.DependentCounters);
1460 Dir->setDependentInits(Exprs.DependentInits);
1461 Dir->setFinalsConditions(Exprs.FinalsConditions);
1462 Dir->setPreInits(Exprs.PreInits);
1463 Dir->setHasCancel(HasCancel);
1464 return Dir;
1483 auto *Dir = createDirective<OMPParallelMasterTaskLoopSimdDirective>(
1487 Dir->setIterationVariable(Exprs.IterationVarRef);
1488 Dir->setLastIteration(Exprs.LastIteration);
1489 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
1490 Dir->setPreCond(Exprs.PreCond);
1491 Dir->setCond(Exprs.Cond);
1492 Dir->setInit(Exprs.Init);
1493 Dir->setInc(Exprs.Inc);
1494 Dir->setIsLastIterVariable(Exprs.IL);
1495 Dir->setLowerBoundVariable(Exprs.LB);
1496 Dir->setUpperBoundVariable(Exprs.UB);
1497 Dir->setStrideVariable(Exprs.ST);
1498 Dir->setEnsureUpperBound(Exprs.EUB);
1499 Dir->setNextLowerBound(Exprs.NLB);
1500 Dir->setNextUpperBound(Exprs.NUB);
1501 Dir->setNumIterations(Exprs.NumIterations);
1502 Dir->setCounters(Exprs.Counters);
1503 Dir->setPrivateCounters(Exprs.PrivateCounters);
1504 Dir->setInits(Exprs.Inits);
1505 Dir->setUpdates(Exprs.Updates);
1506 Dir->setFinals(Exprs.Finals);
1507 Dir->setDependentCounters(Exprs.DependentCounters);
1508 Dir->setDependentInits(Exprs.DependentInits);
1509 Dir->setFinalsConditions(Exprs.FinalsConditions);
1510 Dir->setPreInits(Exprs.PreInits);
1511 return Dir;
1530 auto *Dir = createDirective<OMPParallelMaskedTaskLoopSimdDirective>(
1534 Dir->setIterationVariable(Exprs.IterationVarRef);
1535 Dir->setLastIteration(Exprs.LastIteration);
1536 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
1537 Dir->setPreCond(Exprs.PreCond);
1538 Dir->setCond(Exprs.Cond);
1539 Dir->setInit(Exprs.Init);
1540 Dir->setInc(Exprs.Inc);
1541 Dir->setIsLastIterVariable(Exprs.IL);
1542 Dir->setLowerBoundVariable(Exprs.LB);
1543 Dir->setUpperBoundVariable(Exprs.UB);
1544 Dir->setStrideVariable(Exprs.ST);
1545 Dir->setEnsureUpperBound(Exprs.EUB);
1546 Dir->setNextLowerBound(Exprs.NLB);
1547 Dir->setNextUpperBound(Exprs.NUB);
1548 Dir->setNumIterations(Exprs.NumIterations);
1549 Dir->setCounters(Exprs.Counters);
1550 Dir->setPrivateCounters(Exprs.PrivateCounters);
1551 Dir->setInits(Exprs.Inits);
1552 Dir->setUpdates(Exprs.Updates);
1553 Dir->setFinals(Exprs.Finals);
1554 Dir->setDependentCounters(Exprs.DependentCounters);
1555 Dir->setDependentInits(Exprs.DependentInits);
1556 Dir->setFinalsConditions(Exprs.FinalsConditions);
1557 Dir->setPreInits(Exprs.PreInits);
1558 return Dir;
1576 auto *Dir = createDirective<OMPDistributeDirective>(
1580 Dir->setIterationVariable(Exprs.IterationVarRef);
1581 Dir->setLastIteration(Exprs.LastIteration);
1582 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
1583 Dir->setPreCond(Exprs.PreCond);
1584 Dir->setCond(Exprs.Cond);
1585 Dir->setInit(Exprs.Init);
1586 Dir->setInc(Exprs.Inc);
1587 Dir->setIsLastIterVariable(Exprs.IL);
1588 Dir->setLowerBoundVariable(Exprs.LB);
1589 Dir->setUpperBoundVariable(Exprs.UB);
1590 Dir->setStrideVariable(Exprs.ST);
1591 Dir->setEnsureUpperBound(Exprs.EUB);
1592 Dir->setNextLowerBound(Exprs.NLB);
1593 Dir->setNextUpperBound(Exprs.NUB);
1594 Dir->setNumIterations(Exprs.NumIterations);
1595 Dir->setCounters(Exprs.Counters);
1596 Dir->setPrivateCounters(Exprs.PrivateCounters);
1597 Dir->setInits(Exprs.Inits);
1598 Dir->setUpdates(Exprs.Updates);
1599 Dir->setFinals(Exprs.Finals);
1600 Dir->setDependentCounters(Exprs.DependentCounters);
1601 Dir->setDependentInits(Exprs.DependentInits);
1602 Dir->setFinalsConditions(Exprs.FinalsConditions);
1603 Dir->setPreInits(Exprs.PreInits);
1604 Dir->setMappedDirective(ParamPrevMappedDirective);
1605 return Dir;
1635 auto *Dir = createDirective<OMPDistributeParallelForDirective>(
1639 Dir->setIterationVariable(Exprs.IterationVarRef);
1640 Dir->setLastIteration(Exprs.LastIteration);
1641 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
1642 Dir->setPreCond(Exprs.PreCond);
1643 Dir->setCond(Exprs.Cond);
1644 Dir->setInit(Exprs.Init);
1645 Dir->setInc(Exprs.Inc);
1646 Dir->setIsLastIterVariable(Exprs.IL);
1647 Dir->setLowerBoundVariable(Exprs.LB);
1648 Dir->setUpperBoundVariable(Exprs.UB);
1649 Dir->setStrideVariable(Exprs.ST);
1650 Dir->setEnsureUpperBound(Exprs.EUB);
1651 Dir->setNextLowerBound(Exprs.NLB);
1652 Dir->setNextUpperBound(Exprs.NUB);
1653 Dir->setNumIterations(Exprs.NumIterations);
1654 Dir->setPrevLowerBoundVariable(Exprs.PrevLB);
1655 Dir->setPrevUpperBoundVariable(Exprs.PrevUB);
1656 Dir->setDistInc(Exprs.DistInc);
1657 Dir->setPrevEnsureUpperBound(Exprs.PrevEUB);
1658 Dir->setCounters(Exprs.Counters);
1659 Dir->setPrivateCounters(Exprs.PrivateCounters);
1660 Dir->setInits(Exprs.Inits);
1661 Dir->setUpdates(Exprs.Updates);
1662 Dir->setFinals(Exprs.Finals);
1663 Dir->setDependentCounters(Exprs.DependentCounters);
1664 Dir->setDependentInits(Exprs.DependentInits);
1665 Dir->setFinalsConditions(Exprs.FinalsConditions);
1666 Dir->setPreInits(Exprs.PreInits);
1667 Dir->setCombinedLowerBoundVariable(Exprs.DistCombinedFields.LB);
1668 Dir->setCombinedUpperBoundVariable(Exprs.DistCombinedFields.UB);
1669 Dir->setCombinedEnsureUpperBound(Exprs.DistCombinedFields.EUB);
1670 Dir->setCombinedInit(Exprs.DistCombinedFields.Init);
1671 Dir->setCombinedCond(Exprs.DistCombinedFields.Cond);
1672 Dir->setCombinedNextLowerBound(Exprs.DistCombinedFields.NLB);
1673 Dir->setCombinedNextUpperBound(Exprs.DistCombinedFields.NUB);
1674 Dir->setCombinedDistCond(Exprs.DistCombinedFields.DistCond);
1675 Dir->setCombinedParForInDistCond(Exprs.DistCombinedFields.ParForInDistCond);
1676 Dir->setTaskReductionRefExpr(TaskRedRef);
1677 Dir->HasCancel = HasCancel;
1678 return Dir;
1697 auto *Dir = createDirective<OMPDistributeParallelForSimdDirective>(
1701 Dir->setIterationVariable(Exprs.IterationVarRef);
1702 Dir->setLastIteration(Exprs.LastIteration);
1703 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
1704 Dir->setPreCond(Exprs.PreCond);
1705 Dir->setCond(Exprs.Cond);
1706 Dir->setInit(Exprs.Init);
1707 Dir->setInc(Exprs.Inc);
1708 Dir->setIsLastIterVariable(Exprs.IL);
1709 Dir->setLowerBoundVariable(Exprs.LB);
1710 Dir->setUpperBoundVariable(Exprs.UB);
1711 Dir->setStrideVariable(Exprs.ST);
1712 Dir->setEnsureUpperBound(Exprs.EUB);
1713 Dir->setNextLowerBound(Exprs.NLB);
1714 Dir->setNextUpperBound(Exprs.NUB);
1715 Dir->setNumIterations(Exprs.NumIterations);
1716 Dir->setPrevLowerBoundVariable(Exprs.PrevLB);
1717 Dir->setPrevUpperBoundVariable(Exprs.PrevUB);
1718 Dir->setDistInc(Exprs.DistInc);
1719 Dir->setPrevEnsureUpperBound(Exprs.PrevEUB);
1720 Dir->setCounters(Exprs.Counters);
1721 Dir->setPrivateCounters(Exprs.PrivateCounters);
1722 Dir->setInits(Exprs.Inits);
1723 Dir->setUpdates(Exprs.Updates);
1724 Dir->setFinals(Exprs.Finals);
1725 Dir->setDependentCounters(Exprs.DependentCounters);
1726 Dir->setDependentInits(Exprs.DependentInits);
1727 Dir->setFinalsConditions(Exprs.FinalsConditions);
1728 Dir->setPreInits(Exprs.PreInits);
1729 Dir->setCombinedLowerBoundVariable(Exprs.DistCombinedFields.LB);
1730 Dir->setCombinedUpperBoundVariable(Exprs.DistCombinedFields.UB);
1731 Dir->setCombinedEnsureUpperBound(Exprs.DistCombinedFields.EUB);
1732 Dir->setCombinedInit(Exprs.DistCombinedFields.Init);
1733 Dir->setCombinedCond(Exprs.DistCombinedFields.Cond);
1734 Dir->setCombinedNextLowerBound(Exprs.DistCombinedFields.NLB);
1735 Dir->setCombinedNextUpperBound(Exprs.DistCombinedFields.NUB);
1736 Dir->setCombinedDistCond(Exprs.DistCombinedFields.DistCond);
1737 Dir->setCombinedParForInDistCond(Exprs.DistCombinedFields.ParForInDistCond);
1738 return Dir;
1756 auto *Dir = createDirective<OMPDistributeSimdDirective>(
1760 Dir->setIterationVariable(Exprs.IterationVarRef);
1761 Dir->setLastIteration(Exprs.LastIteration);
1762 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
1763 Dir->setPreCond(Exprs.PreCond);
1764 Dir->setCond(Exprs.Cond);
1765 Dir->setInit(Exprs.Init);
1766 Dir->setInc(Exprs.Inc);
1767 Dir->setIsLastIterVariable(Exprs.IL);
1768 Dir->setLowerBoundVariable(Exprs.LB);
1769 Dir->setUpperBoundVariable(Exprs.UB);
1770 Dir->setStrideVariable(Exprs.ST);
1771 Dir->setEnsureUpperBound(Exprs.EUB);
1772 Dir->setNextLowerBound(Exprs.NLB);
1773 Dir->setNextUpperBound(Exprs.NUB);
1774 Dir->setNumIterations(Exprs.NumIterations);
1775 Dir->setCounters(Exprs.Counters);
1776 Dir->setPrivateCounters(Exprs.PrivateCounters);
1777 Dir->setInits(Exprs.Inits);
1778 Dir->setUpdates(Exprs.Updates);
1779 Dir->setFinals(Exprs.Finals);
1780 Dir->setDependentCounters(Exprs.DependentCounters);
1781 Dir->setDependentInits(Exprs.DependentInits);
1782 Dir->setFinalsConditions(Exprs.FinalsConditions);
1783 Dir->setPreInits(Exprs.PreInits);
1784 return Dir;
1800 auto *Dir = createDirective<OMPTargetParallelForSimdDirective>(
1804 Dir->setIterationVariable(Exprs.IterationVarRef);
1805 Dir->setLastIteration(Exprs.LastIteration);
1806 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
1807 Dir->setPreCond(Exprs.PreCond);
1808 Dir->setCond(Exprs.Cond);
1809 Dir->setInit(Exprs.Init);
1810 Dir->setInc(Exprs.Inc);
1811 Dir->setIsLastIterVariable(Exprs.IL);
1812 Dir->setLowerBoundVariable(Exprs.LB);
1813 Dir->setUpperBoundVariable(Exprs.UB);
1814 Dir->setStrideVariable(Exprs.ST);
1815 Dir->setEnsureUpperBound(Exprs.EUB);
1816 Dir->setNextLowerBound(Exprs.NLB);
1817 Dir->setNextUpperBound(Exprs.NUB);
1818 Dir->setNumIterations(Exprs.NumIterations);
1819 Dir->setCounters(Exprs.Counters);
1820 Dir->setPrivateCounters(Exprs.PrivateCounters);
1821 Dir->setInits(Exprs.Inits);
1822 Dir->setUpdates(Exprs.Updates);
1823 Dir->setFinals(Exprs.Finals);
1824 Dir->setDependentCounters(Exprs.DependentCounters);
1825 Dir->setDependentInits(Exprs.DependentInits);
1826 Dir->setFinalsConditions(Exprs.FinalsConditions);
1827 Dir->setPreInits(Exprs.PreInits);
1828 return Dir;
1847 auto *Dir = createDirective<OMPTargetSimdDirective>(
1851 Dir->setIterationVariable(Exprs.IterationVarRef);
1852 Dir->setLastIteration(Exprs.LastIteration);
1853 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
1854 Dir->setPreCond(Exprs.PreCond);
1855 Dir->setCond(Exprs.Cond);
1856 Dir->setInit(Exprs.Init);
1857 Dir->setInc(Exprs.Inc);
1858 Dir->setCounters(Exprs.Counters);
1859 Dir->setPrivateCounters(Exprs.PrivateCounters);
1860 Dir->setInits(Exprs.Inits);
1861 Dir->setUpdates(Exprs.Updates);
1862 Dir->setFinals(Exprs.Finals);
1863 Dir->setDependentCounters(Exprs.DependentCounters);
1864 Dir->setDependentInits(Exprs.DependentInits);
1865 Dir->setFinalsConditions(Exprs.FinalsConditions);
1866 Dir->setPreInits(Exprs.PreInits);
1867 return Dir;
1882 auto *Dir = createDirective<OMPTeamsDistributeDirective>(
1886 Dir->setIterationVariable(Exprs.IterationVarRef);
1887 Dir->setLastIteration(Exprs.LastIteration);
1888 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
1889 Dir->setPreCond(Exprs.PreCond);
1890 Dir->setCond(Exprs.Cond);
1891 Dir->setInit(Exprs.Init);
1892 Dir->setInc(Exprs.Inc);
1893 Dir->setIsLastIterVariable(Exprs.IL);
1894 Dir->setLowerBoundVariable(Exprs.LB);
1895 Dir->setUpperBoundVariable(Exprs.UB);
1896 Dir->setStrideVariable(Exprs.ST);
1897 Dir->setEnsureUpperBound(Exprs.EUB);
1898 Dir->setNextLowerBound(Exprs.NLB);
1899 Dir->setNextUpperBound(Exprs.NUB);
1900 Dir->setNumIterations(Exprs.NumIterations);
1901 Dir->setCounters(Exprs.Counters);
1902 Dir->setPrivateCounters(Exprs.PrivateCounters);
1903 Dir->setInits(Exprs.Inits);
1904 Dir->setUpdates(Exprs.Updates);
1905 Dir->setFinals(Exprs.Finals);
1906 Dir->setDependentCounters(Exprs.DependentCounters);
1907 Dir->setDependentInits(Exprs.DependentInits);
1908 Dir->setFinalsConditions(Exprs.FinalsConditions);
1909 Dir->setPreInits(Exprs.PreInits);
1910 return Dir;
1926 auto *Dir = createDirective<OMPTeamsDistributeSimdDirective>(
1930 Dir->setIterationVariable(Exprs.IterationVarRef);
1931 Dir->setLastIteration(Exprs.LastIteration);
1932 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
1933 Dir->setPreCond(Exprs.PreCond);
1934 Dir->setCond(Exprs.Cond);
1935 Dir->setInit(Exprs.Init);
1936 Dir->setInc(Exprs.Inc);
1937 Dir->setIsLastIterVariable(Exprs.IL);
1938 Dir->setLowerBoundVariable(Exprs.LB);
1939 Dir->setUpperBoundVariable(Exprs.UB);
1940 Dir->setStrideVariable(Exprs.ST);
1941 Dir->setEnsureUpperBound(Exprs.EUB);
1942 Dir->setNextLowerBound(Exprs.NLB);
1943 Dir->setNextUpperBound(Exprs.NUB);
1944 Dir->setNumIterations(Exprs.NumIterations);
1945 Dir->setCounters(Exprs.Counters);
1946 Dir->setPrivateCounters(Exprs.PrivateCounters);
1947 Dir->setInits(Exprs.Inits);
1948 Dir->setUpdates(Exprs.Updates);
1949 Dir->setFinals(Exprs.Finals);
1950 Dir->setDependentCounters(Exprs.DependentCounters);
1951 Dir->setDependentInits(Exprs.DependentInits);
1952 Dir->setFinalsConditions(Exprs.FinalsConditions);
1953 Dir->setPreInits(Exprs.PreInits);
1954 return Dir;
1970 auto *Dir = createDirective<OMPTeamsDistributeParallelForSimdDirective>(
1974 Dir->setIterationVariable(Exprs.IterationVarRef);
1975 Dir->setLastIteration(Exprs.LastIteration);
1976 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
1977 Dir->setPreCond(Exprs.PreCond);
1978 Dir->setCond(Exprs.Cond);
1979 Dir->setInit(Exprs.Init);
1980 Dir->setInc(Exprs.Inc);
1981 Dir->setIsLastIterVariable(Exprs.IL);
1982 Dir->setLowerBoundVariable(Exprs.LB);
1983 Dir->setUpperBoundVariable(Exprs.UB);
1984 Dir->setStrideVariable(Exprs.ST);
1985 Dir->setEnsureUpperBound(Exprs.EUB);
1986 Dir->setNextLowerBound(Exprs.NLB);
1987 Dir->setNextUpperBound(Exprs.NUB);
1988 Dir->setNumIterations(Exprs.NumIterations);
1989 Dir->setPrevLowerBoundVariable(Exprs.PrevLB);
1990 Dir->setPrevUpperBoundVariable(Exprs.PrevUB);
1991 Dir->setDistInc(Exprs.DistInc);
1992 Dir->setPrevEnsureUpperBound(Exprs.PrevEUB);
1993 Dir->setCounters(Exprs.Counters);
1994 Dir->setPrivateCounters(Exprs.PrivateCounters);
1995 Dir->setInits(Exprs.Inits);
1996 Dir->setUpdates(Exprs.Updates);
1997 Dir->setFinals(Exprs.Finals);
1998 Dir->setDependentCounters(Exprs.DependentCounters);
1999 Dir->setDependentInits(Exprs.DependentInits);
2000 Dir->setFinalsConditions(Exprs.FinalsConditions);
2001 Dir->setPreInits(Exprs.PreInits);
2002 Dir->setCombinedLowerBoundVariable(Exprs.DistCombinedFields.LB);
2003 Dir->setCombinedUpperBoundVariable(Exprs.DistCombinedFields.UB);
2004 Dir->setCombinedEnsureUpperBound(Exprs.DistCombinedFields.EUB);
2005 Dir->setCombinedInit(Exprs.DistCombinedFields.Init);
2006 Dir->setCombinedCond(Exprs.DistCombinedFields.Cond);
2007 Dir->setCombinedNextLowerBound(Exprs.DistCombinedFields.NLB);
2008 Dir->setCombinedNextUpperBound(Exprs.DistCombinedFields.NUB);
2009 Dir->setCombinedDistCond(Exprs.DistCombinedFields.DistCond);
2010 Dir->setCombinedParForInDistCond(Exprs.DistCombinedFields.ParForInDistCond);
2011 return Dir;
2030 auto *Dir = createDirective<OMPTeamsDistributeParallelForDirective>(
2034 Dir->setIterationVariable(Exprs.IterationVarRef);
2035 Dir->setLastIteration(Exprs.LastIteration);
2036 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
2037 Dir->setPreCond(Exprs.PreCond);
2038 Dir->setCond(Exprs.Cond);
2039 Dir->setInit(Exprs.Init);
2040 Dir->setInc(Exprs.Inc);
2041 Dir->setIsLastIterVariable(Exprs.IL);
2042 Dir->setLowerBoundVariable(Exprs.LB);
2043 Dir->setUpperBoundVariable(Exprs.UB);
2044 Dir->setStrideVariable(Exprs.ST);
2045 Dir->setEnsureUpperBound(Exprs.EUB);
2046 Dir->setNextLowerBound(Exprs.NLB);
2047 Dir->setNextUpperBound(Exprs.NUB);
2048 Dir->setNumIterations(Exprs.NumIterations);
2049 Dir->setPrevLowerBoundVariable(Exprs.PrevLB);
2050 Dir->setPrevUpperBoundVariable(Exprs.PrevUB);
2051 Dir->setDistInc(Exprs.DistInc);
2052 Dir->setPrevEnsureUpperBound(Exprs.PrevEUB);
2053 Dir->setCounters(Exprs.Counters);
2054 Dir->setPrivateCounters(Exprs.PrivateCounters);
2055 Dir->setInits(Exprs.Inits);
2056 Dir->setUpdates(Exprs.Updates);
2057 Dir->setFinals(Exprs.Finals);
2058 Dir->setDependentCounters(Exprs.DependentCounters);
2059 Dir->setDependentInits(Exprs.DependentInits);
2060 Dir->setFinalsConditions(Exprs.FinalsConditions);
2061 Dir->setPreInits(Exprs.PreInits);
2062 Dir->setCombinedLowerBoundVariable(Exprs.DistCombinedFields.LB);
2063 Dir->setCombinedUpperBoundVariable(Exprs.DistCombinedFields.UB);
2064 Dir->setCombinedEnsureUpperBound(Exprs.DistCombinedFields.EUB);
2065 Dir->setCombinedInit(Exprs.DistCombinedFields.Init);
2066 Dir->setCombinedCond(Exprs.DistCombinedFields.Cond);
2067 Dir->setCombinedNextLowerBound(Exprs.DistCombinedFields.NLB);
2068 Dir->setCombinedNextUpperBound(Exprs.DistCombinedFields.NUB);
2069 Dir->setCombinedDistCond(Exprs.DistCombinedFields.DistCond);
2070 Dir->setCombinedParForInDistCond(Exprs.DistCombinedFields.ParForInDistCond);
2071 Dir->setTaskReductionRefExpr(TaskRedRef);
2072 Dir->HasCancel = HasCancel;
2073 return Dir;
2106 auto *Dir = createDirective<OMPTargetTeamsDistributeDirective>(
2110 Dir->setIterationVariable(Exprs.IterationVarRef);
2111 Dir->setLastIteration(Exprs.LastIteration);
2112 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
2113 Dir->setPreCond(Exprs.PreCond);
2114 Dir->setCond(Exprs.Cond);
2115 Dir->setInit(Exprs.Init);
2116 Dir->setInc(Exprs.Inc);
2117 Dir->setIsLastIterVariable(Exprs.IL);
2118 Dir->setLowerBoundVariable(Exprs.LB);
2119 Dir->setUpperBoundVariable(Exprs.UB);
2120 Dir->setStrideVariable(Exprs.ST);
2121 Dir->setEnsureUpperBound(Exprs.EUB);
2122 Dir->setNextLowerBound(Exprs.NLB);
2123 Dir->setNextUpperBound(Exprs.NUB);
2124 Dir->setNumIterations(Exprs.NumIterations);
2125 Dir->setCounters(Exprs.Counters);
2126 Dir->setPrivateCounters(Exprs.PrivateCounters);
2127 Dir->setInits(Exprs.Inits);
2128 Dir->setUpdates(Exprs.Updates);
2129 Dir->setFinals(Exprs.Finals);
2130 Dir->setDependentCounters(Exprs.DependentCounters);
2131 Dir->setDependentInits(Exprs.DependentInits);
2132 Dir->setFinalsConditions(Exprs.FinalsConditions);
2133 Dir->setPreInits(Exprs.PreInits);
2134 return Dir;
2153 auto *Dir = createDirective<OMPTargetTeamsDistributeParallelForDirective>(
2158 Dir->setIterationVariable(Exprs.IterationVarRef);
2159 Dir->setLastIteration(Exprs.LastIteration);
2160 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
2161 Dir->setPreCond(Exprs.PreCond);
2162 Dir->setCond(Exprs.Cond);
2163 Dir->setInit(Exprs.Init);
2164 Dir->setInc(Exprs.Inc);
2165 Dir->setIsLastIterVariable(Exprs.IL);
2166 Dir->setLowerBoundVariable(Exprs.LB);
2167 Dir->setUpperBoundVariable(Exprs.UB);
2168 Dir->setStrideVariable(Exprs.ST);
2169 Dir->setEnsureUpperBound(Exprs.EUB);
2170 Dir->setNextLowerBound(Exprs.NLB);
2171 Dir->setNextUpperBound(Exprs.NUB);
2172 Dir->setNumIterations(Exprs.NumIterations);
2173 Dir->setPrevLowerBoundVariable(Exprs.PrevLB);
2174 Dir->setPrevUpperBoundVariable(Exprs.PrevUB);
2175 Dir->setDistInc(Exprs.DistInc);
2176 Dir->setPrevEnsureUpperBound(Exprs.PrevEUB);
2177 Dir->setCounters(Exprs.Counters);
2178 Dir->setPrivateCounters(Exprs.PrivateCounters);
2179 Dir->setInits(Exprs.Inits);
2180 Dir->setUpdates(Exprs.Updates);
2181 Dir->setFinals(Exprs.Finals);
2182 Dir->setDependentCounters(Exprs.DependentCounters);
2183 Dir->setDependentInits(Exprs.DependentInits);
2184 Dir->setFinalsConditions(Exprs.FinalsConditions);
2185 Dir->setPreInits(Exprs.PreInits);
2186 Dir->setCombinedLowerBoundVariable(Exprs.DistCombinedFields.LB);
2187 Dir->setCombinedUpperBoundVariable(Exprs.DistCombinedFields.UB);
2188 Dir->setCombinedEnsureUpperBound(Exprs.DistCombinedFields.EUB);
2189 Dir->setCombinedInit(Exprs.DistCombinedFields.Init);
2190 Dir->setCombinedCond(Exprs.DistCombinedFields.Cond);
2191 Dir->setCombinedNextLowerBound(Exprs.DistCombinedFields.NLB);
2192 Dir->setCombinedNextUpperBound(Exprs.DistCombinedFields.NUB);
2193 Dir->setCombinedDistCond(Exprs.DistCombinedFields.DistCond);
2194 Dir->setCombinedParForInDistCond(Exprs.DistCombinedFields.ParForInDistCond);
2195 Dir->setTaskReductionRefExpr(TaskRedRef);
2196 Dir->HasCancel = HasCancel;
2197 return Dir;
2217 auto *Dir = createDirective<OMPTargetTeamsDistributeParallelForSimdDirective>(
2222 Dir->setIterationVariable(Exprs.IterationVarRef);
2223 Dir->setLastIteration(Exprs.LastIteration);
2224 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
2225 Dir->setPreCond(Exprs.PreCond);
2226 Dir->setCond(Exprs.Cond);
2227 Dir->setInit(Exprs.Init);
2228 Dir->setInc(Exprs.Inc);
2229 Dir->setIsLastIterVariable(Exprs.IL);
2230 Dir->setLowerBoundVariable(Exprs.LB);
2231 Dir->setUpperBoundVariable(Exprs.UB);
2232 Dir->setStrideVariable(Exprs.ST);
2233 Dir->setEnsureUpperBound(Exprs.EUB);
2234 Dir->setNextLowerBound(Exprs.NLB);
2235 Dir->setNextUpperBound(Exprs.NUB);
2236 Dir->setNumIterations(Exprs.NumIterations);
2237 Dir->setPrevLowerBoundVariable(Exprs.PrevLB);
2238 Dir->setPrevUpperBoundVariable(Exprs.PrevUB);
2239 Dir->setDistInc(Exprs.DistInc);
2240 Dir->setPrevEnsureUpperBound(Exprs.PrevEUB);
2241 Dir->setCounters(Exprs.Counters);
2242 Dir->setPrivateCounters(Exprs.PrivateCounters);
2243 Dir->setInits(Exprs.Inits);
2244 Dir->setUpdates(Exprs.Updates);
2245 Dir->setFinals(Exprs.Finals);
2246 Dir->setDependentCounters(Exprs.DependentCounters);
2247 Dir->setDependentInits(Exprs.DependentInits);
2248 Dir->setFinalsConditions(Exprs.FinalsConditions);
2249 Dir->setPreInits(Exprs.PreInits);
2250 Dir->setCombinedLowerBoundVariable(Exprs.DistCombinedFields.LB);
2251 Dir->setCombinedUpperBoundVariable(Exprs.DistCombinedFields.UB);
2252 Dir->setCombinedEnsureUpperBound(Exprs.DistCombinedFields.EUB);
2253 Dir->setCombinedInit(Exprs.DistCombinedFields.Init);
2254 Dir->setCombinedCond(Exprs.DistCombinedFields.Cond);
2255 Dir->setCombinedNextLowerBound(Exprs.DistCombinedFields.NLB);
2256 Dir->setCombinedNextUpperBound(Exprs.DistCombinedFields.NUB);
2257 Dir->setCombinedDistCond(Exprs.DistCombinedFields.DistCond);
2258 Dir->setCombinedParForInDistCond(Exprs.DistCombinedFields.ParForInDistCond);
2259 return Dir;
2278 auto *Dir = createDirective<OMPTargetTeamsDistributeSimdDirective>(
2282 Dir->setIterationVariable(Exprs.IterationVarRef);
2283 Dir->setLastIteration(Exprs.LastIteration);
2284 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
2285 Dir->setPreCond(Exprs.PreCond);
2286 Dir->setCond(Exprs.Cond);
2287 Dir->setInit(Exprs.Init);
2288 Dir->setInc(Exprs.Inc);
2289 Dir->setIsLastIterVariable(Exprs.IL);
2290 Dir->setLowerBoundVariable(Exprs.LB);
2291 Dir->setUpperBoundVariable(Exprs.UB);
2292 Dir->setStrideVariable(Exprs.ST);
2293 Dir->setEnsureUpperBound(Exprs.EUB);
2294 Dir->setNextLowerBound(Exprs.NLB);
2295 Dir->setNextUpperBound(Exprs.NUB);
2296 Dir->setNumIterations(Exprs.NumIterations);
2297 Dir->setCounters(Exprs.Counters);
2298 Dir->setPrivateCounters(Exprs.PrivateCounters);
2299 Dir->setInits(Exprs.Inits);
2300 Dir->setUpdates(Exprs.Updates);
2301 Dir->setFinals(Exprs.Finals);
2302 Dir->setDependentCounters(Exprs.DependentCounters);
2303 Dir->setDependentInits(Exprs.DependentInits);
2304 Dir->setFinalsConditions(Exprs.FinalsConditions);
2305 Dir->setPreInits(Exprs.PreInits);
2306 return Dir;
2339 auto *Dir = createDirective<OMPDispatchDirective>(
2341 Dir->setTargetCallLoc(TargetCallLoc);
2342 return Dir;
2374 auto *Dir = createDirective<OMPGenericLoopDirective>(
2377 Dir->setIterationVariable(Exprs.IterationVarRef);
2378 Dir->setLastIteration(Exprs.LastIteration);
2379 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
2380 Dir->setPreCond(Exprs.PreCond);
2381 Dir->setCond(Exprs.Cond);
2382 Dir->setInit(Exprs.Init);
2383 Dir->setInc(Exprs.Inc);
2384 Dir->setIsLastIterVariable(Exprs.IL);
2385 Dir->setLowerBoundVariable(Exprs.LB);
2386 Dir->setUpperBoundVariable(Exprs.UB);
2387 Dir->setStrideVariable(Exprs.ST);
2388 Dir->setEnsureUpperBound(Exprs.EUB);
2389 Dir->setNextLowerBound(Exprs.NLB);
2390 Dir->setNextUpperBound(Exprs.NUB);
2391 Dir->setNumIterations(Exprs.NumIterations);
2392 Dir->setCounters(Exprs.Counters);
2393 Dir->setPrivateCounters(Exprs.PrivateCounters);
2394 Dir->setInits(Exprs.Inits);
2395 Dir->setUpdates(Exprs.Updates);
2396 Dir->setFinals(Exprs.Finals);
2397 Dir->setDependentCounters(Exprs.DependentCounters);
2398 Dir->setDependentInits(Exprs.DependentInits);
2399 Dir->setFinalsConditions(Exprs.FinalsConditions);
2400 Dir->setPreInits(Exprs.PreInits);
2401 return Dir;
2416 auto *Dir = createDirective<OMPTeamsGenericLoopDirective>(
2420 Dir->setIterationVariable(Exprs.IterationVarRef);
2421 Dir->setLastIteration(Exprs.LastIteration);
2422 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
2423 Dir->setPreCond(Exprs.PreCond);
2424 Dir->setCond(Exprs.Cond);
2425 Dir->setInit(Exprs.Init);
2426 Dir->setInc(Exprs.Inc);
2427 Dir->setIsLastIterVariable(Exprs.IL);
2428 Dir->setLowerBoundVariable(Exprs.LB);
2429 Dir->setUpperBoundVariable(Exprs.UB);
2430 Dir->setStrideVariable(Exprs.ST);
2431 Dir->setEnsureUpperBound(Exprs.EUB);
2432 Dir->setNextLowerBound(Exprs.NLB);
2433 Dir->setNextUpperBound(Exprs.NUB);
2434 Dir->setNumIterations(Exprs.NumIterations);
2435 Dir->setPrevLowerBoundVariable(Exprs.PrevLB);
2436 Dir->setPrevUpperBoundVariable(Exprs.PrevUB);
2437 Dir->setDistInc(Exprs.DistInc);
2438 Dir->setPrevEnsureUpperBound(Exprs.PrevEUB);
2439 Dir->setCounters(Exprs.Counters);
2440 Dir->setPrivateCounters(Exprs.PrivateCounters);
2441 Dir->setInits(Exprs.Inits);
2442 Dir->setUpdates(Exprs.Updates);
2443 Dir->setFinals(Exprs.Finals);
2444 Dir->setDependentCounters(Exprs.DependentCounters);
2445 Dir->setDependentInits(Exprs.DependentInits);
2446 Dir->setFinalsConditions(Exprs.FinalsConditions);
2447 Dir->setPreInits(Exprs.PreInits);
2448 Dir->setCombinedLowerBoundVariable(Exprs.DistCombinedFields.LB);
2449 Dir->setCombinedUpperBoundVariable(Exprs.DistCombinedFields.UB);
2450 Dir->setCombinedEnsureUpperBound(Exprs.DistCombinedFields.EUB);
2451 Dir->setCombinedInit(Exprs.DistCombinedFields.Init);
2452 Dir->setCombinedCond(Exprs.DistCombinedFields.Cond);
2453 Dir->setCombinedNextLowerBound(Exprs.DistCombinedFields.NLB);
2454 Dir->setCombinedNextUpperBound(Exprs.DistCombinedFields.NUB);
2455 Dir->setCombinedDistCond(Exprs.DistCombinedFields.DistCond);
2456 Dir->setCombinedParForInDistCond(Exprs.DistCombinedFields.ParForInDistCond);
2457 return Dir;
2473 auto *Dir = createDirective<OMPTargetTeamsGenericLoopDirective>(
2477 Dir->setIterationVariable(Exprs.IterationVarRef);
2478 Dir->setLastIteration(Exprs.LastIteration);
2479 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
2480 Dir->setPreCond(Exprs.PreCond);
2481 Dir->setCond(Exprs.Cond);
2482 Dir->setInit(Exprs.Init);
2483 Dir->setInc(Exprs.Inc);
2484 Dir->setIsLastIterVariable(Exprs.IL);
2485 Dir->setLowerBoundVariable(Exprs.LB);
2486 Dir->setUpperBoundVariable(Exprs.UB);
2487 Dir->setStrideVariable(Exprs.ST);
2488 Dir->setEnsureUpperBound(Exprs.EUB);
2489 Dir->setNextLowerBound(Exprs.NLB);
2490 Dir->setNextUpperBound(Exprs.NUB);
2491 Dir->setNumIterations(Exprs.NumIterations);
2492 Dir->setPrevLowerBoundVariable(Exprs.PrevLB);
2493 Dir->setPrevUpperBoundVariable(Exprs.PrevUB);
2494 Dir->setDistInc(Exprs.DistInc);
2495 Dir->setPrevEnsureUpperBound(Exprs.PrevEUB);
2496 Dir->setCounters(Exprs.Counters);
2497 Dir->setPrivateCounters(Exprs.PrivateCounters);
2498 Dir->setInits(Exprs.Inits);
2499 Dir->setUpdates(Exprs.Updates);
2500 Dir->setFinals(Exprs.Finals);
2501 Dir->setDependentCounters(Exprs.DependentCounters);
2502 Dir->setDependentInits(Exprs.DependentInits);
2503 Dir->setFinalsConditions(Exprs.FinalsConditions);
2504 Dir->setPreInits(Exprs.PreInits);
2505 Dir->setCombinedLowerBoundVariable(Exprs.DistCombinedFields.LB);
2506 Dir->setCombinedUpperBoundVariable(Exprs.DistCombinedFields.UB);
2507 Dir->setCombinedEnsureUpperBound(Exprs.DistCombinedFields.EUB);
2508 Dir->setCombinedInit(Exprs.DistCombinedFields.Init);
2509 Dir->setCombinedCond(Exprs.DistCombinedFields.Cond);
2510 Dir->setCombinedNextLowerBound(Exprs.DistCombinedFields.NLB);
2511 Dir->setCombinedNextUpperBound(Exprs.DistCombinedFields.NUB);
2512 Dir->setCombinedDistCond(Exprs.DistCombinedFields.DistCond);
2513 Dir->setCombinedParForInDistCond(Exprs.DistCombinedFields.ParForInDistCond);
2514 Dir->setCanBeParallelFor(CanBeParallelFor);
2515 return Dir;
2532 auto *Dir = createDirective<OMPParallelGenericLoopDirective>(
2536 Dir->setIterationVariable(Exprs.IterationVarRef);
2537 Dir->setLastIteration(Exprs.LastIteration);
2538 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
2539 Dir->setPreCond(Exprs.PreCond);
2540 Dir->setCond(Exprs.Cond);
2541 Dir->setInit(Exprs.Init);
2542 Dir->setInc(Exprs.Inc);
2543 Dir->setIsLastIterVariable(Exprs.IL);
2544 Dir->setLowerBoundVariable(Exprs.LB);
2545 Dir->setUpperBoundVariable(Exprs.UB);
2546 Dir->setStrideVariable(Exprs.ST);
2547 Dir->setEnsureUpperBound(Exprs.EUB);
2548 Dir->setNextLowerBound(Exprs.NLB);
2549 Dir->setNextUpperBound(Exprs.NUB);
2550 Dir->setNumIterations(Exprs.NumIterations);
2551 Dir->setCounters(Exprs.Counters);
2552 Dir->setPrivateCounters(Exprs.PrivateCounters);
2553 Dir->setInits(Exprs.Inits);
2554 Dir->setUpdates(Exprs.Updates);
2555 Dir->setFinals(Exprs.Finals);
2556 Dir->setDependentCounters(Exprs.DependentCounters);
2557 Dir->setDependentInits(Exprs.DependentInits);
2558 Dir->setFinalsConditions(Exprs.FinalsConditions);
2559 Dir->setPreInits(Exprs.PreInits);
2560 return Dir;
2576 auto *Dir = createDirective<OMPTargetParallelGenericLoopDirective>(
2580 Dir->setIterationVariable(Exprs.IterationVarRef);
2581 Dir->setLastIteration(Exprs.LastIteration);
2582 Dir->setCalcLastIteration(Exprs.CalcLastIteration);
2583 Dir->setPreCond(Exprs.PreCond);
2584 Dir->setCond(Exprs.Cond);
2585 Dir->setInit(Exprs.Init);
2586 Dir->setInc(Exprs.Inc);
2587 Dir->setIsLastIterVariable(Exprs.IL);
2588 Dir->setLowerBoundVariable(Exprs.LB);
2589 Dir->setUpperBoundVariable(Exprs.UB);
2590 Dir->setStrideVariable(Exprs.ST);
2591 Dir->setEnsureUpperBound(Exprs.EUB);
2592 Dir->setNextLowerBound(Exprs.NLB);
2593 Dir->setNextUpperBound(Exprs.NUB);
2594 Dir->setNumIterations(Exprs.NumIterations);
2595 Dir->setCounters(Exprs.Counters);
2596 Dir->setPrivateCounters(Exprs.PrivateCounters);
2597 Dir->setInits(Exprs.Inits);
2598 Dir->setUpdates(Exprs.Updates);
2599 Dir->setFinals(Exprs.Finals);
2600 Dir->setDependentCounters(Exprs.DependentCounters);
2601 Dir->setDependentInits(Exprs.DependentInits);
2602 Dir->setFinalsConditions(Exprs.FinalsConditions);
2603 Dir->setPreInits(Exprs.PreInits);
2604 return Dir;