Skip to content

Commit 98c921e

Browse files
authored
Fix for ff2314552985df122f2c300d4acc2951a85a1f4e (#39)
1 parent 2b17e02 commit 98c921e

File tree

1 file changed

+79
-0
lines changed

1 file changed

+79
-0
lines changed
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
From ff2314552985df122f2c300d4acc2951a85a1f4e Mon Sep 17 00:00:00 2001
2+
From: Zentrik <[email protected]>
3+
Date: Sun, 19 Jan 2025 11:22:56 +0000
4+
Subject: [PATCH] f6b0555a433cea1d32a6904c120516cd94b8f3db
5+
6+
---
7+
src/disasm.cpp | 21 ++-------------------
8+
1 file changed, 2 insertions(+), 19 deletions(-)
9+
10+
diff --git a/src/disasm.cpp b/src/disasm.cpp
11+
index f705930ac5..25b0e7995b 100644
12+
--- a/src/disasm.cpp
13+
+++ b/src/disasm.cpp
14+
@@ -100,7 +100,6 @@
15+
#include <llvm/CodeGen/AsmPrinter.h>
16+
#include <llvm/CodeGen/AsmPrinterHandler.h>
17+
#include <llvm/CodeGen/CodeGenTargetMachineImpl.h>
18+
-#include <llvm/CodeGen/DebugHandlerBase.h>
19+
#include <llvm/CodeGen/MachineModuleInfo.h>
20+
#include <llvm/CodeGen/Passes.h>
21+
#include <llvm/CodeGen/TargetPassConfig.h>
22+
@@ -1150,11 +1149,7 @@ addPassesToGenerateCode(CodeGenTargetMachineImpl *TM, PassManagerBase &PM) {
23+
return &MMIWP->getMMI().getContext();
24+
}
25+
26+
-#if JL_LLVM_VERSION >= 190000
27+
-class LineNumberPrinterHandler : public DebugHandlerBase {
28+
-#else
29+
class LineNumberPrinterHandler : public AsmPrinterHandler {
30+
-#endif
31+
MCStreamer &S;
32+
LineNumberAnnotatedWriter LinePrinter;
33+
std::string Buffer;
34+
@@ -1163,11 +1158,7 @@ class LineNumberPrinterHandler : public AsmPrinterHandler {
35+
36+
public:
37+
LineNumberPrinterHandler(AsmPrinter &Printer, const char *debuginfo)
38+
- :
39+
-#if JL_LLVM_VERSION >= 190000
40+
- DebugHandlerBase(&Printer),
41+
-#endif
42+
- S(*Printer.OutStreamer),
43+
+ : S(*Printer.OutStreamer),
44+
LinePrinter("; ", true, debuginfo),
45+
RawStream(Buffer),
46+
Stream(RawStream) {}
47+
@@ -1186,20 +1177,12 @@ public:
48+
//virtual void beginModule(Module *M) override {}
49+
virtual void endModule() override {}
50+
/// note that some AsmPrinter implementations may not call beginFunction at all
51+
-#if JL_LLVM_VERSION >= 190000
52+
- virtual void beginFunctionImpl(const MachineFunction *MF) override {
53+
-#else
54+
virtual void beginFunction(const MachineFunction *MF) override {
55+
-#endif
56+
LinePrinter.emitFunctionAnnot(&MF->getFunction(), Stream);
57+
emitAndReset();
58+
}
59+
//virtual void markFunctionEnd() override {}
60+
-#if JL_LLVM_VERSION >= 190000
61+
- virtual void endFunctionImpl(const MachineFunction *MF) override {
62+
-#else
63+
virtual void endFunction(const MachineFunction *MF) override {
64+
-#endif
65+
LinePrinter.emitEnd(Stream);
66+
emitAndReset();
67+
}
68+
@@ -1285,7 +1268,7 @@ jl_value_t *jl_dump_function_asm_impl(jl_llvmf_dump_t* dump, char emit_mc, const
69+
std::unique_ptr<AsmPrinter> Printer(
70+
TM->getTarget().createAsmPrinter(*TM, std::move(S)));
71+
#if JL_LLVM_VERSION >= 190000
72+
- Printer->addDebugHandler(
73+
+ Printer->addAsmPrinterHandler(
74+
std::make_unique<LineNumberPrinterHandler>(*Printer, debuginfo));
75+
#else
76+
Printer->addAsmPrinterHandler(AsmPrinter::HandlerInfo(
77+
--
78+
2.34.1
79+

0 commit comments

Comments
 (0)