Debug Info: clean up usage of Verify.

No functionality change.
It should suffice to check the type of a debug info metadata, instead of
calling Verify. For cases where we know the type of a DI metadata, use
assert.

Also update testing cases to make them conform to the format of DI classes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185135 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Manman Ren
2013-06-28 05:43:10 +00:00
parent c084c0945b
commit cbafae6d33
17 changed files with 78 additions and 35 deletions

View File

@ -434,7 +434,10 @@ void GCOVProfiler::emitProfileNotes() {
DIArray SPs = CU.getSubprograms();
for (unsigned i = 0, e = SPs.getNumElements(); i != e; ++i) {
DISubprogram SP(SPs.getElement(i));
if (!SP.Verify()) continue;
assert((!SP || SP.isSubprogram()) &&
"A MDNode in subprograms of a CU should be null or a DISubprogram.");
if (!SP)
continue;
Function *F = SP.getFunction();
if (!F) continue;
@ -483,7 +486,10 @@ bool GCOVProfiler::emitProfileArcs() {
SmallVector<std::pair<GlobalVariable *, MDNode *>, 8> CountersBySP;
for (unsigned i = 0, e = SPs.getNumElements(); i != e; ++i) {
DISubprogram SP(SPs.getElement(i));
if (!SP.Verify()) continue;
assert((!SP || SP.isSubprogram()) &&
"A MDNode in subprograms of a CU should be null or a DISubprogram.");
if (!SP)
continue;
Function *F = SP.getFunction();
if (!F) continue;
if (!Result) Result = true;