File tree Expand file tree Collapse file tree 1 file changed +3
-12
lines changed
Expand file tree Collapse file tree 1 file changed +3
-12
lines changed Original file line number Diff line number Diff line change @@ -4868,25 +4868,16 @@ void Fortran::lower::genEarlyReturnInOpenACCLoop(fir::FirOpBuilder &builder,
48684868
48694869uint64_t Fortran::lower::getLoopCountForCollapseAndTile (
48704870 const Fortran::parser::AccClauseList &clauseList) {
4871- uint64_t collapseLoopCount = 1 ;
4871+ uint64_t collapseLoopCount = getLoopCountForCollapse (clauseList) ;
48724872 uint64_t tileLoopCount = 1 ;
48734873 for (const Fortran::parser::AccClause &clause : clauseList.v ) {
4874- if (const auto *collapseClause =
4875- std::get_if<Fortran::parser::AccClause::Collapse>(&clause.u )) {
4876- const parser::AccCollapseArg &arg = collapseClause->v ;
4877- const auto &collapseValue{std::get<parser::ScalarIntConstantExpr>(arg.t )};
4878- collapseLoopCount = *Fortran::semantics::GetIntValue (collapseValue);
4879- }
48804874 if (const auto *tileClause =
48814875 std::get_if<Fortran::parser::AccClause::Tile>(&clause.u )) {
48824876 const parser::AccTileExprList &tileExprList = tileClause->v ;
4883- const std::list<parser::AccTileExpr> &listTileExpr = tileExprList.v ;
4884- tileLoopCount = listTileExpr.size ();
4877+ tileLoopCount = tileExprList.v .size ();
48854878 }
48864879 }
4887- if (tileLoopCount > collapseLoopCount)
4888- return tileLoopCount;
4889- return collapseLoopCount;
4880+ return tileLoopCount > collapseLoopCount ? tileLoopCount : collapseLoopCount;
48904881}
48914882
48924883uint64_t Fortran::lower::getLoopCountForCollapse (
You can’t perform that action at this time.
0 commit comments