#define LLVM_CODEGEN_LEXICALSCOPES_H
#include "llvm/Metadata.h"
+#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallVector.h"
LexicalScope *findLexicalScope(DebugLoc DL);
/// getAbstractScopesList - Return a reference to list of abstract scopes.
- SmallVector<LexicalScope *, 4> &getAbstractScopesList() {
+ ArrayRef<LexicalScope *> getAbstractScopesList() const {
return AbstractScopesList;
}
collectVariableInfo(MF, ProcessedVars);
// Construct abstract scopes.
- SmallVector<LexicalScope *, 4> &AList = LScopes.getAbstractScopesList();
- for (SmallVector<LexicalScope *, 4>::iterator AI = AList.begin(),
- AE = AList.end(); AI != AE; ++AI) {
- DISubprogram SP((*AI)->getScopeNode());
+ ArrayRef<LexicalScope *> AList = LScopes.getAbstractScopesList();
+ for (unsigned i = 0, e = AList.size(); i != e; ++i) {
+ LexicalScope *AScope = AList[i];
+ DISubprogram SP(AScope->getScopeNode());
if (SP.Verify()) {
// Collect info for variables that were optimized out.
StringRef FName = SP.getLinkageName();
}
}
}
- if (ProcessedSPNodes.count((*AI)->getScopeNode()) == 0)
- constructScopeDIE(*AI);
+ if (ProcessedSPNodes.count(AScope->getScopeNode()) == 0)
+ constructScopeDIE(AScope);
}
DIE *CurFnDIE = constructScopeDIE(LScopes.getCurrentFunctionScope());