Lines Matching +defs:region +defs:end

306     // Fill binding table region if the derived type has bindings.
353 /// Store the front-end data that will be required to generate the type info
632 if (iter == owningProc.assignSymbolLabelMap.end())
835 if_builder.end();
1315 .end();
1326 .end();
1421 assert(iter != labelEvaluationMap.end() && "label missing from map");
1526 for (auto it = ++nested.begin(), end = nested.end(); it != end;
1760 // The current block must end with a terminator.
1764 builder->setInsertionPoint(finalBlock, finalBlock->end());
1889 assert(iter != labelEvaluationMap.end() && "label missing from map");
1911 if (labelSetIter != symbolLabelMap.end()) {
1914 assert(evalIter != labelEvalMap.end() && "assigned goto label missing");
2061 return beginBlock = beginBlock->splitBlock(beginBlock->end());
2132 for (auto end = --eval.getNestedEvaluations().end(); iter != end; ++iter)
2141 // Loop end code.
2372 /// Generate FIR to end a structured or unstructured increment loop nest.
2770 auto evaluateControl = [&](const auto &parserExpr, mlir::Region &region,
2772 if (region.empty())
2773 builder->createBlock(&region);
2779 // region. They do not depend on any previous forall indices (C1123) and
2826 auto end = builder->create<fir::FirEndOp>(loc);
2827 builder->setInsertionPoint(end);
2837 auto end = builder->create<fir::FirEndOp>(loc);
2838 builder->setInsertionPoint(end);
2913 builder->getBlock()->splitBlock(builder->getBlock()->end());
3103 builder->createBlock(&op.getRegion(), op.getRegion().end(), ivTypes,
3141 // Register if a target region was found
3324 assert(caseValue == valueList.end() && caseBlock == blockList.end() &&
4327 /// implicit conversion of the RHS to the LHS type. The front-end
4330 /// (making the conversion explicit in the front-end would prevent
4541 // front-end usually makes it explicit, unless it cannot (whole
4589 // Lower RHS in its own region.
4596 // Lower LHS in its own region.
4620 // Generate the hlfir.region_assign userDefinedAssignment region.
4631 auto end = builder.create<fir::FirEndOp>(loc);
4632 builder.setInsertionPoint(end);
4764 .end();
4908 // region.
4915 // region.
4936 // For HLFIR, create fir.end terminator in the last hlfir.elsewhere, or
4957 /// Lower a Where or Elsewhere mask into an hlfir mask region.
4982 // Lower mask in the mask region.
4990 // For HLFIR, lower the body in the hlfir.elsewhere body region.
5166 // generating a branch to end a block. So these calls may still be required
5205 // end-of-block branch. An alternative is to add special case code
5524 /// belong to a region. Any block within a nested region must be replaced
5525 /// with a block belonging to that region. Branches may not cross region
5529 mlir::Region *region = &builder->getRegion();
5532 eval.block = builder->createBlock(region);
5541 constructStmt.block = builder->createBlock(region);
5563 // point to the start of the block. Otherwise set it to the end.
5578 // because they might cross omp.target region boundaries, which can result
5613 /// region block. This is required because the FirOpBuilder assumes it is
5614 /// always positioned inside a region block when creating globals, the easiest
5632 if (mlir::Region *region = func.getCallableRegion())
5633 region->dropAllReferences();
6040 /// Performing OpenACC lowering action that were deferred to the end of
6047 /// Performing OpenMP lowering actions that were deferred to the end of
6141 /// Whether an OpenMP target region or declare target function/subroutine
6269 mlir::Location loc, fir::FirOpBuilder &builder, mlir::Region &region,
6274 if (region.empty())
6275 builder.createBlock(&region);
6277 builder.setInsertionPointToEnd(&region.front());
6279 hlfir::YieldOp::ensureTerminator(region, builder, loc);