[OPENMP] Avoid useless recursive calls in getDSA if it is called in a loop, NFC

llvm-svn: 265123
This commit is contained in:
Dmitry Polukhin 2016-04-01 09:52:30 +00:00
parent b876c72bcc
commit dc78bc8209
1 changed files with 5 additions and 5 deletions

View File

@ -141,7 +141,7 @@ private:
typedef SmallVector<SharingMapTy, 8>::reverse_iterator reverse_iterator;
DSAVarData getDSA(StackTy::reverse_iterator Iter, ValueDecl *D);
DSAVarData getDSA(StackTy::reverse_iterator& Iter, ValueDecl *D);
/// \brief Checks if the variable is a local for OpenMP region.
bool isOpenMPLocal(VarDecl *D, StackTy::reverse_iterator Iter);
@ -396,7 +396,7 @@ static ValueDecl *getCanonicalDecl(ValueDecl *D) {
return D;
}
DSAStackTy::DSAVarData DSAStackTy::getDSA(StackTy::reverse_iterator Iter,
DSAStackTy::DSAVarData DSAStackTy::getDSA(StackTy::reverse_iterator& Iter,
ValueDecl *D) {
D = getCanonicalDecl(D);
auto *VD = dyn_cast<VarDecl>(D);
@ -505,7 +505,7 @@ DSAStackTy::DSAVarData DSAStackTy::getDSA(StackTy::reverse_iterator Iter,
// For constructs other than task, if no default clause is present, these
// variables inherit their data-sharing attributes from the enclosing
// context.
return getDSA(std::next(Iter), D);
return getDSA(++Iter, D);
}
Expr *DSAStackTy::addUniqueAligned(ValueDecl *D, Expr *NewDE) {
@ -722,7 +722,7 @@ DSAStackTy::DSAVarData DSAStackTy::hasDSA(ValueDecl *D, ClausesPredicate CPred,
bool FromParent) {
D = getCanonicalDecl(D);
auto StartI = std::next(Stack.rbegin());
auto EndI = std::prev(Stack.rend());
auto EndI = Stack.rend();
if (FromParent && StartI != EndI) {
StartI = std::next(StartI);
}
@ -742,7 +742,7 @@ DSAStackTy::hasInnermostDSA(ValueDecl *D, ClausesPredicate CPred,
DirectivesPredicate DPred, bool FromParent) {
D = getCanonicalDecl(D);
auto StartI = std::next(Stack.rbegin());
auto EndI = std::prev(Stack.rend());
auto EndI = Stack.rend();
if (FromParent && StartI != EndI) {
StartI = std::next(StartI);
}