similar to: [LLVMdev] Tail calls (TCO) in PNaCL | PNaCl Bitcode reference manual

Displaying 20 results from an estimated 4000 matches similar to: "[LLVMdev] Tail calls (TCO) in PNaCL | PNaCl Bitcode reference manual"

2013 Aug 01
0
[LLVMdev] Tail calls (TCO) in PNaCL | PNaCl Bitcode reference manual
I'm not familiar with PNaCl but, FWIW, I'd say the three main advancements the CLR made over the JVM are: . Structs (aka value types). . Reified generics. http://research.microsoft.com/pubs/64031/designandimplementationofgenerics.p df . Tail call elimination. http://research.microsoft.com/pubs/69132/babel01.pdf Structs give you more freedom around memory
2013 Aug 01
0
[LLVMdev] Tail calls (TCO) in PNaCL | PNaCl Bitcode reference manual
On 2013-07-30 22:11, Eli Bendersky wrote: > we've published an initial version of the PNaCl bitcode reference > manual online - > http://www.chromium.org/nativeclient/pnacl/bitcode-abi. The PNaCl > bitcode is a restricted subset of LLVM IR. > > Any comments would be most welcome. Hi Eli, I appreciate you for opening the process for input and comments. One question stood
2013 Aug 02
2
[LLVMdev] Tail calls (TCO) in PNaCL | PNaCl Bitcode reference manual
On 1 August 2013 00:11, Travis Cross <tc at travislists.com> wrote: > On 2013-07-30 22:11, Eli Bendersky wrote: > > we've published an initial version of the PNaCl bitcode reference > > manual online - > > http://www.chromium.org/nativeclient/pnacl/bitcode-abi. The PNaCl > > bitcode is a restricted subset of LLVM IR. > > > > Any comments would be
2013 Aug 02
0
[LLVMdev] Tail calls (TCO) in PNaCL | PNaCl Bitcode reference manual
Hi Mark, On 2013-08-02 04:11, Mark Seaborn wrote: > That note in the documentation seems to be incorrect, because LLVM > will do tail call optimisations on at least x86 when using the "ccc" > calling convention. For example: > > $ cat tail_call1.c > void foo(int arg); > void bar(int arg) { > foo(arg); > } > > $ clang tail_call1.c -S -o - -O2 >
2013 Jul 30
5
[LLVMdev] PNaCl Bitcode reference manual
Hello, Following an earlier email ( http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-June/063010.html), we've published an initial version of the PNaCl bitcode reference manual online - http://www.chromium.org/nativeclient/pnacl/bitcode-abi. The PNaCl bitcode is a restricted subset of LLVM IR. The reference manual is quite terse, so for the bigger picture I'll repost links to the design
2013 Aug 01
0
[LLVMdev] PNaCl Bitcode reference manual
Hi Eli, Recently, I proposed some changes to LLVM to do more lowering of illegal types (like i128 or i17) and other things within the LLVM IR layer, and the proposal was roundly rejected by the LLVM community: http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-April/061567.html PNaCl is essentially doing what my proposal described. How do you expect to reconcile the community's desire to avoid
2013 Jun 19
0
[LLVMdev] Building a stable bitcode format for PNaCl - based on LLVM IR
From the provided documentation I understood that in memory data structures of a PNaCl program are incompatible to the host program because ABIs are different (e.g. PNaCl pointers are always 32-bit even when running on x86_64 platform). So PNaCl program can't access any data structures of the host program directly. The only communication way is by using syscalls, but the document does not
2013 Jun 19
0
[LLVMdev] Building a stable bitcode format for PNaCl - based on LLVM IR
Am 19.06.2013 18:01, schrieb JF Bastien: > > From the provided documentation I understood that in memory data > structures of a PNaCl program are incompatible to the host program > because ABIs are different (e.g. PNaCl pointers are always 32-bit > even when running on x86_64 platform). > So PNaCl program can't access any data structures of the host >
2013 Jun 19
3
[LLVMdev] Building a stable bitcode format for PNaCl - based on LLVM IR
> From the provided documentation I understood that in memory data > structures of a PNaCl program are incompatible to the host program because > ABIs are different (e.g. PNaCl pointers are always 32-bit even when running > on x86_64 platform). > So PNaCl program can't access any data structures of the host program > directly. The only communication way is by using syscalls,
2013 Jun 18
2
[LLVMdev] Building a stable bitcode format for PNaCl - based on LLVM IR
On 18 June 2013 15:27, Dmitri Rubinstein <dmitri.rubinstein at googlemail.com>wrote: > Is it possible to use PNaCl infrastructure (i.e. translation and execution > in a sandbox) without a Chrome ? > > I mean a something like a standalone VM like Java or Mono/C#. > Yes. The NaCl tool 'sel_ldr' will run a program inside a sandbox outside of the web browser. We do a
2009 Nov 25
0
[LLVMdev] Possible bug in TCO?
On Wednesday 25 November 2009 19:19:28 Jon Harrop wrote: > I'm using LLVM 2.6. Anyone recognise this as a bug in TCO fixed since then > or should I try to boil it down and submit it? I've come up with the following minimal repro that segfaults on my machine: define fastcc i32 @g({i32, {i32, i32}}) { %1 = extractvalue {i32, {i32, i32}} %0, 0 %2 = extractvalue {i32, {i32,
2009 Dec 08
0
[LLVMdev] Possible bug in TCO?
Albert Graef wrote: > Jeffrey Yasskin wrote: >> Try batch compiling with the large code model. (llc -code-model=large) >> If that also causes tail calls to break, then I did something wrong in >> fixing far calls in the JIT. > > Jeffrey, I took a closer look at this now, and all the TCO-related > weirdness I see in the Pure interpreter is indeed related to your commit
2009 Dec 08
2
[LLVMdev] Possible bug in TCO?
Jeffrey Yasskin wrote: > Try batch compiling with the large code model. (llc -code-model=large) > If that also causes tail calls to break, then I did something wrong in > fixing far calls in the JIT. Jeffrey, I took a closer look at this now, and all the TCO-related weirdness I see in the Pure interpreter is indeed related to your commit in r88984 ("Make X86-64 in the Large model
2010 Jan 04
0
[LLVMdev] Tail Call Optimisation
On Monday 04 January 2010 05:16:40 Jeffrey Yasskin wrote: > On Sun, Jan 3, 2010 at 10:50 PM, Jon Harrop <jon at ffconsultancy.com> wrote: > > LLVM's TCO already handles mutual recursion. > > Only for fastcc functions Yes. > compiled with -tailcallopt, right? If you use the compiler, yes. > http://llvm.org/docs/CodeGenerator.html#tailcallopt > > I believe
2013 Jun 18
0
[LLVMdev] Building a stable bitcode format for PNaCl - based on LLVM IR
Is it possible to use PNaCl infrastructure (i.e. translation and execution in a sandbox) without a Chrome ? I mean a something like a standalone VM like Java or Mono/C#. Dmitri Am 18.06.2013 17:22, schrieb Eli Bendersky: > Hello, > > [The first paragraph is safe to skip if you already know what PNaCl is.] > The Portable Native Client (PNaCl) project is a toolchain for producing
2009 Nov 25
3
[LLVMdev] Possible bug in TCO?
My compiler is generating a bunch of code including the following line: %57 = call fastcc i32 @aux(%1* %0, %1 %1, %1 %46, i32 0, %4 %2) ; <i32> [#uses=1] ret i32 %57 The program works fine as long as this isn't a tail call. If I compile via a .ll and insert "tail" by hand, the program segfaults. However, if I make it a tail call and return an undef i8* or void instead
2013 Jun 18
1
[LLVMdev] Building a stable bitcode format for PNaCl - based on LLVM IR
On 18 June 2013 15:08, Sean Silva <silvas at purdue.edu> wrote: > On Tue, Jun 18, 2013 at 2:06 PM, Eli Bendersky <eliben at google.com> wrote: > >> On Tue, Jun 18, 2013 at 12:03 PM, Sean Silva <silvas at purdue.edu> wrote: >> >>> Instead of a blacklist, why not a whitelist? Given the size of LangRef, >>> you're bound to leave something out
2014 Apr 01
2
[LLVMdev] Proposal: Add a guaranteed tail call marker
Some frontends for LLVM require that LLVM perform tail call optimization (TCO) for correctness. Internally, LLVM refers to TCO of a non-recursive tail call as sibling call optimization, but I'm going to refer to that generically as TCO. Often, functional languages like Scheme have a language-level requirement that TCO occurs for any call in the tail position, and this is usually why users of
2009 Nov 13
2
[LLVMdev] opt -std-compile-opts breaks tail calls
On Friday 13 November 2009 16:26:01 Chris Lattner wrote: > On Nov 13, 2009, at 3:34 AM, Jon Harrop wrote: > >> Point 4 is the one that caused me trouble for some time. > >> Unfortunately > >> it causes a bad interaction with the optimiser, specifically the > >> 'simplifycfg' pass. What seems to happen is that since the function > >> you are
2013 Jun 18
6
[LLVMdev] Building a stable bitcode format for PNaCl - based on LLVM IR
Hello, [The first paragraph is safe to skip if you already know what PNaCl is.] The Portable Native Client (PNaCl) project is a toolchain for producing portable bitcode from C and C++ code and running in securely and efficiently on the web via Native Client. For more details see this presentation from the last Google I/O: https://developers.google.com/events/io/sessions/325679543and