Displaying 20 results from an estimated 9000 matches similar to: "[LLVMdev] Print native code emitted by the JIT"
2005 May 17
2
[LLVMdev] Register Allocation problem
Ok, i'm having a problem with understanding the allocating of registers.
I've written in the "addPassesToEmitAssembly()" the passes to create
the assembly code, as in the PowerPC example. I'ved tried filling up as
much of the code in <Target>RegisterInfo.cpp (Register/Frame code) to
handle writing and reading from stack.
The allocation method I used was
2008 Mar 31
0
[LLVMdev] Being able to know the jitted code-size before emitting
Hi,
Two questions. 1) How are you computing size of the method being
jitted? 2) Why not simply add the functionality of allocating emission
buffer of specific size to MachineCodeEmitter instead?
Thanks,
Evan
On Mar 30, 2008, at 12:05 PM, Nicolas Geoffray wrote:
> Hi everyone,
>
> vmkit requires to know the size of a jitted method before emitting
> the method. This allows to
2011 Nov 04
0
[LLVMdev] Question on JIT optimizations
Hi Brent,
> The code in this setup will be optimized according to the optimizer pipeline one
> sets up as in the code below. I find that if I only use the passes below the
> quality of the code is not that good
code quality will be dreadful if you don't promote memory accesses to registers
right at the start, using eg mem2reg or scalarrepl.
(for example inlining is not
2008 Apr 01
0
[LLVMdev] Being able to know the jitted code-size before emitting
On Apr 1, 2008, at 12:50 AM, Nicolas Geoffray wrote:
> Hi Evan,
>
> Evan Cheng wrote:
>> 1) How are you computing size of the method being
>> jitted?
>
> I add a new pass with addSimpleCodeEmitter, with the emitter being a
> SizeEmitter. Since the target calls the emitter with functions such as
> writeByte, writeWord, etc.... the SizeEmitter class implements these
2011 Nov 04
2
[LLVMdev] Question on JIT optimizations
Hi,
If hope this is the right list to post a question like this. If not,
my apologies -- please redirect me.
Following the Kaledoscope example I am trying to write a simple JIT and
compile my own small language using LLVM. Compilation happens using the
C++ api by constructing a VM and emitting code using the api (just as the
Kaledoscope example).
The code in this setup will be optimized
2008 Apr 01
2
[LLVMdev] Being able to know the jitted code-size before emitting
Hi Evan,
Evan Cheng wrote:
> 1) How are you computing size of the method being
> jitted?
I add a new pass with addSimpleCodeEmitter, with the emitter being a
SizeEmitter. Since the target calls the emitter with functions such as
writeByte, writeWord, etc.... the SizeEmitter class implements these
function by incrementing a counter.
At the end of the pass, the code size of the
2008 Apr 05
0
[LLVMdev] Being able to know the jitted code-size before emitting
On Apr 4, 2008, at 11:16 PM, Nicolas Geoffray
<nicolas.geoffray at lip6.fr> wrote:
> Evan Cheng wrote:
>>
>> Let's see. ARM has it already. PPC has getNumBytesForInstruction so
>> you only need to add one to compute function size. Also you only need
>> to implement it for targets that support JIT right now, which leaves
>> Alpha and X86. I'm
2008 Apr 07
2
[LLVMdev] Being able to know the jitted code-size before emitting
Hi Evan,
Evan Cheng wrote:
>
> I don't think the duplication is going to be top much of a problem. If
> it is, I'll bug you about refactoring. :)
>
>
I don't mean to show how lazy I can be, but I also need to know the size
of the exception table emitted in memory (JITDwarfEmitter.cpp).
Reviewing it a little, I can not see how things won't be duplicated.
2008 Apr 04
0
[LLVMdev] Being able to know the jitted code-size before emitting
On Apr 4, 2008, at 5:50 AM, Nicolas Geoffray wrote:
> Evan Cheng wrote:
>> On Apr 1, 2008, at 12:50 AM, Nicolas Geoffray wrote:
>>
>>
>> That's a hack. :-)
>
> It is if you think that code emitter should only be used for actually
> writing somewhere the data. It is not if you find it another useful
> utility ;-)
Except it's pretty slow at it. :-)
2008 Apr 04
3
[LLVMdev] Being able to know the jitted code-size before emitting
Evan Cheng wrote:
> On Apr 1, 2008, at 12:50 AM, Nicolas Geoffray wrote:
>
>
> That's a hack. :-)
It is if you think that code emitter should only be used for actually
writing somewhere the data. It is not if you find it another useful
utility ;-)
> Some targets already have ways to compute the exact
> size of a function. See ARM::GetFunctionSize()
2008 Apr 05
2
[LLVMdev] Being able to know the jitted code-size before emitting
Evan Cheng wrote:
>
> Let's see. ARM has it already. PPC has getNumBytesForInstruction so
> you only need to add one to compute function size. Also you only need
> to implement it for targets that support JIT right now, which leaves
> Alpha and X86. I'm guessing Alpha is using fixed encoding so it should
> be pretty easy. Or you can just punt it and let the target
2008 Apr 07
0
[LLVMdev] Being able to know the jitted code-size before emitting
On Apr 7, 2008, at 3:02 AM, Nicolas Geoffray wrote:
> Hi Evan,
>
> Evan Cheng wrote:
>>
>> I don't think the duplication is going to be top much of a problem.
>> If
>> it is, I'll bug you about refactoring. :)
>>
>>
>
> I don't mean to show how lazy I can be, but I also need to know the
> size
> of the exception table
2012 Feb 20
1
[LLVMdev] ARM opcode format
Hello,
So the current JIT will be superseded by the MCJIT completely and no
further development should be expected for the current JIT? In any case, I
am definitely interested in submitting a patch if you could help me by
sending me in the right direction, since I really want this working.
I managed to reproduce this behavior in LLVM 3.0 by modifying llc to read
my .bc file and try to JIT the
2008 Sep 30
1
[LLVMdev] Can't add Merge Duplicate Global Constants pass
Hi
I have a program similar to kaleidoscope with same optimization passes.
It works fine. But when I tried to add Constant Merge Pass with a line:
OurFPM.add(createConstantMergePass());
the program died with segmentation fault.
Then I tried to add the same line to native kaleidoscope from
http://llvm.org/docs/tutorial/LangImpl4.html and I've got
the same segmentation fault.
The backtrace
2008 Mar 30
3
[LLVMdev] Being able to know the jitted code-size before emitting
Hi everyone,
vmkit requires to know the size of a jitted method before emitting the
method. This allows to allocate the correct size for the method. The
attached patch creates this functionality when the flag SizedMemoryCode
is on.
In order to implement this functionality, i had to virtualize some
MachineCodeEmitter functions.
Is it OK to commit the patch?
Thanks,
Nicolas
--------------
2010 Feb 17
1
[LLVMdev] Kaleidoscope toy4 failure seg fault on llvm::ExecutionEngine::getTargetData (this=0x0)
On Wed, Feb 17, 2010 at 6:29 AM, Conrado Miranda
<miranda.conrado at gmail.com> wrote:
> First, you have to call llvm-g++ to use the llvm-gcc front end, but it
> doesn't matter here.
I got the compile command from the Kaleidoscope documentation.
> I'd like to suggest that you use pastebin to put your code and the send us
> the link, so that we can download it. The
2014 Sep 02
2
[LLVMdev] Problem linking and JITing code through C++-API
Yes. It appears that a bad reference to DataLayout was passed to MachineJumpTableInfo::getEntrySize. I'm using LLVM as a pre-compiled Ubuntu package for this work, so I can't do much more in GDB without building from source.
Program received signal SIGSEGV, Segmentation fault.
0x00000000007565f0 in llvm::MachineJumpTableInfo::getEntrySize(llvm::DataLayout const&) const ()
(gdb)
2010 Feb 17
0
[LLVMdev] Kaleidoscope toy4 failure seg fault on llvm::ExecutionEngine::getTargetData (this=0x0)
First, you have to call llvm-g++ to use the llvm-gcc front end, but it
doesn't matter here.
I'd like to suggest that you use pastebin to put your code and the send us
the link, so that we can download it. The problem is that TheExecutionEngine
is set to NULL (maybe because of a previous error), but it will be really
better if you use pastebin.
On Wed, Feb 17, 2010 at 6:01 AM, Todd Rovito
2014 Sep 08
2
[LLVMdev] Problem linking and JITing code through C++-API
Hi Andy,
It looks like you're using LLVM's old JIT, rather than MCJIT? The old JIT
has been removed from the mainline, and is no longer supported. I'd
recommend building your own copy of LLVM from the development branch (as
Reed suggested) where MCJIT is used by default - this may fix your issue.
If you want to stick with the precompiled binaries, then you should change:
#include
2007 Jan 22
0
[LLVMdev] addPassesToEmit(Whole)File changes?
On Sun, 21 Jan 2007, Marcel Weiher wrote:
> just installed the new llvm 1.9 build and noticed that my code no
> longer worked. It seems something has changed with
> addPassesToEmitFile(). First, the arguments to that method changed so
> that it no longer takes a PassManager, but only a
> FunctionPassManager. Instead there is a addPassesToEmitWholeFile()
> method, but that is