Lines Matching defs:omp

26 namespace omp {
53 mlir::omp::PrivateClauseOps *clauseOps) {
66 if (!mlir::isa<mlir::omp::SectionsOp>(op)) {
94 mlir::omp::PrivateClauseOp privatizer = symToPrivatizer.at(sym);
109 firOpBuilder.create<mlir::omp::YieldOp>(hsb.getAddr().getLoc());
152 const omp::ObjectList &objects,
154 for (const omp::Object &object : objects)
159 for (const omp::Clause &clause : clauses) {
161 std::get_if<omp::clause::Private>(&clause.u)) {
164 std::get_if<omp::clause::Firstprivate>(&clause.u)) {
168 std::get_if<omp::clause::Lastprivate>(&clause.u)) {
195 firOpBuilder.create<mlir::omp::BarrierOp>(converter.getCurrentLocation());
199 mlir::omp::LoopNestOp loopOp;
200 if (auto wrapper = mlir::dyn_cast<mlir::omp::LoopWrapperInterface>(op))
201 loopOp = mlir::cast<mlir::omp::LoopNestOp>(wrapper.getWrappedLoop());
205 for (const omp::Clause &clause : clauses) {
206 if (clause.id != llvm::omp::OMPC_lastprivate)
208 if (mlir::isa<mlir::omp::WsloopOp>(op) ||
209 mlir::isa<mlir::omp::SimdOp>(op)) {
213 // omp.wsloop / omp.simd { omp.wsloop / omp.simd {
214 // omp.loop_nest { omp.loop_nest {
217 // omp.yield %v = arith.addi %iv, %step
223 // omp.yield
272 } else if (mlir::isa<mlir::omp::SectionsOp>(op)) {
411 using DataSharingAttribute = omp::clause::Default::DataSharingAttribute;
412 for (const omp::Clause &clause : clauses) {
414 std::get_if<omp::clause::Default>(&clause.u)) {
436 void DataSharingProcessor::privatize(mlir::omp::PrivateClauseOps *clauseOps) {
461 mlir::omp::PrivateClauseOps *clauseOps) {
476 mlir::omp::PrivateClauseOp privatizerOp = [&]() {
484 moduleOp.lookupSymbol<mlir::omp::PrivateClauseOp>(
490 auto result = firOpBuilder.create<mlir::omp::PrivateClauseOp>(
492 isFirstPrivate ? mlir::omp::DataSharingClauseType::FirstPrivate
493 : mlir::omp::DataSharingClauseType::Private);
527 firOpBuilder.create<mlir::omp::YieldOp>(hsb.getAddr().getLoc(),
559 firOpBuilder.create<mlir::omp::YieldOp>(
574 } // namespace omp