search for: tail

Displaying 20 results from an estimated 5000 matches for "tail".

Did you mean: mail
2009 Nov 12
4
[LLVMdev] opt -std-compile-opts breaks tail calls
tail calls are only implemented for fastcall calling convention if i remeber right from my inquiries. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20091112/e8f1dd2a/attachment.html...
2018 Jan 03
3
[PATCH] test-virt-tail: Fix failing cat/test-virt-tail.sh test case
>From IRC channel: <StenaviN> Can someone confirm cat/test-virt-tail.sh works in 'master'? <StenaviN> I get https://pastebin.com/GBkg7Vtw <rwmjones> StenaviN: yes it works for me; the error is not very helpful, you'll need to set LIBGUESTFS_DEBUG=1 LIBGUESTFS_TRACE=1 <StenaviN> https://pastebin.com/yABgCHwV <r...
2009 Feb 22
2
[LLVMdev] Broke my tail (call)
On Sunday 22 February 2009 20:36:52 Duncan Sands wrote: > Hi Jon, > > > I have written a variety tests of tail calls for my HLVM and all passed > > with flying colors until I wrote this test (which is actually for > > algebraic datatypes) and discovered that it segfaults after ~100k > > iterations through what I think should be a tail call. Here's the IR: > > is this really a tai...
2009 Feb 23
3
[LLVMdev] Broke my tail (call)
Hello Duncan and Jon, I am the criminal responsible for the tail call implementation in the backends. On Mon, Feb 23, 2009 at 9:17 AM, Duncan Sands <baldrick at free.fr> wrote: > Hi Jon, > >> >From what I have understood of the LLVM docs about when tail calls get >> eliminated on x86 and x64 it should be a tail call, yes. See below....
2016 Jun 28
2
Tail call optimization is getting affected due to local function related optimization with IPRA
...gt;>> On Jun 27, 2016, at 12:25 PM, vivek pandya <vivekvpandya at gmail.com <mailto:vivekvpandya at gmail.com>> wrote: >>>>>> >>>>>> Hello , >>>>>> >>>>>> To solve this bug locally I have given preference to tail call optimization over local function related optimization in IPRA. I have added following method to achieve this: >>>>>> >>>>>> bool isEligibleForTailCallOptimization(Function *F) { >>>>>> CallingConv::ID CC = F->getCallingConv(); >&gt...
2014 Jun 16
4
[PATCH 01/11] qspinlock: A simple generic 4-byte queue spinlock
...option) any later version. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + * > + * (C) Copyright 2013-2014 Hewlett-Packard Development Company, L.P. > + * > + * Authors: Waiman Long <waiman.long at hp.com> > + * Peter Zijlstra <pzijlstr at redhat.com> > + */ > +#include <linux/smp.h> > +#include <linux...
2014 Jun 16
4
[PATCH 01/11] qspinlock: A simple generic 4-byte queue spinlock
...option) any later version. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + * > + * (C) Copyright 2013-2014 Hewlett-Packard Development Company, L.P. > + * > + * Authors: Waiman Long <waiman.long at hp.com> > + * Peter Zijlstra <pzijlstr at redhat.com> > + */ > +#include <linux/smp.h> > +#include <linux...
2016 Jun 28
2
Tail call optimization is getting affected due to local function related optimization with IPRA
...amini at apple.com> wrote: >>>> >>>>> On Jun 27, 2016, at 12:25 PM, vivek pandya <vivekvpandya at gmail.com> wrote: >>>>> >>>>> Hello , >>>>> >>>>> To solve this bug locally I have given preference to tail call optimization over local function related optimization in IPRA. I have added following method to achieve this: >>>>> >>>>> bool isEligibleForTailCallOptimization(Function *F) { >>>>> CallingConv::ID CC = F->getCallingConv(); >>>>&gt...
2009 Feb 23
0
[LLVMdev] Broke my tail (call)
Hi Jon, > >From what I have understood of the LLVM docs about when tail calls get > eliminated on x86 and x64 it should be a tail call, yes. > > http://llvm.org/docs/CodeGenerator.html#tailcallopt > > . Caller and callee have the calling convention fastcc. > . The call is a tail call - in tail position (ret immediately follows cal...
2009 Nov 13
0
[LLVMdev] opt -std-compile-opts breaks tail calls
I've run into some issues with tail calls in the past, make sure you are doing the following: 1. Call should be marked with tail (obviously) 2. Next statement after tail call should be 'return void' 3. Use fast call convention for tail calls 4. Make sure the function you are calling doesn't use the 'noreturn' att...
2016 Oct 03
3
[PATCH v3 0/2] New tool: virt-tail.
Since v2: - Fix the things that Pino mentioned, except the recursion. - Implement Windows support. For Windows support to be sane, I had to inline the add_and_mount code. Rich.
2015 Sep 23
3
[PATCH] D12923: Add support for function attribute "notail"
...articular order: > 1) Can we always annotate the call site rather than the function? > That removes the unpredictability due to optimization. > > > Annotating the call site should be fine. For the use cases that we > care about, it probably isn't important to prevent tail calls on > indirect calls. Given this, I would lean towards a notail value being added as an alternative to "tail" and "musttail". This seems to fit the existing uses, doesn't have any obvious loop holes or best effort semantics, and solves the problem at hand. >...
2016 Oct 03
3
[PATCH v2 0/2] New tool: virt-tail.
Nothing new in the virt-tail command itself, but the second commit includes a simple test. Rich.
2013 Aug 02
2
[LLVMdev] Tail calls (TCO) in PNaCL | PNaCl Bitcode reference manual
...I appreciate you for opening the process for input and comments. One > question stood out to me while reading the document: > > The document [1] indicates that only the 'ccc' calling convention will > be supported. The LLVM documentation [2] prominently notes that, > "tail calls can only be optimized when [fastcc], the GHC or the HiPE > convention is used." 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 voi...
2017 Jan 05
5
Tail calls and portability
I have been working on adding proper tail (via `become`) to rustc. I was able to make them work (some parts of the type checker aren't implemented yet). However, I ran into an LLVM-related problem. LLVM claims to support proper tail calls when fastcc is used — but only on i386, x86-64 and PowerPC. Is this accurate? Will proper tail...
2016 Jun 29
0
Tail call optimization is getting affected due to local function related optimization with IPRA
I have tried out the following code which examines each call site in a module for tail call and do not perform optimization in such case: On Wed, Jun 29, 2016 at 12:34 AM, Mehdi Amini <mehdi.amini at apple.com> wrote: > > On Jun 28, 2016, at 3:01 PM, Matthias Braun <matze at braunis.de> wrote: > > > On Jun 28, 2016, at 11:34 AM, Mehdi Amini via llvm-dev...
2011 Dec 08
2
[LLVMdev] Implementing devirtualization
...virtual int foo() {return A::foo()*2;} }; int main() { A* a = new A(1); B* b = new B(2); int y = a->foo() + b->goo() + a->hoo() + b->hoo() + (*a + *b); delete a; delete b; return y; } Clang with -O4 -S -emit-llvm emits the following for main(): define i32 @main() { %1 = tail call noalias i8* @_Znwm(i64 16), !dbg !70 %2 = bitcast i8* %1 to %class.A*, !dbg !70 tail call void @llvm.dbg.value(metadata !{%class.A* %2}, i64 0, metadata !68) tail call void @llvm.dbg.value(metadata !71, i64 0, metadata !69) tail call void @llvm.dbg.value(metadata !{%class.A* %2}, i64 0...
2016 Jun 28
0
Tail call optimization is getting affected due to local function related optimization with IPRA
...;> >>>>> On Jun 27, 2016, at 12:25 PM, vivek pandya <vivekvpandya at gmail.com <mailto:vivekvpandya at gmail.com>> wrote: >>>>> >>>>> Hello , >>>>> >>>>> To solve this bug locally I have given preference to tail call optimization over local function related optimization in IPRA. I have added following method to achieve this: >>>>> >>>>> bool isEligibleForTailCallOptimization(Function *F) { >>>>> CallingConv::ID CC = F->getCallingConv(); >>>>&gt...
2009 Feb 23
0
[LLVMdev] Broke my tail (call)
On Monday 23 February 2009 12:08:00 Arnold Schwaighofer wrote: > Hello Duncan and Jon, > > I am the criminal responsible for the tail call implementation in the > backends. Thanks! :-) > On Mon, Feb 23, 2009 at 9:17 AM, Duncan Sands <baldrick at free.fr> wrote: > > Hi Jon, > > > >> >From what I have understood of the LLVM docs about when tail calls get > >> > >> eliminated o...
2011 Dec 09
0
[LLVMdev] Implementing devirtualization
...  A* a = new A(1); >   B* b = new B(2); >   int y = a->foo() + b->goo() + a->hoo() + b->hoo() + (*a + *b); >   delete a; delete b; >   return y; > } > > > Clang with -O4 -S -emit-llvm emits the following for main(): > > > define i32 @main() { >   %1 = tail call noalias i8* @_Znwm(i64 16), !dbg !70 >   %2 = bitcast i8* %1 to %class.A*, !dbg !70 >   tail call void @llvm.dbg.value(metadata !{%class.A* %2}, i64 0, metadata > !68) >   tail call void @llvm.dbg.value(metadata !71, i64 0, metadata !69) >   tail call void @llvm.dbg.value(metada...