[C++11] Change DebugInfoFinder to use range-based loops

Also changes the iterators to return actual DI type over MDNode.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204130 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Alon Mishne
2014-03-18 09:41:07 +00:00
parent fabbbc96ca
commit 086494730d
8 changed files with 66 additions and 74 deletions

View File

@ -154,10 +154,7 @@ void llvm::CloneFunctionInto(Function *NewFunc, const Function *OldFunc,
// Find the MDNode which corresponds to the DISubprogram data that described F.
static MDNode* FindSubprogram(const Function *F, DebugInfoFinder &Finder) {
for (DebugInfoFinder::iterator I = Finder.subprogram_begin(),
E = Finder.subprogram_end();
I != E; ++I) {
DISubprogram Subprogram(*I);
for (DISubprogram Subprogram : Finder.subprograms()) {
if (Subprogram.describes(F)) return Subprogram;
}
return NULL;
@ -190,10 +187,7 @@ static void CloneDebugInfoMetadata(Function *NewFunc, const Function *OldFunc,
VMap[OldFunc] = NewFunc;
DISubprogram NewSubprogram(MapValue(OldSubprogramMDNode, VMap));
for (DebugInfoFinder::iterator CUIter = Finder.compile_unit_begin(),
CUEnd = Finder.compile_unit_end(); CUIter != CUEnd; ++CUIter) {
DICompileUnit CU(*CUIter);
for (DICompileUnit CU : Finder.compile_units()) {
DIArray Subprograms(CU.getSubprograms());
// If the compile unit's function list contains the old function, it should