@@ -126,9 +126,9 @@ static bool mustParallelizeOp(Operation *op) {
126126 // omp.workshare.loop_wrapper {}
127127 //
128128 // Therefore, we skip if we encounter a nested omp.workshare.
129- if (isa<omp::WorkshareOp>(op ))
129+ if (isa<omp::WorkshareOp>(nested ))
130130 return WalkResult::skip ();
131- if (isa<omp::WorkshareLoopWrapperOp>(op ))
131+ if (isa<omp::WorkshareLoopWrapperOp>(nested ))
132132 return WalkResult::interrupt ();
133133 return WalkResult::advance ();
134134 })
@@ -253,8 +253,7 @@ static void parallelizeRegion(Region &sourceRegion, Region &targetRegion,
253253 // Either we have already remapped it
254254 bool remapped = rootMapping.contains (opr);
255255 // Or it is available because it dominates `sr`
256- bool dominates =
257- di.properlyDominates (opr.getDefiningOp (), &*sr.begin );
256+ bool dominates = di.properlyDominates (opr, &*sr.begin );
258257 return remapped || dominates;
259258 })) {
260259 // Safe to parallelize operations which have all operands available in
@@ -405,7 +404,7 @@ static void parallelizeRegion(Region &sourceRegion, Region &targetRegion,
405404
406405 if (sourceRegion.hasOneBlock ()) {
407406 handleOneBlock (sourceRegion.front ());
408- } else {
407+ } else if (!sourceRegion. empty ()) {
409408 auto &domTree = di.getDomTree (&sourceRegion);
410409 for (auto node : llvm::breadth_first (domTree.getRootNode ())) {
411410 handleOneBlock (*node->getBlock ());
0 commit comments