similar to: [LLVMdev] Indirect branch instruction

Displaying 20 results from an estimated 50000 matches similar to: "[LLVMdev] Indirect branch instruction"

2007 Jan 11
4
[LLVMdev] Indirect branch instruction
On Jan 11, 2007, at 7:14 AM, Chris Lattner wrote: > On Wed, 10 Jan 2007, Nicolas Geoffray wrote: >> I was looking for an indirect branch instruction in llvm, which would >> not take a BasicBlock as argument, but a value. Reid told me on >> IRC that >> there is no such instruction in llvm. >> >> Is this deliberate? Or did you never face the need of this
2007 Jan 11
0
[LLVMdev] Indirect branch instruction
On Wed, 10 Jan 2007, Nicolas Geoffray wrote: > I was looking for an indirect branch instruction in llvm, which would > not take a BasicBlock as argument, but a value. Reid told me on IRC that > there is no such instruction in llvm. > > Is this deliberate? Or did you never face the need of this instruction > yet? The switch instruction serves the same functional role. In
2007 Jan 11
0
[LLVMdev] Indirect branch instruction
Hi Chris, Hi Eric, Eric van Riet Paap wrote: > On Jan 11, 2007, at 7:14 AM, Chris Lattner wrote: > > >> On Wed, 10 Jan 2007, Nicolas Geoffray wrote: >> >>> I was looking for an indirect branch instruction in llvm, which would >>> not take a BasicBlock as argument, but a value. Reid told me on >>> IRC that >>> there is no such
2007 Jan 13
2
[LLVMdev] Indirect branch instruction
On Thu, 11 Jan 2007, Nicolas Geoffray wrote: >> I think the question is how to branch to a location of which you do >> not have a label. >> > Yes, that was the original question. But actually, for my purpose, > Chris' solution is functional enough. However, I looked into llvm-gcc > code and the switch instruction switches for all possible labels defined > in
2007 Jan 16
2
[LLVMdev] Indirect branch instruction
On Tue, 16 Jan 2007, Nicolas Geoffray wrote: >> Can you give a compilable C function as an example? >> >> > Well I'm not sure on how to do this in C, but in x86 assembly a simple > jmp %eax does it. I don't understand. You're making a claim that the C compiler isn't producing optimal code for some case. Can you give an example of a C function that llvm
2007 Jan 15
2
[LLVMdev] Indirect branch instruction
On Mon, 15 Jan 2007, Nicolas Geoffray wrote: >> statements, but I'm sure there are cases we miss. If so, please let us >> know, so we can add them to lib/Target/README.txt >> >> > Two jumps are executed when using a switch statement for indirect branch: > the first jump goes to the right switch case, the second jumps to the > corresponding > label. However,
2007 Jan 15
0
[LLVMdev] Indirect branch instruction
Chris Lattner wrote: >> Yes, that was the original question. But actually, for my purpose, >> Chris' solution is functional enough. However, I looked into llvm-gcc >> code and the switch instruction switches for all possible labels defined >> in the method. Does LLVM is smart enough to realize that it switches on >> the address of a label, therefore only has
2007 Jan 16
0
[LLVMdev] Indirect branch instruction
Chris Lattner wrote: > I don't understand. You're making a claim that the C compiler isn't > producing optimal code for some case. Can you give an example of a C > function that llvm compiles to something suboptimal? LLVM certainly does > generate stuff like "jmp %eax", but presumably not in the way you want. > Without an example to see what you mean, we
2007 Jan 16
0
[LLVMdev] Indirect branch instruction
Chris Lattner wrote: >> Two jumps are executed when using a switch statement for indirect branch: >> the first jump goes to the right switch case, the second jumps to the >> corresponding >> label. However, indirect branches need only one jump: jumping to the >> value contained >> in a register for example (which contains the address of a label). >>
2007 Jan 13
0
[LLVMdev] Indirect branch instruction
On Thu, 11 Jan 2007, Eric van Riet Paap wrote: >> The switch instruction serves the same functional role. In llvm- gcc, >> the GCC "Address of label" and "indirect goto" extensions are compiled >> into a switch instruction. > > I think the question is how to branch to a location of which you do not > have a label. I'm not sure what you mean.
2009 May 19
3
[LLVMdev] llvm-java
On Tue, May 19, 2009 at 12:30 PM, Nicolas Geoffray <nicolas.geoffray at lip6.fr> wrote: >> The pi functions can be implemented with copy instructions. > > Store instructions? I would assume something more like "select i1 true, <ty> %val, <ty> undef". -Eli
2010 Aug 04
1
[LLVMdev] JITing code with indirect branch in LLVM 2.7
I am trying to JIT some code containing an indirect branch (and the corresponding store i8* blockaddress(@label)). I am using LLVM 2.7 code base. I build the ExecutionEngine using EngineBuilder, and call engine->getPointerToFunction(func). When I use setOptLevel(llvm::CodeGenOpt::None), the JITing fails with the following message : JIT.h:131: virtual void*
2008 Mar 18
2
[LLVMdev] Proposal for a Google summer of code project for the Java frontend.
I would like to see the code of your front end. I started working with llvm-java, since it was what was available. It does not run yet (small compilation issues, almost done), but the design seems fine. It can run (when setup complete) small pieces of Java code, but no real application, since it does not support exception handling (jsr/ret bytecodes) yet,nor garbage collection. Implementing these
2009 Nov 20
3
[LLVMdev] VMKIT problem
Hi Nicolas, I'm running it on Kubuntu. Now that you mention it I did have a problem during vmkit setup. After running the ./configure file with all the options I ran the make file it was giving this error: make[3]: *** [/.automount/root/exports/transient/nataraj/Project/vmkit-0.25/lib/Mvm/Runtime/Release/EscapeAnalysis.o] Error 1 " So I went into Makefile.common and modified GNU
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
2009 Jul 20
2
[LLVMdev] LLVMContext: Who Creates It?
Dear Owen, Are passes supposed to grab the LLVMContext from the Module/Function/BasicBlock passed into their runOn<Module/Function/BasicBlock> method, or is the PassManager supposed to set the pass's Context member variable automatically? I thought it was the latter, but after an SVN update of LLVM, my passes have a NULL Context, and the LLVM code looks like the passes are all setting
2008 Aug 01
0
[LLVMdev] LLVM JIT: How to install a callback for a function loaded in at runtime
Hi Carter, Carter Cheng wrote: > Hello, > > This is probably a bit of a beginner's question but I am new to LLVM > I have been examining the possibility of constructing something similar to the JnJVM for a language which supports dynamic class loading. The problem I am having is determining how the JIT system allows for dynamic loading of functions into the JIT. The paper
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
2007 Apr 02
2
[LLVMdev] Declaration of a va_list should be an intrinsic?
Hi everyone, Currently, when declaring a va_list in llvm, one only needs to do: %ap = alloca i8 * (Reference : llvm/docs/LangRef.html#int_varargs) This is OK for x86 and PPC/Darwin ABI because a va_list in these architectures is just a pointer to the stack. The va_start intrinsic just initializes where the pointer points at in the stack. I do not know how the other backends operate, but I
2012 Jun 24
2
[LLVMdev] branch to a native instruction address from LLVM IR.
I would like to generate a branch/jump to a native instruction address (set up in the JIT runtime) in LLVM IR. It seems all the branch instructions (except indirect branch) takes a LLVM BasicBlock. What would be the best way to achieve this ? Thanks Xin