Changeset View
Changeset View
Standalone View
Standalone View
llvm/lib/IR/Verifier.cpp
Show First 20 Lines • Show All 1,050 Lines • ▼ Show 20 Lines | if (N.getRawAssociated()) { | ||||
AssertDI(N.getTag() == dwarf::DW_TAG_array_type, | AssertDI(N.getTag() == dwarf::DW_TAG_array_type, | ||||
"associated can only appear in array type"); | "associated can only appear in array type"); | ||||
} | } | ||||
if (N.getRawAllocated()) { | if (N.getRawAllocated()) { | ||||
AssertDI(N.getTag() == dwarf::DW_TAG_array_type, | AssertDI(N.getTag() == dwarf::DW_TAG_array_type, | ||||
"allocated can only appear in array type"); | "allocated can only appear in array type"); | ||||
} | } | ||||
if (N.getRawRank()) { | |||||
AssertDI(N.getTag() == dwarf::DW_TAG_array_type, | |||||
"rank can only appear in array type"); | |||||
} | |||||
} | } | ||||
void Verifier::visitDISubroutineType(const DISubroutineType &N) { | void Verifier::visitDISubroutineType(const DISubroutineType &N) { | ||||
AssertDI(N.getTag() == dwarf::DW_TAG_subroutine_type, "invalid tag", &N); | AssertDI(N.getTag() == dwarf::DW_TAG_subroutine_type, "invalid tag", &N); | ||||
if (auto *Types = N.getRawTypeArray()) { | if (auto *Types = N.getRawTypeArray()) { | ||||
AssertDI(isa<MDTuple>(Types), "invalid composite elements", &N, Types); | AssertDI(isa<MDTuple>(Types), "invalid composite elements", &N, Types); | ||||
for (Metadata *Ty : N.getTypeArray()->operands()) { | for (Metadata *Ty : N.getTypeArray()->operands()) { | ||||
AssertDI(isType(Ty), "invalid subroutine type ref", &N, Types, Ty); | AssertDI(isType(Ty), "invalid subroutine type ref", &N, Types, Ty); | ||||
▲ Show 20 Lines • Show All 4,851 Lines • Show Last 20 Lines |