private_removing: add check for indirect array usage + structural code changes #12

Merged
Alexander_KS merged 1 commits from private_removing into master 2023-10-26 08:36:48 +00:00
4 changed files with 500 additions and 236 deletions
Showing only changes of commit 78a05d1a53 - Show all commits

View File

@@ -10,8 +10,8 @@
// fixedDimensions is used for comparison of DEF and USE statements
struct PrivateToRemove {
LoopGraph* loop;
SgSymbol* var;
std::vector<std::pair<SgAssignStmt*, SgAssignStmt*>> defUseStmtsPairs;
SgSymbol* varSymbol;
std::vector<std::pair<SgAssignStmt*, SgStatement*>> defUseStmtsPairs;
std::vector<bool> fixedDimensions;
};

View File

@@ -101,6 +101,7 @@ enum typeMessage { WARR, ERROR, NOTE };
// 22 "cannot transform ..."
// 23 "cannot transform ..."
// 24 "loop on line %d was removed"
// 25 "Cannot remove private var '%s' - it is used in the call of function '%s'"
// 30xx PARALLEL GROUP
// 01 "add across dependencies by array '%s' to loop"
@@ -531,7 +532,7 @@ static const wchar_t *R197 = L"R197:";
//2024
static const wchar_t *R198 = L"R198:%d";
//2025
static const wchar_t *R203 = L"R203:%s%d";
static const wchar_t *R203 = L"R203:%s%s";
//3001
static const wchar_t *R108 = L"R108:%s";

View File

@@ -243,7 +243,7 @@ R197 = "Преобразование не может быть выполнено
//2024
R198 = "Цикл на строке %d был удалён"
//2025
R203 = "Нельзя удалить приватную переменную '%s' - она используется в вызове функции на строке %d"
R203 = "Нельзя удалить приватную переменную '%s' - она используется в вызове функции %s"
//3001
R108 = "Добавлена across-зависимость к массиву '%s' в цикле"