Displaying 20 results from an estimated 1000 matches similar to: "[LLVMdev] Instruction Combining Pass *Breaking* Struct Reads?"
2009 Jun 29
0
[LLVMdev] Instruction Combining Pass *Breaking* Struct Reads?
On Mon, Jun 29, 2009 at 5:54 AM, Nyx<mcheva at cs.mcgill.ca> wrote:
> As you can see, I allocate two structs, one taking 16 bytes (containing two
> i64 values), and one taking 12 bytes (containing a pointer and an i64 value,
> this is on a 32-bit machine)
Are you sure that's right? If the target data specifies that a
pointer is 64 bits or that i64 has an alignment of 64 bits,
2007 Mar 11
0
10 commits - libswfdec/js libswfdec/swfdec_js_color.c libswfdec/swfdec_js_connection.c libswfdec/swfdec_js_movie.c libswfdec/swfdec_js_net_stream.c libswfdec/swfdec_js_video.c libswfdec/swfdec_js_xml.c libswfdec/swfdec_script.c player/.gitignore
libswfdec/js/jsobj.c | 56 +++++++++++---------------
libswfdec/swfdec_js_color.c | 14 ------
libswfdec/swfdec_js_connection.c | 14 ------
libswfdec/swfdec_js_movie.c | 22 ----------
libswfdec/swfdec_js_net_stream.c | 14 ------
libswfdec/swfdec_js_video.c | 14 ------
2007 Nov 15
0
4 commits - libswfdec/swfdec_asbroadcaster.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame_internal.h libswfdec/swfdec_as_function.c libswfdec/swfdec_as_interpret.c test/trace
libswfdec/swfdec_as_frame.c | 14 ++
libswfdec/swfdec_as_frame_internal.h | 3
libswfdec/swfdec_as_function.c | 12 --
libswfdec/swfdec_as_interpret.c | 1
libswfdec/swfdec_asbroadcaster.c | 3
test/trace/arguments-5.swf |binary
test/trace/arguments-5.swf.trace | 82 +++++++++--------
test/trace/arguments-6.swf |binary
2007 Nov 14
0
4 commits - libswfdec/swfdec_as_interpret.c test/trace
libswfdec/swfdec_as_interpret.c | 3
test/trace/Makefile.am | 18 ++++
test/trace/callmethod-this-5.swf |binary
test/trace/callmethod-this-5.swf.trace | 136 +++++++++++++++++++++++++++++++++
test/trace/callmethod-this-6.swf |binary
test/trace/callmethod-this-6.swf.trace | 134 ++++++++++++++++++++++++++++++++
test/trace/callmethod-this-7.swf
2010 Apr 05
2
[LLVMdev] Linking with C Library
I tried running nm - D | grep "puts" on the binary compiled by the OCaml
compiler. It outputs the following:
08161b00 T camlRuntime__rt_fputs_208
08161a20 T camlRuntime__rt_puts_198
U fputs
I'm assuming this means that fputs is linked dynamically, and puts is
not. I tried modifying my code to use fputs instead of puts instead, but
had no success, however, I still get:
2010 Apr 05
3
[LLVMdev] Linking with C Library
>> You need to figure out how to pass -rdynamic to the linker, like I
said before. http://llvm.org/docs/tutorial/OCamlLangImpl7.html
mentions it, but I don't know enough about the ocaml build process to
say whether that'll work.
I believe I'm already doing that, properly by passing -ccopt -rdynamic to
ocamlopt:
ocamlopt -cc g++ -ccopt -rdynamic -linkall $(LIBFILES) -o alpha
2010 Apr 04
2
[LLVMdev] Linking with C Library
I'm coding a JIT compiler for C source in OCaml, using LLVM. I'm pretty much
done with the LLVM code generation. The problem is that I can't seem to call
C library functions. I was told that all I needed to do to be able to link
with libc functions was to declare them in my module and give them external
linkage, but this does not seem to work. Please note that this is a JIT
compiler. I
2007 Aug 17
0
Branch 'vivi' - 13 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_as_debugger.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_script_function.c test/trace vivified/core vivified/ui
libswfdec/swfdec_as_context.c | 25 +
libswfdec/swfdec_as_debugger.h | 8
libswfdec/swfdec_as_interpret.c | 2
libswfdec/swfdec_as_object.c | 6
libswfdec/swfdec_as_script_function.c | 4
test/trace/Makefile.am | 9
test/trace/definefunction2-registers-5.swf
2011 Nov 06
3
[LLVMdev] LLVM: to catch 'unwind' instruction from calling C++ code
Hi!
I have a little problem using LLVM and will be happy to get a solution. I
need to handle in C++ code an uncaught unwind instruction while calling JIT
(now I get segfault). I mean something like nonexistent
ExecutionEngine::invokeFunction instead of callFunction. Setting
llvm::JITExceptionHandling to true and enclosing the JIT-call within
try/catch block does not help here, because there is no
2007 Jul 30
0
10 commits - libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_super.c libswfdec/swfdec_video_movie_as.c test/trace
libswfdec/swfdec_as_frame.c | 144 +++++++--------
libswfdec/swfdec_as_interpret.c | 7
libswfdec/swfdec_as_super.c | 1
libswfdec/swfdec_video_movie_as.c | 2
test/trace/Makefile.am | 15 +
test/trace/definefunction2-arguments-registers.swf
2010 Apr 06
0
[LLVMdev] Linking with C Library
On Mon, Apr 5, 2010 at 3:27 PM, Nyx <mcheva at cs.mcgill.ca> wrote:
>
>>> You need to figure out how to pass -rdynamic to the linker, like I
> said before. http://llvm.org/docs/tutorial/OCamlLangImpl7.html
> mentions it, but I don't know enough about the ocaml build process to
> say whether that'll work.
>
> I believe I'm already doing that, properly by
2011 Nov 07
0
[LLVMdev] LLVM: to catch 'unwind' instruction from calling C++ code
oops... so how can unwind stack up to invoke call? Is there an alternative
to establish a custom exception handling?
2011/11/7 Duncan Sands <baldrick at free.fr>
>
>> Hi Semion, the unwind instruction has been removed from LLVM. Also, the
>> JIT
>> and code generators never supported it: it never unwound the stack, it
>> just
>> resulted in a nasty crash.
2010 Apr 04
0
[LLVMdev] Linking with C Library
In C, on Linux, you would have to link your JIT compiler with
-rdynamic or -Wl,-export-dynamic (they're synonyms). I'm not sure what
the equivalent linker flag is for OCaml.
You can see what symbols are available to the JIT with `nm -D`.
On Sun, Apr 4, 2010 at 8:41 AM, Nyx <mcheva at cs.mcgill.ca> wrote:
>
> I'm coding a JIT compiler for C source in OCaml, using LLVM.
2009 Jun 18
2
[LLVMdev] Explicitly Freeing Allocas
That sounds rather cumbersome, is there no simpler way to get the actual size
of a struct?
John Criswell wrote:
>
> Nyx wrote:
>> Hello,
>>
>> I would just like to ask if it's possible to explicitly free allocas.
>> This
>> is because I need to call functions that take structs of different sizes
>> as
>> input, (possibly inside of loops) and I
2010 Mar 10
4
[LLVMdev] On-Stack Replacement & Code Patching
I am interested in writing a JIT that makes use of on-stack replacement. This
essentially means that the JIT must be able to compile new versions of
already compiled functions (eg: more optimized versions) and ensure that the
code for the new functions is executed. I was wondering if LLVM offers any
support for this.
Suppose a function f calls a function g, and f is recompiled while g is
running,
2007 May 22
0
Branch 'as' - 9 commits - libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_function.c libswfdec/swfdec_as_function.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_native_function.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_script_function.c
libswfdec/swfdec_as_frame.c | 32 ++++++++--------
libswfdec/swfdec_as_function.c | 13 ++++--
libswfdec/swfdec_as_function.h | 4 +-
libswfdec/swfdec_as_interpret.c | 12 ++++--
libswfdec/swfdec_as_native_function.c | 3 +
libswfdec/swfdec_as_object.c | 27 ++++++++++++-
2009 Jun 05
2
[LLVMdev] Int1 to Double Type Conversion
Hello,
I would like to know if there is an instruction to convert values from the
Int1 type to the Double type in LLVM. I would like to achieve the equivalent
of casting a bool value to a double value in C++. Doing the simple
CreateSIToFP or CreateUIToFP does not work, it throws an assertion ("invalid
cast"). I simply want to avoid branching it's not necessary. What's the
2009 Jun 12
1
[LLVMdev] Defining/Accessing Structs Dynamically
I have most of the code working but I'm running into two issues:
1. I'm not sure exactly how to return a structure on the stack. Right now,
I'm allocating one with alloca, but it seems I can only return a pointer to
it, not the structure itself. Is there any way to dereference the pointer?
2. On the calling side, I get a structure as a return value. However, it
seems GEP is
2009 Jul 24
1
[LLVMdev] setOnlyReadsMemory / setDoesNotAccessMemory
But, which optimization pass will take advantage of those flags?
As for nounwind, that means "can't throw an exception"?
- Maxime
John McCall-2 wrote:
>
> Nyx wrote:
>> Hello,
>>
>> I'm in a situation where my code is calling many native functions.
>> Sometimes, these calls are simply calls to static "accessor" methods that
>>
2009 Jun 10
1
[LLVMdev] Phi Node Question
I'm designing a JIT compiler and I have a potentially problematic situation.
The functions I compile may need to create/access an object during their
execution. In the case where this object won't be needed, I'd rather avoid
generating code to creating the object, as this is a slight performance
waste. Unfortunately, it's rather difficult to know whether this will be the
case