Lines Matching defs:stmt
1783 mlir::Value genIfCondition(const A *stmt, bool negate = false) {
1789 std::get<Fortran::parser::ScalarLogicalExpr>(stmt->t)),
1809 void genFIR(const Fortran::parser::CallStmt &stmt) {
1812 setCurrentPosition(stmt.source);
1813 assert(stmt.typedCall && "Call was not analyzed");
1817 if (stmt.typedCall->hasAlternateReturns())
1820 toLocation(), *this, *stmt.typedCall, resultType, localSymbols,
1827 *this, *stmt.typedCall, explicitIterSpace, implicitIterSpace,
1839 std::get<std::list<Fortran::parser::ActualArgSpec>>(stmt.call.t)) {
1850 void genFIR(const Fortran::parser::ComputedGotoStmt &stmt) {
1856 std::get<Fortran::parser::ScalarIntExpr>(stmt.t)),
1863 std::get<std::list<Fortran::parser::Label>>(stmt.t)) {
1870 void genFIR(const Fortran::parser::ArithmeticIfStmt &stmt) {
1874 Fortran::semantics::GetExpr(std::get<Fortran::parser::Expr>(stmt.t)),
1884 labelList.push_back(std::get<1>(stmt.t));
1885 labelList.push_back(std::get<3>(stmt.t));
1888 const auto iter = labelEvaluationMap.find(std::get<2>(stmt.t));
1893 void genFIR(const Fortran::parser::AssignedGotoStmt &stmt) {
1907 *std::get<Fortran::parser::Name>(stmt.t).symbol;
2137 assert(endDoEval.getIf<Fortran::parser::EndDoStmt>() && "no enddo stmt");
2539 void genNestedStatement(const Fortran::parser::Statement<A> &stmt) {
2540 setCurrentPosition(stmt.source);
2541 genFIR(stmt.statement);
2674 void genFIR(const Fortran::parser::ForallAssignmentStmt &stmt) {
2675 Fortran::common::visit([&](const auto &x) { genFIR(x); }, stmt.u);
2698 void genFIR(const Fortran::parser::ForallStmt &stmt) {
2702 stmt.t)
2709 Fortran::parser::ForallAssignmentStmt>>(stmt.t)
2713 prepareExplicitSpace(stmt);
2716 Fortran::parser::ForallAssignmentStmt>>(stmt.t)
2752 void genFIR(const Fortran::parser::ForallConstructStmt &stmt) {
2756 stmt.t)
3164 void genFIR(const Fortran::parser::SelectCaseStmt &stmt) {
3173 std::get<Fortran::parser::Scalar<Fortran::parser::Expr>>(stmt.t));
3345 if (auto *stmt = e.getIf<Fortran::parser::AssociateStmt>()) {
3350 std::get<std::list<Fortran::parser::Association>>(stmt->t)) {
3409 void genFIR(const Fortran::parser::ChangeTeamStmt &stmt) {
3412 void genFIR(const Fortran::parser::EndChangeTeamStmt &stmt) {
3530 void genFIR(const Fortran::parser::SelectRankCaseStmt &stmt) {
3638 const auto &stmt =
3642 bridge.getSemanticsContext().FindScope(stmt.source);
3861 void genFIR(const Fortran::parser::BackspaceStmt &stmt) {
3862 mlir::Value iostat = genBackspaceStatement(*this, stmt);
3863 genIoConditionBranches(getEval(), stmt.v, iostat);
3865 void genFIR(const Fortran::parser::CloseStmt &stmt) {
3866 mlir::Value iostat = genCloseStatement(*this, stmt);
3867 genIoConditionBranches(getEval(), stmt.v, iostat);
3869 void genFIR(const Fortran::parser::EndfileStmt &stmt) {
3870 mlir::Value iostat = genEndfileStatement(*this, stmt);
3871 genIoConditionBranches(getEval(), stmt.v, iostat);
3873 void genFIR(const Fortran::parser::FlushStmt &stmt) {
3874 mlir::Value iostat = genFlushStatement(*this, stmt);
3875 genIoConditionBranches(getEval(), stmt.v, iostat);
3877 void genFIR(const Fortran::parser::InquireStmt &stmt) {
3878 mlir::Value iostat = genInquireStatement(*this, stmt);
3880 std::get_if<std::list<Fortran::parser::InquireSpec>>(&stmt.u))
3883 void genFIR(const Fortran::parser::OpenStmt &stmt) {
3884 mlir::Value iostat = genOpenStatement(*this, stmt);
3885 genIoConditionBranches(getEval(), stmt.v, iostat);
3887 void genFIR(const Fortran::parser::PrintStmt &stmt) {
3888 genPrintStatement(*this, stmt);
3890 void genFIR(const Fortran::parser::ReadStmt &stmt) {
3891 mlir::Value iostat = genReadStatement(*this, stmt);
3892 genIoConditionBranches(getEval(), stmt.controls, iostat);
3894 void genFIR(const Fortran::parser::RewindStmt &stmt) {
3895 mlir::Value iostat = genRewindStatement(*this, stmt);
3896 genIoConditionBranches(getEval(), stmt.v, iostat);
3898 void genFIR(const Fortran::parser::WaitStmt &stmt) {
3899 mlir::Value iostat = genWaitStatement(*this, stmt);
3900 genIoConditionBranches(getEval(), stmt.v, iostat);
3902 void genFIR(const Fortran::parser::WriteStmt &stmt) {
3903 mlir::Value iostat = genWriteStatement(*this, stmt);
3904 genIoConditionBranches(getEval(), stmt.controls, iostat);
3971 void genFIR(const Fortran::parser::AllocateStmt &stmt) {
3972 Fortran::lower::genAllocateStmt(*this, stmt, toLocation());
3975 void genFIR(const Fortran::parser::DeallocateStmt &stmt) {
3976 Fortran::lower::genDeallocateStmt(*this, stmt, toLocation());
3983 void genFIR(const Fortran::parser::NullifyStmt &stmt) {
3985 for (auto &pointerObject : stmt.v) {
4008 void genFIR(const Fortran::parser::NotifyWaitStmt &stmt) {
4009 genNotifyWaitStatement(*this, stmt);
4012 void genFIR(const Fortran::parser::EventPostStmt &stmt) {
4013 genEventPostStatement(*this, stmt);
4016 void genFIR(const Fortran::parser::EventWaitStmt &stmt) {
4017 genEventWaitStatement(*this, stmt);
4020 void genFIR(const Fortran::parser::FormTeamStmt &stmt) {
4021 genFormTeamStatement(*this, getEval(), stmt);
4024 void genFIR(const Fortran::parser::LockStmt &stmt) {
4025 genLockStatement(*this, stmt);
4946 Fortran::parser::AssignmentStmt> &stmt) {
4947 genNestedStatement(stmt);
4950 &stmt) { genNestedStatement(stmt); },
4969 void genFIR(const Fortran::parser::WhereConstructStmt &stmt) {
4971 std::get<Fortran::parser::LogicalExpr>(stmt.t));
4998 void genFIR(const Fortran::parser::MaskedElsewhereStmt &stmt) {
5000 std::get<Fortran::parser::LogicalExpr>(stmt.t));
5019 void genFIR(const Fortran::parser::ElsewhereStmt &stmt) {
5028 void genFIR(const Fortran::parser::WhereStmt &stmt) {
5030 const auto &assign = std::get<Fortran::parser::AssignmentStmt>(stmt.t);
5032 std::get<Fortran::parser::LogicalExpr>(stmt.t));
5050 void genFIR(const Fortran::parser::PointerAssignmentStmt &stmt) {
5051 genAssignment(*stmt.typedAssignment->v);
5054 void genFIR(const Fortran::parser::AssignmentStmt &stmt) {
5055 genAssignment(*stmt.typedAssignment->v);
5058 void genFIR(const Fortran::parser::SyncAllStmt &stmt) {
5059 genSyncAllStatement(*this, stmt);
5062 void genFIR(const Fortran::parser::SyncImagesStmt &stmt) {
5063 genSyncImagesStatement(*this, stmt);
5066 void genFIR(const Fortran::parser::SyncMemoryStmt &stmt) {
5067 genSyncMemoryStatement(*this, stmt);
5070 void genFIR(const Fortran::parser::SyncTeamStmt &stmt) {
5071 genSyncTeamStatement(*this, stmt);
5074 void genFIR(const Fortran::parser::UnlockStmt &stmt) {
5075 genUnlockStatement(*this, stmt);
5078 void genFIR(const Fortran::parser::AssignStmt &stmt) {
5080 *std::get<Fortran::parser::Name>(stmt.t).symbol;
5083 loc, genType(symbol), std::get<Fortran::parser::Label>(stmt.t));
5094 void genFIR(const Fortran::parser::PauseStmt &stmt) {
5095 genPauseStatement(*this, stmt);
5099 void genFIR(const Fortran::parser::FailImageStmt &stmt) {
5104 void genFIR(const Fortran::parser::StopStmt &stmt) {
5105 genStopStatement(*this, stmt);
5108 void genFIR(const Fortran::parser::ReturnStmt &stmt) {
5122 if (stmt.v) {
5131 Fortran::semantics::GetExpr(*stmt.v);
5209 eval.visit([&](const auto &stmt) { genFIR(stmt); });
5831 void analyzeExplicitSpace(const Fortran::parser::ForallAssignmentStmt &stmt) {
5833 stmt.u);
5887 void analyzeExplicitSpace(const Fortran::parser::MaskedElsewhereStmt &stmt) {
5889 std::get<Fortran::parser::LogicalExpr>(stmt.t));
5899 void analyzeExplicitSpace(const Fortran::parser::WhereStmt &stmt) {
5901 std::get<Fortran::parser::LogicalExpr>(stmt.t));
5905 std::get<Fortran::parser::AssignmentStmt>(stmt.t).typedAssignment->v;