mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-26 23:24:34 +00:00
Transforms: Stop using DIDescriptor::is*() and auto-casting
Same as r234255, but for lib/Analysis and lib/Transforms. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@234257 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -487,7 +487,7 @@ void GCOVProfiler::emitProfileNotes() {
|
||||
// this pass over the original .o's as they're produced, or run it after
|
||||
// LTO, we'll generate the same .gcno files.
|
||||
|
||||
DICompileUnit CU(CU_Nodes->getOperand(i));
|
||||
DICompileUnit CU = cast<MDCompileUnit>(CU_Nodes->getOperand(i));
|
||||
std::error_code EC;
|
||||
raw_fd_ostream out(mangleName(CU, "gcno"), EC, sys::fs::F_None);
|
||||
std::string EdgeDestinations;
|
||||
@ -495,9 +495,7 @@ void GCOVProfiler::emitProfileNotes() {
|
||||
DIArray SPs = CU.getSubprograms();
|
||||
unsigned FunctionIdent = 0;
|
||||
for (unsigned i = 0, e = SPs.getNumElements(); i != e; ++i) {
|
||||
DISubprogram SP(SPs.getElement(i));
|
||||
assert((!SP || SP.isSubprogram()) &&
|
||||
"A MDNode in subprograms of a CU should be null or a DISubprogram.");
|
||||
DISubprogram SP = cast_or_null<MDSubprogram>(SPs.getElement(i));
|
||||
if (!SP)
|
||||
continue;
|
||||
|
||||
@ -577,13 +575,11 @@ bool GCOVProfiler::emitProfileArcs() {
|
||||
bool Result = false;
|
||||
bool InsertIndCounterIncrCode = false;
|
||||
for (unsigned i = 0, e = CU_Nodes->getNumOperands(); i != e; ++i) {
|
||||
DICompileUnit CU(CU_Nodes->getOperand(i));
|
||||
DICompileUnit CU = cast<MDCompileUnit>(CU_Nodes->getOperand(i));
|
||||
DIArray SPs = CU.getSubprograms();
|
||||
SmallVector<std::pair<GlobalVariable *, MDNode *>, 8> CountersBySP;
|
||||
for (unsigned i = 0, e = SPs.getNumElements(); i != e; ++i) {
|
||||
DISubprogram SP(SPs.getElement(i));
|
||||
assert((!SP || SP.isSubprogram()) &&
|
||||
"A MDNode in subprograms of a CU should be null or a DISubprogram.");
|
||||
DISubprogram SP = cast_or_null<MDSubprogram>(SPs.getElement(i));
|
||||
if (!SP)
|
||||
continue;
|
||||
Function *F = SP.getFunction();
|
||||
@ -859,7 +855,7 @@ Function *GCOVProfiler::insertCounterWriteout(
|
||||
NamedMDNode *CU_Nodes = M->getNamedMetadata("llvm.dbg.cu");
|
||||
if (CU_Nodes) {
|
||||
for (unsigned i = 0, e = CU_Nodes->getNumOperands(); i != e; ++i) {
|
||||
DICompileUnit CU(CU_Nodes->getOperand(i));
|
||||
DICompileUnit CU = cast<MDCompileUnit>(CU_Nodes->getOperand(i));
|
||||
std::string FilenameGcda = mangleName(CU, "gcda");
|
||||
uint32_t CfgChecksum = FileChecksums.empty() ? 0 : FileChecksums[i];
|
||||
Builder.CreateCall3(StartFile,
|
||||
@ -867,7 +863,7 @@ Function *GCOVProfiler::insertCounterWriteout(
|
||||
Builder.CreateGlobalStringPtr(ReversedVersion),
|
||||
Builder.getInt32(CfgChecksum));
|
||||
for (unsigned j = 0, e = CountersBySP.size(); j != e; ++j) {
|
||||
DISubprogram SP(CountersBySP[j].second);
|
||||
DISubprogram SP = cast_or_null<MDSubprogram>(CountersBySP[j].second);
|
||||
uint32_t FuncChecksum = Funcs.empty() ? 0 : Funcs[j]->getFuncChecksum();
|
||||
Builder.CreateCall5(
|
||||
EmitFunction, Builder.getInt32(j),
|
||||
|
Reference in New Issue
Block a user