From a127a092e4a2493ca79c3af4b02379ae8434dcc6 Mon Sep 17 00:00:00 2001 From: Mikhail Kocharmin Date: Wed, 6 Nov 2024 22:19:21 +0300 Subject: [PATCH] replace_dist_arrays_in_io: insert PROCESS_PRIVATE directives --- .../replace_dist_arrays_in_io.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/sapfor/experts/Sapfor_2017/_src/Transformations/replace_dist_arrays_in_io.cpp b/sapfor/experts/Sapfor_2017/_src/Transformations/replace_dist_arrays_in_io.cpp index da6cfaa..81a6e71 100644 --- a/sapfor/experts/Sapfor_2017/_src/Transformations/replace_dist_arrays_in_io.cpp +++ b/sapfor/experts/Sapfor_2017/_src/Transformations/replace_dist_arrays_in_io.cpp @@ -445,6 +445,24 @@ void replaceDistributedArraysInIO(std::vector& regions, suffix = "_io_m"; auto origCopy = copyArray(place, array_to_copy, linesByFile.second, suffix + to_string(region->GetId()), fileName, newDeclsToInclude, copied); + SgStatement* decl = SgStatement::getStatementByFileAndLine(place.first, place.second); + + if(decl) + decl = decl->lexNext(); + + if(decl) + { + string dir_str; + if (decl->comments()) + { + string str_comment = string(decl->comments()); + if(str_comment.size() && str_comment.back() != '\n') + dir_str += "\n"; + } + + dir_str += "!$SPF ANALYSIS(PROCESS_PRIVATE(" + string(origCopy.second->identifier()) + "))\n"; + decl->addComment(dir_str.c_str()); + } created_copies.insert({ array_to_copy, origCopy.second }); } }