improved in/out analysis

This commit is contained in:
ALEXks
2024-05-11 16:45:15 +03:00
parent 00ca5fbfdf
commit b0d4a1cac5
3 changed files with 11 additions and 2 deletions

View File

@@ -992,6 +992,8 @@ static FuncInfo* createNewFuction(const string& funcName, SgStatement *st, SgSta
currInfo->doNotInline = true; currInfo->doNotInline = true;
} }
currInfo->funcParams.completeParams();
return currInfo; return currInfo;
} }

View File

@@ -37,10 +37,17 @@ struct FuncParam
parametersT.resize(numPar); parametersT.resize(numPar);
inout_types.resize(numPar); inout_types.resize(numPar);
std::fill(parametersT.begin(), parametersT.end(), NONE_T); std::fill(parametersT.begin(), parametersT.end(), NONE_T);
std::fill(inout_types.begin(), inout_types.end(), IN_BIT); std::fill(inout_types.begin(), inout_types.end(), 0);
} }
} }
void completeParams()
{
for (int z = 0; z < countOfPars; ++z)
if (inout_types[z] == 0)
inout_types[z] = IN_BIT;
}
bool isArgIn(const int num) const bool isArgIn(const int num) const
{ {
if (num >= countOfPars) if (num >= countOfPars)

View File

@@ -1,3 +1,3 @@
#pragma once #pragma once
#define VERSION_SPF "2330" #define VERSION_SPF "2331"