@@ -456,6 +456,9 @@ static void jl_strip_llvm_debug(Module *m, bool all_meta, LineNumberAnnotatedWri
456456 if (AAW)
457457 AAW->addDebugLoc (&inst, inst.getDebugLoc ());
458458 inst.setDebugLoc (DebugLoc ());
459+ #if JL_LLVM_VERSION >= 190000
460+ inst.dropDbgRecords ();
461+ #endif
459462 }
460463 if (deletelast) {
461464 deletelast->eraseFromParent ();
@@ -869,6 +872,8 @@ static void jl_dump_asm_internal(
869872 SourceMgr SrcMgr;
870873
871874 MCTargetOptions Options;
875+ Options.AsmVerbose = true ;
876+ Options.MCUseDwarfDirectory = MCTargetOptions::EnableDwarfDirectory;
872877 std::unique_ptr<MCAsmInfo> MAI (
873878 TheTarget->createMCAsmInfo (*TheTarget->createMCRegInfo (TheTriple.str ()), TheTriple.str (), Options));
874879 assert (MAI && " Unable to create target asm info!" );
@@ -1237,6 +1242,11 @@ jl_value_t *jl_dump_function_asm_impl(jl_llvmf_dump_t* dump, char emit_mc, const
12371242 });
12381243 auto TMBase = jl_ExecutionEngine->cloneTargetMachine ();
12391244 LLVMTargetMachine *TM = static_cast <LLVMTargetMachine*>(TMBase.get ());
1245+ MCTargetOptions &Options = TM->Options .MCOptions ;
1246+ Options.AsmVerbose = true ;
1247+ Options.MCUseDwarfDirectory = MCTargetOptions::EnableDwarfDirectory;
1248+ if (binary)
1249+ Options.ShowMCEncoding = true ;
12401250 legacy::PassManager PM;
12411251 addTargetPasses (&PM, TM->getTargetTriple (), TM->getTargetIRAnalysis ());
12421252 if (emit_mc) {
@@ -1266,8 +1276,8 @@ jl_value_t *jl_dump_function_asm_impl(jl_llvmf_dump_t* dump, char emit_mc, const
12661276 OutputAsmDialect = 1 ;
12671277 MCInstPrinter *InstPrinter = TM->getTarget ().createMCInstPrinter (
12681278 jl_ExecutionEngine->getTargetTriple (), OutputAsmDialect, MAI, MII, MRI);
1269- std::unique_ptr<MCAsmBackend> MAB (TM->getTarget ().createMCAsmBackend (
1270- STI, MRI, TM-> Options . MCOptions ));
1279+ std::unique_ptr<MCAsmBackend> MAB (TM->getTarget ().createMCAsmBackend (
1280+ STI, MRI, Options));
12711281 std::unique_ptr<MCCodeEmitter> MCE;
12721282 if (binary) { // enable MCAsmStreamer::AddEncodingComment printing
12731283 MCE.reset (TM->getTarget ().createMCCodeEmitter (MII, *Context));
@@ -1281,8 +1291,7 @@ jl_value_t *jl_dump_function_asm_impl(jl_llvmf_dump_t* dump, char emit_mc, const
12811291 std::move (MAB), false
12821292#endif
12831293 ));
1284- std::unique_ptr<AsmPrinter> Printer (
1285- TM->getTarget ().createAsmPrinter (*TM, std::move (S)));
1294+ AsmPrinter *Printer = TM->getTarget ().createAsmPrinter (*TM, std::move (S));
12861295#if JL_LLVM_VERSION >= 190000
12871296 Printer->addDebugHandler (
12881297 std::make_unique<LineNumberPrinterHandler>(*Printer, debuginfo));
@@ -1293,7 +1302,7 @@ jl_value_t *jl_dump_function_asm_impl(jl_llvmf_dump_t* dump, char emit_mc, const
12931302#endif
12941303 if (!Printer)
12951304 return jl_an_empty_string;
1296- PM.add (Printer. release () );
1305+ PM.add (Printer);
12971306 PM.add (createFreeMachineFunctionPass ());
12981307 TSM->withModuleDo ([&](Module &m){ PM.run (m); });
12991308 }
0 commit comments