similar to: [LLVMdev] sret

Displaying 20 results from an estimated 10000 matches similar to: "[LLVMdev] sret"

2009 Feb 24
0
[LLVMdev] Broke my tail (call)
On Monday 23 February 2009 16:14:57 Arnold Schwaighofer wrote: > The problem has to do with how struct returns are represented > internally by llvm (in the SelectionDAG) and how the tail call > optimization implementation checks if it may perform the tail call. > The implementation checks that the <call> node is immediately followed > by a <ret> node. A struct return
2008 Dec 16
4
[LLVMdev] First-class structs
Apologies for the dumb questions but I'm rustier than I had hoped on this. I'm trying to write a mini ML implementation and am considering trying to optimize tuples into structs to avoid heap allocation when possible. Tuples are often used to return multiple values in ML so I am likely to wind up returning structs from functions. I also want to support as much of a C-like
2009 Mar 28
0
[LLVMdev] Broke my tail (call)
On Tuesday 24 February 2009 14:54:12 Arnold Schwaighofer wrote: > On Tue, Feb 24, 2009 at 11:50 AM, Jon Harrop <jon at ffconsultancy.com> wrote: > > Thanks for the clarification. That makes a lot more sense! > > > > LLVM's support for structs is wonderful but I don't think they can be > > called "first-class structs" until all such arbitrary
2012 Jan 08
1
[LLVMdev] Status of multiple return values
What is the current status of multiple return values in LLVM and are there any further plans? In particular, if a function returns a struct will it be handled (assuming fastcc) more efficiently than having the caller stack allocate space for it and pass that by reference to the callee to fill in? -- Dr Jon Harrop, Flying Frog Consultancy Ltd. http://www.ffconsultancy.com
2009 Feb 24
4
[LLVMdev] Broke my tail (call)
On Tue, Feb 24, 2009 at 11:50 AM, Jon Harrop <jon at ffconsultancy.com> wrote: > Thanks for the clarification. That makes a lot more sense! > > LLVM's support for structs is wonderful but I don't think they can be > called "first-class structs" until all such arbitrary restrictions have been > removed, even though the workaround (using sret form) is trivial
2009 Feb 24
0
[LLVMdev] Broke my tail (call)
On Tuesday 24 February 2009 14:54:12 Arnold Schwaighofer wrote: > Whether it will be more efficient i can't answer off hand. Sorry. But > probably not because the code generated should be quite similar. > > For the sret version the move of the result is performed before the return. > store { i8*, i8* } %15, { i8*, i8* }* %19 > ret i32 0 > > For the struct return
2009 Feb 05
4
[LLVMdev] IR in XML
Is there a tool to spit LLVM's IR out in a more machine-friendly syntax like XML? -- Dr Jon Harrop, Flying Frog Consultancy Ltd. http://www.ffconsultancy.com/?e
2009 Feb 23
3
[LLVMdev] Broke my tail (call)
On Mon, Feb 23, 2009 at 2:13 PM, Jon Harrop <jon at ffconsultancy.com> wrote: > Moreover, I now have evidence that LLVM is not behaving as you expect: > > 3. Adjusting the return value from this function into sret form results in > tail call elimination being performed correctly. Note that this is still > passing a first-class struct by value as an argument to a function
2009 Jan 31
1
[LLVMdev] -msse3 can degrade performance
On Saturday 31 January 2009 03:42:04 Eli Friedman wrote: > On Fri, Jan 30, 2009 at 5:43 PM, Jon Harrop <jon at ffconsultancy.com> wrote: > > I just remembered an anomalous result that I stumbled upon whilst > > tweaking the command-line options to llvm-gcc. Specifically, the -msse3 > > flag > > The -msse3 flag? Does the -msse2 flag have a similar effect? Yes: $
2009 Apr 05
1
[LLVMdev] How the LLVM Compiler Infrastructure Works
I've experienced GCC induced eyeball-clawing.... Not pretty! On Sun, Apr 5, 2009 at 9:37 AM, Jon Harrop <jon at ffconsultancy.com> wrote: > On Sunday 05 April 2009 06:33:00 Rajika Kumarasiri wrote: > > FYI, > > http://www.informit.com/articles/article.aspx?p=1215438 > > > > -Rajika > > LOL: > > "In contrast, every time I look at the GCC
2009 Jan 31
0
[LLVMdev] Performance vs other VMs
----- Original Message ----- From: "Jon Harrop" <jon at ffconsultancy.com> To: "LLVM Developers Mailing List" <llvmdev at cs.uiuc.edu> Sent: Saturday, January 31, 2009 6:56 AM Subject: [LLVMdev] Performance vs other VMs > > The release of a new code generator in Mono 2.2 prompted me to benchmark > the > performance of various VMs using the SciMark2
2009 Jun 22
0
[LLVMdev] SSE examples
----- Original Message ----- From: "Jon Harrop" <jon at ffconsultancy.com> To: <llvmdev at cs.uiuc.edu> Sent: Sunday, June 21, 2009 2:51 PM Subject: [LLVMdev] SSE examples > > Does anyone have any LLVM IR examples implementing things using the > instructions for SSE, like complex arithmetic or 3D vector-matrix stuff? > I don't have any examples... >
2009 Nov 28
2
[LLVMdev] JVM Backend
> How do you handle tail calls and value types? I haven't worried too much about optimisation yet, so it doesn't do anything special for tail calls (although neither does the java compiler). LLVM types are translated to their equivalent java primitive type (or currently it raises an assertion if there is no equivalent type). -- David Roberts http://da.vidr.cc/ On Sat, Nov 28, 2009
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
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
2009 Jan 25
2
[LLVMdev] OCaml Journal article: Building a Virtual Machine with LLVM
Following on from the success of our previous OCaml Journal articles covering LLVM, we have begun a series dedicated to the design and implementation of high-level languages using LLVM. In particular, these new articles are more pragmatic in nature and go beyond describing working compilers to also discuss testing, debugging and the performance of LLVM-based compilers. The first article in
2007 Dec 12
2
[LLVMdev] ocaml binding question
On Monday 10 December 2007 23:52, Gordon Henriksen wrote: > On 2007-12-10, at 18:28, Jon Harrop wrote: > > Incidentally, should more OCaml stuff beyond the bindings be part of > > LLVM or would it be better to fork them into a separate project > > Can you be more specific than "stuff"? I'm thinking of a library that compiles an AST represented by an OCaml data
2008 Feb 14
2
[LLVMdev] Higher-level OCaml bindings
On Thursday 14 February 2008 16:33:25 Chris Lattner wrote: > On Thu, 14 Feb 2008, Jon Harrop wrote: > > Does CLang use a suitable intermediate representation for this to be > > possible? > > The higher level IR that clang uses is basically a C AST. This interface > is under constant flux though. If you wanted to do this, it would be > very reasonable to just cons up
2009 Jun 16
2
[LLVMdev] Some understanding of LLVM vs gCC vs Intel C++ Compilers
Are there any papers in the works which benchmark some specification suite of C programs on GCC, LLVM-GCC, and CLANG? The only stuff I have seen so far are some bar charts in a few LLVM presentations, would be nice to have something a little more comprehensive. Cheers, Granville On Tue, Jun 16, 2009 at 6:51 AM, Jon Harrop <jon at ffconsultancy.com> wrote: > On Tuesday 16 June 2009
2010 Feb 24
0
[LLVMdev] C Compiler written in OCaml, Pointers Wanted
On Wed, Feb 24, 2010 at 7:10 AM, Jon Harrop <jon at ffconsultancy.com> wrote: > On Wednesday 24 February 2010 03:58:03 Jianzhou Zhao wrote: >> I think LLVM OCaml bindings do not support JIT too much. > > Can you elaborate on this? I meant the OCaml bindings let OCaml call existing C++ LLVM routines, such as creating an execution engine, JIT-ing a function with existing JIT or