similar to: Can I use the JIT interface to create trampolines? (For functions and global values)

Displaying 20 results from an estimated 3000 matches similar to: "Can I use the JIT interface to create trampolines? (For functions and global values)"

2019 Jan 15
2
Function - replaceAllUsesWith
I could actually track down the cause of the problem: mainModue->getFunction("puts")->replaceAllUsesWith( llvm::ConstantExpr::getPointerCast( llvm::ConstantInt::get(llvm::IntegerType::get(context, 64), 0xF), mainModue->getFunction("puts")->getType() ) ); The problem is the line where I receive the type of the function "puts", it will crash the application
2019 Jan 15
2
Function - replaceAllUsesWith
On Mon, Jan 14, 2019 at 3:21 AM Gaier, Bjoern via llvm-dev <llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>> wrote: Hello LLVM-World, currently I play around with a „llvm::Module” and an external function defined there “puts”. Normally this function gets resolved in the JIT-Process but I wonder about two things: 1. Can I resolve the function already in this step? I
2019 Jan 15
2
Function - replaceAllUsesWith
What does that mean for my code and the idea? I'm a really unexperienced LLVM user... -----Original Message----- From: Tim Northover <t.p.northover at gmail.com> Sent: Dienstag, 15. Januar 2019 15:19 To: Gaier, Bjoern <Bjoern.Gaier at horiba.com> Cc: Stefan Gränitz <stefan.graenitz at gmail.com>; Mehdi AMINI <joker.eph at gmail.com>; llvm-dev <llvm-dev at
2019 Jan 15
2
Function - replaceAllUsesWith
Hey Tim, Sadly I have currently only a release build of LLVM7 with no assertions turned on... So I just know that the line of code I posted is crashing. No output, no anything....just...Crash... Kind greetings Björn -----Original Message----- From: Tim Northover <t.p.northover at gmail.com> Sent: Dienstag, 15. Januar 2019 13:28 To: Gaier, Bjoern <Bjoern.Gaier at horiba.com> Cc:
2019 Jan 15
2
Function - replaceAllUsesWith
Hey Stefan, The function looks like this: “; Function Attrs: nounwind declare i32 @puts(i8* nocapture readonly) local_unnamed_addr #2” I wondered if I can do the external symbol resolution without using the JIT and RuntimeDyld (for now). For me it sounds like something that could be possible… Kind greetings Björn From: Stefan Gränitz <stefan.graenitz at gmail.com> Sent: Dienstag, 15.
2019 Jan 14
3
Function - replaceAllUsesWith
Hello LLVM-World, currently I play around with a "llvm::Module" and an external function defined there "puts". Normally this function gets resolved in the JIT-Process but I wonder about two things: 1. Can I resolve the function already in this step? I used "replaceAllUsesWith" and passed a "llvm::ConstantInt" to the function. But this didn't
2018 Dec 13
2
Setting a function in a module to extern
But in my module this function already exist… I first want to delete it but without also deleting the calls to it… From: Boldizsar.Palotas at esa.int <Boldizsar.Palotas at esa.int> Sent: Donnerstag, 13. Dezember 2018 10:53 To: Gaier, Bjoern <Bjoern.Gaier at horiba.com> Cc: LLVM Developers Mailing List <llvm-dev at lists.llvm.org> Subject: Re: [llvm-dev] Setting a function in a
2020 Aug 24
2
ORC JIT - Incorrect support for COFF files?
Hey Lang and Stefan, Using dllimport on my “planschiValue” actually worked! But I have no idea why, because the relocation is still a REL32 if I use dumpbin… So how is it possible for that to work? However… when I load an COFF object file, am I able to change the relocations to dllimport somehow? I honestly can’t imagine how this would work since the machine code is probably already adjusted to
2020 Aug 25
2
ORC JIT - Incorrect support for COFF files?
Hey Lang, That is really cool :D Is the creation of that table a Windows thingy or is this the way the LLVM handles it? Also… since it is COFF related – the never ending story of “finding my global constructors” first of all: Yes! I tried using the “initialize” function of LLVMJIT – however this only worked when I was loading a Module. When I added the object file (from the same source) the
2018 Dec 13
2
Crashes when adding VisualStduio generated object files to the JIT process
Hello everyone, I'm using the LLVM for a JIT-Client under Windows 64bit. I tried various stuff with it and noticed, that object files or libraries which are generated by the Visual Studio Compiler 2015 or 2017 will break the jitted code, when they are added to the process. I opened a bug for this a while ago (https://bugs.llvm.org/show_bug.cgi?id=39447) - sadly this bug will become a stopper
2019 Nov 25
2
Attempting EuroLLVM2020 as a beginner
Hi Hal, Who would I send those suggestions to which I would like to see - or feedback in general? Kind greetings Björn From: Finkel, Hal J. <hfinkel at anl.gov> Sent: 22 November 2019 17:10 To: Gaier, Bjoern <Bjoern.Gaier at horiba.com>; llvm-dev at lists.llvm.org Subject: Re: [llvm-dev] Attempting EuroLLVM2020 as a beginner Hi, Björn, It is a specific goal of the LLVM Foundation
2020 Mar 27
3
Exceptions on Windows & MSVC
Here is a wiki page and git repo with an implementation of SEH that passes all the tests for x86. We're looking for feedback before putting a patch on Phabricator. https://github.com/tentzen/llvm-project https://github.com/tentzen/llvm-project/wiki On Mon, Nov 18, 2019 at 10:59 PM Gaier, Bjoern <Bjoern.Gaier at horiba.com> wrote: > Thank you for this Aaron! > > > > In
2018 Nov 12
2
JIT-Client for Shared Memory
Hi Bjoern, For single object files you can override the needsToReserveAllocationSpace method that is inherited from llvm::RuntimeDyld::MemoryManager (make it return true) and then implement the reserveAllocationSpace method to allocate memory for all sections up front. There is no easy way to do this for multiple object files. I think you would have to mimic the memory size calculations
2020 Mar 18
4
[ORC JIT] -Resolving cross references in a multi-process scenario
Hi Bjoern, Thanks for your patience. The good news is that there is a neater way to do this: ExecutionSession's lookup methods take a orc::SymbolState parameter which describes the state that symbols must reach before a query can return (See https://github.com/llvm/llvm-project/blob/d1a7bfca74365c6523e647fcedd84f8fa1972dd3/llvm/include/llvm/ExecutionEngine/Orc/Core.h#L1273).In your case you
2020 Aug 21
2
ORC JIT - Incorrect support for COFF files?
Hi Björn I made a workaround for this specific issue a long time ago for the Projucer C++ JIT Engine. It basically forwards the call to another stub that provides enough space to encode a full 64-bit address. The patch is based on LLVM 3.9, so I guess it won't work out-of-the-box on a recent release, but it may give you enough hints to figure it out on your own:
2018 Nov 02
4
JIT-Client for Shared Memory
Hello everyone, I want to use the LLVM to write a JIT client, that works with shared memory. Currently I proceed as following: I wrote an own class that inherits "RTDyldMemoryManager". The functions "allocateCodeSection" and "allocateDataSection" are allocating local non-shared memory. I store there addresses in a std::vector. When the function
2019 Dec 01
2
Attempting EuroLLVM2020 as a beginner
I received this request off-list: > I would really love seeing presentations or workshops about the JIT. Kinda like the KaldeiscopeJIT tutorials but in a guided way to ask questions and improve understanding about it. Especially for use under windows since this seems to be rather rare. -Hal On 11/26/19 10:49 AM, Hal Finkel wrote: If you have suggestions for content, sending that here is
2019 Jun 27
2
Questions about moving from MCJIT to Orc JIT
Nice! Let me try to answer some questions, Before that I have to mention this is ORC version 2 APIs and this is where the project is moving forward. JITDylib is the symbol table, basically for a JIT Symbol it have an associated materializers, (you can think of it like an entity that generate the address for that symbol), Example: compiler are materializers. So to add symbols to your own JIT you
2019 Sep 25
4
Questions after playing around with KaleidoscopeJIT (With source files)
Hello LLVM people, after finishing Chapter 1 and 2 of the KaleidoscopeJIT tutorial, I started to play around with the code and now, I have even more questions than before. I hope that the people reading this could help me with it, to improve my understanding about the LLVM and the JIT. I have also the source code and binaries (Windows) available but because I don't know how the mailing list
2019 May 08
2
Reuse llvm::ExecutionEngine
Heyho, I can only provide you with a screenshot for the first problem I noticed: [https://media.discordapp.net/attachments/534012750045642783/575369402195640321/unknown.png] This code will crash when calling "eeBuilder.create". But I also looked at what happens if I do reuse the llvm::ExecutionEngine. After the call to "finalizeObject" I use "removeModule" for the