similar to: [LLVMdev] Compile function with limited set of registers? Jump to another function?

Displaying 20 results from an estimated 7000 matches similar to: "[LLVMdev] Compile function with limited set of registers? Jump to another function?"

2011 Jan 31
0
[LLVMdev] Compile function with limited set of registers? Jump to another function?
Thanks, that's a good idea - I'll have a look through the VMKit source. -- James On 31 January 2011 21:39, Joshua Warner <joshuawarner32 at gmail.com> wrote: > Hi James, > > I see the problem now. You might look at VMKit (a Java VM build with the > LLVM JIT compiler) - I would expect it uses a similar method for resolving > interface calls (the method, if I
2011 Jan 31
1
[LLVMdev] Fw: Compile function with limited set of registers? Jump to another function?
Forgot to cc the list. > >----- Forwarded Message ---- >From: Samuel Crow <samuraileumas at yahoo.com> >To: James Williams <junk at giantblob.com> >Sent: Mon, January 31, 2011 4:27:45 PM >Subject: Re: [LLVMdev] Compile function with limited set of registers? Jump to >another function? > > >Hi James, > > >If you're looking for a way to
2011 Feb 02
1
[LLVMdev] Compile function with limited set of registers? Jump to another function?
Hi James, Joshua is right, what you're trying to accomplish is quite known in the Java VM world ( http://domino.research.ibm.com/comm/research_people.nsf/pages/dgrove.oopsla01.html ). In order to express the "thunk" code in LLVM you need a full control of how registers are used (because otherwise they would mess up with the arguments). I haven't investigated enough to know if
2011 Jan 25
0
[LLVMdev] Compile function with limited set of registers? Jump to another function?
Hi, Can anyone tell me, is it possible to express in LLVM IR: - that, for a specific function, register allocator can use only limited set of registers? (specifically, cannot touch any registers that might contain parameters) - that stack can't be touched? (or at least must balance on exit from thunk) - jump, not call, to another function leaving any received parameters unchanged in
2012 Nov 02
4
[LLVMdev] linker warnings in Linking CXX executable Debug/AsanTest
Nick, Have you noticed that llvm/clang svn produces the following linker warnings on 'make check-all'? Linking CXX executable Debug/AsanTest ld: warning: direct access in llvm::convertible_fwd_ostream::~convertible_fwd_ostream() to global weak symbol vtable for llvm::convertible_fwd_ostream means the weak symbol cannot be overridden at runtime. This was likely caused by different
2014 Oct 09
2
[LLVMdev] PSA: Perfectly forwarding thunks can now be expressed in LLVM IR with musttail and varargs
On 8 Oct 2014, at 18:19, Reid Kleckner <rnk at google.com> wrote: > The one target I know about where varargs are passed differently from normal arguments is aarch64-apple-ios/macosx. After thinking a bit more, I think this forwarding thunk representation works fine even on that target. Typically a forwarding thunk is called indirectly, or at least through a bitcast, so the LLVM IR call
2012 Nov 02
0
[LLVMdev] linker warnings in Linking CXX executable Debug/AsanTest
Hi, Jack! On Fri, Nov 2, 2012 at 6:18 PM, Jack Howarth <howarth at bromo.med.uc.edu>wrote: > Nick, > Have you noticed that llvm/clang svn produces the following linker > warnings on > 'make check-all'? > > Linking CXX executable Debug/AsanTest > ld: warning: direct access in > llvm::convertible_fwd_ostream::~convertible_fwd_ostream() to global weak >
2014 Sep 02
2
[LLVMdev] PSA: Perfectly forwarding thunks can now be expressed in LLVM IR with musttail and varargs
I needed this functionality to solve http://llvm.org/PR20653, but it obviously has far more general applications. You can do it like this: define i32 @my_forwarding_thunk(i32 %arg1, i8* %arg2, ...) { ... ; define new_arg1 and new_arg2 %r = musttail call i32 (i32, i8*, ...)* @the_true_target(i32 %new_arg1, i8* %new_arg2, ...) ret i32 %r } declare i32 @the_true_target(i32, i8*, ...) The
2010 Jul 20
2
[LLVMdev] Fwd: Building VMKit
On Tue, Jul 20, 2010 at 9:52 AM, nicolas geoffray < nicolas.geoffray at gmail.com> wrote: > On Tue, Jul 20, 2010 at 5:35 PM, Joshua Warner <joshuawarner32 at gmail.com>wrote: > >> Hi Nicolas, >> >> I plan on using the Avian GC (which is a precise, generational >> collector). >> > > OK - Great! > > >> Eventually, I'd like to
2010 Jul 20
0
[LLVMdev] Fwd: Building VMKit
On Tue, Jul 20, 2010 at 6:36 PM, Joshua Warner <joshuawarner32 at gmail.com>wrote: > Sure, that's one major strength of LLVM: we could decide on a runtime >> function (CallVirtualMethod) that will get lowered depending on the >> underlying VM. I don't see any difficulties in accomplishing this. >> > > Is it common practice to emit function calls that are
2010 Jul 20
2
[LLVMdev] Fwd: Building VMKit
Hi Nicolas, I plan on using the Avian GC (which is a precise, generational collector). Eventually, I'd like to fully integrate all of the runtime services Avian provides - even integrating the existing Avian JIT compiler, to allow for partially-AOT builds. Avian does indeed have it's own class library, but I would be very surprised if VMKit could compile with them - they are sufficiently
2010 Jul 20
0
[LLVMdev] Fwd: Building VMKit
On Tue, Jul 20, 2010 at 5:35 PM, Joshua Warner <joshuawarner32 at gmail.com>wrote: > Hi Nicolas, > > I plan on using the Avian GC (which is a precise, generational collector). > OK - Great! > Eventually, I'd like to fully integrate all of the runtime services Avian > provides - even integrating the existing Avian JIT compiler, to allow for > partially-AOT
2016 Mar 08
2
RFC: A new ABI for virtual calls, and a change to the virtual call representation in the IR
> On Mar 4, 2016, at 2:48 PM, Peter Collingbourne via llvm-dev <llvm-dev at lists.llvm.org> wrote: > On Mon, Feb 29, 2016 at 1:53 PM, < <mailto:>> wrote: > @A_vtable = {i8*, i8*, i32, i32} {0, @A::rtti, @A::f - (@A_vtable + 16), @A::g - (@A_vtable + 16)} > > There's a subtlety about this aspect of the ABI that I should call attention to. The virtual function
2014 Apr 01
2
[LLVMdev] Proposal: Add a guaranteed tail call marker
Some frontends for LLVM require that LLVM perform tail call optimization (TCO) for correctness. Internally, LLVM refers to TCO of a non-recursive tail call as sibling call optimization, but I'm going to refer to that generically as TCO. Often, functional languages like Scheme have a language-level requirement that TCO occurs for any call in the tail position, and this is usually why users of
2016 Mar 16
2
RFC: A new ABI for virtual calls, and a change to the virtual call representation in the IR
On Fri, Mar 4, 2016 at 2:48 PM, Peter Collingbourne <peter at pcc.me.uk> wrote: > On Mon, Feb 29, 2016 at 1:53 PM, <> wrote: >> >> @A_vtable = {i8*, i8*, i32, i32} {0, @A::rtti, @A::f - (@A_vtable + 16), >> @A::g - (@A_vtable + 16)} >> > > There's a subtlety about this aspect of the ABI that I should call > attention to. The virtual function
2010 Jul 20
2
[LLVMdev] Fwd: Building VMKit
Hi Nicolas, Thanks for all your help, but if 64-bit systems are still a big problem, perhaps the VMKit AOT compiler is not the best solution to my problem. I'd like to be able to support the major (if not all all) platforms that the Avian JVM supports - x86 & x86_64 linux & windows, powerpc darwin and ARM. Regards, Joshua On Tue, Jul 20, 2010 at 8:00 AM, nicolas geoffray <
2010 Jul 20
4
[LLVMdev] Fwd: Building VMKit
Hi Minas, I tried recompiling Classpath with -fno-omit-frame-pointer, and now, instead of printing an error message, j3 just segfaults in "j3::JnjvmClassLoader::loadClassFromAsciiz(char const*, bool, bool) ()" I ran llcj under strace and found that it is not even opening the input or output files, but is otherwise running normally. Updating to the latest SVN version (revision 108831)
2015 May 31
4
[LLVMdev] Hash Table Virtual Calls with Conflict Resolution Stubs
Hi everyone, I'm the developer of the Loci programming language ( http://loci-lang.org ), for which the compiler is a front-end for LLVM. I would like to say that LLVM has been extremely useful for the development of the compiler and so thank you everyone for building this amazing system. ---- Virtual Method Calls ---- While most aspects of the language map well onto LLVM IR, it seems
2017 Jan 05
2
RFC: LLD range extension thunks
Hello Rui, Thanks for the comments - Synthetic sections and rewriting relocations I think that this would definitely be worth trying. It should remove the need for thunks to be represented in the core data structures, and would allow . It would also mean that we wouldn't have to associate symbols with thunks as the relocations would directly target the thunks. ARM interworking makes reusing
2010 Jul 19
3
[LLVMdev] Building VMKit
Sure: I'm on 64-bit Ubuntu Linux 10.04 with gcc 4.4.3. I followed the instructions on http://vmkit.llvm.org/get_started.html, as near as I can tell. I configured llvm with the default configuration: ./configure I configured vmkit with: ./configure --with-llvmsrc=/home/jowarner/code/llvm/ --with-llvmobj=/home/jowarner/code/llvm/ --with-gnu-classpath-glibj=/usr/share/classpath/glibj.zip