Lines Matching refs:stmt

1129 static bool hasSpec(const A &stmt) {  in hasSpec()  argument
1130 return hasX<SEEK>(stmt.v); in hasSpec()
1135 static const Fortran::lower::SomeExpr *getExpr(const A &stmt) { in getExpr() argument
1136 for (const auto &spec : stmt.v) in getExpr()
1247 static bool hasIOControl(const A &stmt) { in hasIOControl() argument
1248 return hasX<SEEK>(stmt.controls); in hasIOControl()
1252 static const auto *getIOControl(const A &stmt) { in getIOControl() argument
1253 for (const auto &spec : stmt.controls) in getIOControl()
1273 static bool isDataTransferFormatted(const A &stmt) { in isDataTransferFormatted() argument
1274 if (stmt.format) in isDataTransferFormatted()
1275 return !formatIsActuallyNamelist(*stmt.format); in isDataTransferFormatted()
1276 return hasIOControl<Fortran::parser::Format>(stmt); in isDataTransferFormatted()
1285 static bool isDataTransferList(const A &stmt) { in isDataTransferList() argument
1286 if (stmt.format) in isDataTransferList()
1287 return std::holds_alternative<Fortran::parser::Star>(stmt.format->u); in isDataTransferList()
1288 if (auto *mem = getIOControl<Fortran::parser::Format>(stmt)) in isDataTransferList()
1294 const Fortran::parser::PrintStmt &stmt) { in isDataTransferList() argument
1296 std::get<Fortran::parser::Format>(stmt.t).u); in isDataTransferList()
1300 static bool isDataTransferInternal(const A &stmt) { in isDataTransferInternal() argument
1301 if (stmt.iounit.has_value()) in isDataTransferInternal()
1302 return std::holds_alternative<Fortran::parser::Variable>(stmt.iounit->u); in isDataTransferInternal()
1303 if (auto *unit = getIOControl<Fortran::parser::IoUnit>(stmt)) in isDataTransferInternal()
1335 const A &stmt, in maybeGetInternalIODescriptor() argument
1337 if (stmt.iounit.has_value()) in maybeGetInternalIODescriptor()
1338 if (auto *var = std::get_if<Fortran::parser::Variable>(&stmt.iounit->u)) in maybeGetInternalIODescriptor()
1340 if (auto *unit = getIOControl<Fortran::parser::IoUnit>(stmt)) in maybeGetInternalIODescriptor()
1354 static bool isDataTransferAsynchronous(mlir::Location loc, const A &stmt) { in isDataTransferAsynchronous() argument
1356 getIOControl<Fortran::parser::IoControlSpec::Asynchronous>(stmt)) { in isDataTransferAsynchronous()
1369 static bool isDataTransferNamelist(const A &stmt) { in isDataTransferNamelist() argument
1370 if (stmt.format) in isDataTransferNamelist()
1371 return formatIsActuallyNamelist(*stmt.format); in isDataTransferNamelist()
1372 return hasIOControl<Fortran::parser::Name>(stmt); in isDataTransferNamelist()
1512 const A &stmt, mlir::Type strTy, mlir::Type lenTy, in getFormat() argument
1514 if (stmt.format && !formatIsActuallyNamelist(*stmt.format)) in getFormat()
1515 return genFormat(converter, loc, *stmt.format, strTy, lenTy, stmtCtx); in getFormat()
1516 return genFormat(converter, loc, *getIOControl<Fortran::parser::Format>(stmt), in getFormat()
1523 const Fortran::parser::PrintStmt &stmt, mlir::Type strTy, mlir::Type lenTy, in getFormat() argument
1525 return genFormat(converter, loc, std::get<Fortran::parser::Format>(stmt.t), in getFormat()
1533 const A &stmt, mlir::Type strTy, mlir::Type lenTy, in getBuffer() argument
1536 stmt.iounit ? &*stmt.iounit : getIOControl<Fortran::parser::IoUnit>(stmt); in getBuffer()
1616 mlir::Location loc, const A &stmt, mlir::Type ty, in getIOUnit() argument
1620 stmt.iounit ? &*stmt.iounit : getIOControl<Fortran::parser::IoUnit>(stmt); in getIOUnit()
1629 const S &stmt) { in genBasicIOStmt() argument
1633 ConditionSpecInfo csi = lowerErrorSpec(converter, loc, stmt.v); in genBasicIOStmt()
1637 converter, loc, getExpr<Fortran::parser::FileUnitNumber>(stmt), in genBasicIOStmt()
1645 genConditionHandlerCall(converter, loc, cookie, stmt.v, csi); in genBasicIOStmt()
1648 threadSpecs(converter, loc, cookie, stmt.v, csi.hasErrorConditionSpec(), ok); in genBasicIOStmt()
1656 const Fortran::parser::BackspaceStmt &stmt) { in genBackspaceStatement() argument
1657 return genBasicIOStmt<mkIOKey(BeginBackspace)>(converter, stmt); in genBackspaceStatement()
1662 const Fortran::parser::EndfileStmt &stmt) { in genEndfileStatement() argument
1663 return genBasicIOStmt<mkIOKey(BeginEndfile)>(converter, stmt); in genEndfileStatement()
1668 const Fortran::parser::FlushStmt &stmt) { in genFlushStatement() argument
1669 return genBasicIOStmt<mkIOKey(BeginFlush)>(converter, stmt); in genFlushStatement()
1674 const Fortran::parser::RewindStmt &stmt) { in genRewindStatement() argument
1675 return genBasicIOStmt<mkIOKey(BeginRewind)>(converter, stmt); in genRewindStatement()
1704 const Fortran::parser::OpenStmt &stmt) { in genOpenStatement() argument
1710 ConditionSpecInfo csi = lowerErrorSpec(converter, loc, stmt.v); in genOpenStatement()
1712 if (hasSpec<Fortran::parser::FileUnitNumber>(stmt)) { in genOpenStatement()
1716 converter, loc, getExpr<Fortran::parser::FileUnitNumber>(stmt), in genOpenStatement()
1722 hasNewunitSpec = hasSpec<Fortran::parser::ConnectSpec::Newunit>(stmt); in genOpenStatement()
1731 genConditionHandlerCall(converter, loc, cookie, stmt.v, csi); in genOpenStatement()
1734 threadSpecs(converter, loc, cookie, stmt.v, csi.hasErrorConditionSpec(), ok); in genOpenStatement()
1736 genNewunitSpec(converter, loc, cookie, stmt.v); in genOpenStatement()
1743 const Fortran::parser::CloseStmt &stmt) { in genCloseStatement() argument
1744 return genBasicIOStmt<mkIOKey(BeginClose)>(converter, stmt); in genCloseStatement()
1749 const Fortran::parser::WaitStmt &stmt) { in genWaitStatement() argument
1753 ConditionSpecInfo csi = lowerErrorSpec(converter, loc, stmt.v); in genWaitStatement()
1754 bool hasId = hasSpec<Fortran::parser::IdExpr>(stmt); in genWaitStatement()
1760 converter, loc, getExpr<Fortran::parser::FileUnitNumber>(stmt), in genWaitStatement()
1765 loc, getExpr<Fortran::parser::IdExpr>(stmt), stmtCtx)); in genWaitStatement()
1774 genConditionHandlerCall(converter, loc, cookie, stmt.v, csi); in genWaitStatement()
1849 const A &stmt, mlir::FunctionType ioFuncTy, bool isFormatted, in genBeginDataTransferCallArgs() argument
1859 getFormat(converter, loc, stmt, ioFuncTy.getInput(ioArgs.size()), in genBeginDataTransferCallArgs()
1873 getBuffer(converter, loc, stmt, ioFuncTy.getInput(ioArgs.size()), in genBeginDataTransferCallArgs()
1887 ioArgs.push_back(getIOUnit(converter, loc, stmt, in genBeginDataTransferCallArgs()
1907 const A &stmt) { in genDataTransferStmt() argument
1911 const bool isFormatted = isDataTransferFormatted(stmt); in genDataTransferStmt()
1912 const bool isList = isFormatted ? isDataTransferList(stmt) : false; in genDataTransferStmt()
1913 const bool isInternal = isDataTransferInternal(stmt); in genDataTransferStmt()
1915 isInternal ? maybeGetInternalIODescriptor(converter, stmt, stmtCtx) in genDataTransferStmt()
1918 const bool isAsync = isDataTransferAsynchronous(loc, stmt); in genDataTransferStmt()
1919 const bool isNml = isDataTransferNamelist(stmt); in genDataTransferStmt()
1924 csi = lowerErrorSpec(converter, loc, stmt.controls); in genDataTransferStmt()
1933 ioArgs, converter, loc, stmt, ioFunc.getFunctionType(), isFormatted, in genDataTransferStmt()
1941 genConditionHandlerCall(converter, loc, cookie, stmt.controls, csi); in genDataTransferStmt()
1942 threadSpecs(converter, loc, cookie, stmt.controls, in genDataTransferStmt()
1951 *getIOControl<Fortran::parser::Name>(stmt)->symbol, in genDataTransferStmt()
1954 genInputItemList(converter, cookie, stmt.items, isFormatted, in genDataTransferStmt()
1960 *getIOControl<Fortran::parser::Name>(stmt)->symbol, in genDataTransferStmt()
1963 genOutputItemList(converter, cookie, stmt.items, isFormatted, in genDataTransferStmt()
1967 genOutputItemList(converter, cookie, std::get<1>(stmt.t), isFormatted, in genDataTransferStmt()
1975 genIOReadSize(converter, loc, cookie, stmt.controls, in genDataTransferStmt()
1984 const Fortran::parser::PrintStmt &stmt) { in genPrintStatement() argument
1987 genDataTransferStmt</*isInput=*/false, /*ioCtrl=*/false>(converter, stmt); in genPrintStatement()
1992 const Fortran::parser::WriteStmt &stmt) { in genWriteStatement() argument
1993 return genDataTransferStmt</*isInput=*/false>(converter, stmt); in genWriteStatement()
1998 const Fortran::parser::ReadStmt &stmt) { in genReadStatement() argument
1999 return genDataTransferStmt</*isInput=*/true>(converter, stmt); in genReadStatement()
2005 getInquireFileExpr(const std::list<Fortran::parser::InquireSpec> *stmt) { in getInquireFileExpr() argument
2006 if (!stmt) in getInquireFileExpr()
2008 for (const Fortran::parser::InquireSpec &spec : *stmt) { in getInquireFileExpr()
2173 const Fortran::parser::InquireStmt &stmt) { in genInquireStatement() argument
2180 std::get_if<std::list<Fortran::parser::InquireSpec>>(&stmt.u); in genInquireStatement()
2215 std::get_if<Fortran::parser::InquireStmt::Iolength>(&stmt.u); in genInquireStatement()