improved in/out analysis
This commit is contained in:
@@ -992,6 +992,8 @@ static FuncInfo* createNewFuction(const string& funcName, SgStatement *st, SgSta
|
||||
currInfo->doNotInline = true;
|
||||
}
|
||||
|
||||
currInfo->funcParams.completeParams();
|
||||
|
||||
return currInfo;
|
||||
}
|
||||
|
||||
|
||||
@@ -37,10 +37,17 @@ struct FuncParam
|
||||
parametersT.resize(numPar);
|
||||
inout_types.resize(numPar);
|
||||
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
|
||||
{
|
||||
if (num >= countOfPars)
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
#pragma once
|
||||
|
||||
#define VERSION_SPF "2330"
|
||||
#define VERSION_SPF "2331"
|
||||
|
||||
Reference in New Issue
Block a user