Displaying 20 results from an estimated 10000 matches similar to: "[LLVMdev] Parallelism in HLVM"
2009 Mar 31
0
[LLVMdev] HLVM performance and shadow stack overheads
The (new) HLVM project is continuing to improve and I have graphed and
analysed some performance-related data. Beating OCaml on numerical
performance using LLVM turned out to be quite easy on x86:
http://flyingfrogblog.blogspot.com/2009/03/performance-ocaml-vs-hlvm-beta-04.html
This was achieved using a single optimization pass in HLVM (unrolling) and
none of LLVM's own IR optimization
2009 Oct 27
0
[LLVMdev] HLVM updated for LLVM 2.6
I have committed the changes to HLVM that bring it up to date with respect to
the new LLVM 2.6 release:
http://hlvm.forge.ocamlcore.org/
This required handling of llcontexts and the injection of a call to the new
Llvm_executionengine.initialize_native_target function (that is undocumented)
*before* the JIT EE is created, otherwise LLVM resorts to the LLVM
interpreter which breaks at
2009 Jan 04
3
[LLVMdev] HLVM
What happened to the HLVM project? I understand it was intended to be a
high-level VM specifically for dynamic languages and this post indicates that
it was integrated into the LLVM project last year:
http://www.nabble.com/NEWS:-HLVM-merges-with-LLVM-td9627113.html
But I cannot find any code in LLVM that looks like it would have come from
HLVM.
--
Dr Jon Harrop, Flying Frog Consultancy
2010 Jan 04
0
[LLVMdev] Tail Call Optimisation
On Monday 04 January 2010 03:33:06 Simon Harris wrote:
> On 04/01/2010, at 3:01 PM, Jon Harrop wrote:
> > I am certainly interested in tail calls because my HLVM project relies
> > upon LLVM's tail call elimination. However, I do not understand what tail
> > calls LLVM is not currently eliminating that you plan to eliminate?
>
> Mutual recursion for a start:
>
2009 Mar 09
0
[LLVMdev] HLVM released
I have been working on a high-level virtual machine built upon LLVM since
Christmas 2008 and just released the first working version:
http://forge.ocamlcore.org/projects/hlvm/
This alpha release of HLVM provides:
. Unit, bool, int and float primitive types.
. Tuples (as first-class structs).
. Homogeneous array type.
. Boxed value type.
. Function pointers.
. Generic printing.
. Full tail
2010 Dec 01
2
[LLVMdev] Tail calls not working with LLVM 2.8
I just upgraded HLVM from LLVM 2.7 to 2.8 and started seeing stack overflows
so I think TCO isn't working. Have there been any obvious changes that would
cause this?
--
Dr Jon Harrop, Flying Frog Consultancy Ltd.
http://www.ffconsultancy.com
2009 Jun 25
0
[LLVMdev] HLVM documentation
The ocamldoc-generated documentation for HLVM is now available here:
http://www.ffconsultancy.com/ocaml/hlvm/docs/
--
Dr Jon Harrop, Flying Frog Consultancy Ltd.
http://www.ffconsultancy.com/?e
2009 Jun 24
0
[LLVMdev] New HLVM examples
HLVM is a garbage collected virtual machine built upon LLVM:
http://forge.ocamlcore.org/projects/hlvm/
The development of HLVM was described in a series of three OCaml Journal
articles that turned out to be among our most popular. Consequently, we have
decided to run another series of related articles that build upon this
foundation in order to develop complete compilers. The first article
2010 Dec 12
1
[LLVMdev] Two more HLVM benchmark results and questions about Windows and .NET
To illustrate the value of value types to the OCaml community I recently did
a couple of benchmarks. The first was similar to a hash table and stores
key-value pairs unboxed in an array:
http://groups.google.com/group/fa.caml/msg/8430ebdb687b9268
The second is the hailstone benchmark that the Haskell guys found gave huge
performance improvements when using LLVM from GHC:
2010 Jan 04
0
[LLVMdev] Tail Call Optimisation
On Monday 04 January 2010 01:12:55 Simon Harris wrote:
> I'm investigating "improving" the TCO facilities in LLVM to provide for
> "hard" tail calls. Specifically, this would involve extending the existing
> implementation to discard the stack frame for the caller before executing
> the callee. I would then like to extend this further by performing hard
>
2010 Feb 06
2
[LLVMdev] Removing -tailcallopt?
On Feb 5, 2010, at 7:19 PM, Jon Harrop wrote:
> On Friday 05 February 2010 23:35:15 Evan Cheng wrote:
>> Does anyone actually using it?
>
> Yes, many LLVM-based projects rely upon TCO to work correctly.
Ok, that's all I need to know.
>
>> I'd prefer to just remove it to clean up the implementation if no one has
>> any objections.
>
> Are you
2010 Feb 06
0
[LLVMdev] Removing -tailcallopt?
On Saturday 06 February 2010 02:42:47 Evan Cheng wrote:
> On Feb 5, 2010, at 7:19 PM, Jon Harrop wrote:
> > On Friday 05 February 2010 23:35:15 Evan Cheng wrote:
> >> Does anyone actually using it?
> >
> > Yes, many LLVM-based projects rely upon TCO to work correctly.
>
> Ok, that's all I need to know.
>
> >> I'd prefer to just remove it to
2010 Feb 17
1
[LLVMdev] LLVM-OCaml Bindings Tutorial (2.6-2.7)
On Tue, Feb 16, 2010 at 2:47 AM, Jon Harrop <jon at ffconsultancy.com> wrote:
> On Tuesday 16 February 2010 03:51:00 Jianzhou Zhao wrote:
>> Does anyone know if there is any realistic project using LLVM-OCaml
>> Bindings?
>
> I've written a VM in OCaml built upon LLVM using LLVM's OCaml bindings:
>
> http://www.ffconsultancy.com/ocaml/hlvm/
>
> There
2009 Mar 10
0
[LLVMdev] Stack smashing
>From a cursory glance, it looks like something is messing with the
stack canarys. Probably a stack buffer overflow.
On Tue, Mar 10, 2009 at 11:41 PM, Jon Harrop <jon at ffconsultancy.com> wrote:
>
> Someone is trying to work on HLVM with me but they're hitting a problem that
> we have not been able to resolve. Specifically, GCC seems to be performing
> some kind of
2009 Feb 19
0
[LLVMdev] Parametric polymorphism
On Thursday 19 February 2009 03:31:04 DeLesley Hutchins wrote:
> > The same can be said of closures, garbage collection and a dozen other
> > features that also cannot feasibly be added to LLVM.
> >
> > The only logical solution is to build a HLVM on top of LLVM and share
> > that between these high-level language implementations.
>
> This is an excellent point.
2009 Jun 18
0
[LLVMdev] ML types in LLVM
On Tuesday 16 June 2009 15:44:04 Aaron Gray wrote:
> Jon Harrop wrote:
> >Even if this puts LLVM at an unfair disadvantage, I think you will find
> >that
> >LLVM will thrash MLton's current x86 backend anyway.
> >
> >I did some benchmarking on HLVM and found that it was often several times
> >faster than OCaml when the GC is not the bottleneck:
> >
2009 Jan 04
0
[LLVMdev] HLVM
On Sun, Jan 4, 2009 at 2:36 PM, Jon Harrop <jon at ffconsultancy.com> wrote:
(...)
> But I cannot find any code in LLVM that looks like it would have come from
> HLVM.
Don't know about the status of the project, but the code seems to be here:
http://llvm.org/viewvc/llvm-project/ (in directory "hlvm")
Regards,
Kevin André
2010 Feb 06
0
[LLVMdev] Removing -tailcallopt?
On Friday 05 February 2010 23:35:15 Evan Cheng wrote:
> Does anyone actually using it?
Yes, many LLVM-based projects rely upon TCO to work correctly.
> I'd prefer to just remove it to clean up the implementation if no one has
> any objections.
Are you saying that you want to remove LLVM's working TCO and replace it with
something that is faster but broken?
I think you may
2009 Apr 05
1
[LLVMdev] Suggestion for VM porting to LLVM
Hi Jon,
I've read your articles about HLVM, and that was one of the reasons
that convinced me to try out LLVM. Actually my VM has been implemented
in C++, but as long as it is not extremely complex, I might port it to
OCaml that sounds more compact for this kind of programs. Did you find
any significant performance loss when using OCaml over C++ ? Runtime
performance is quite
2009 Dec 02
1
[LLVMdev] LLVM 2.6 -> SVN breaks this
The LLVM 2.6-compatible IR below is derived from the HLVM test suite and is
one of the things I've noticed going wrong. However, I just discovered that
it works with LLVM 2.6 and with LLVM SVN when run through lli or llc
without -tailcallopt but when I use:
$ llvm-as -f aout.ll
$ llc -tailcallopt -f aout.bc -o aout.s
$ gcc -lm aout.s -o aout
and the latest LLVM SVN it starts to print