similar to: [LLVMdev] repeated recursion with "frozen" arguments

Displaying 20 results from an estimated 20000 matches similar to: "[LLVMdev] repeated recursion with "frozen" arguments"

2003 Aug 27
2
[LLVMdev] repeated recursion with "frozen" arguments
Hi LLVM-devels, > Yup, I think I completely missed your point. :) funny, that if even so, I got two similar and concrete answers already: "it is suitable for LLVM, though not implemented yet" :) > > generally you are right. But only generally :) > > In particular, my example showed a feature of typical lexical closure. > > Can you explain more about what you
2003 Aug 26
2
[LLVMdev] repeated recursion with "frozen" arguments
Hello Chris, Tuesday, August 26, 2003, 11:02:45 PM, you wrote: >> there is a very simple using case concerning LLVM and I am wondering >> whether it might be optimized at LLVM layer: >> >> //----------- >> int rec_func(int x, int y) { >> if(y<0) return x; >> return y + rec_func(x, y-1); // should we really push x? >> } CL> Probably not,
2003 Aug 26
0
[LLVMdev] repeated recursion with "frozen" arguments
> there is a very simple using case concerning LLVM and I am wondering > whether it might be optimized at LLVM layer: > > //----------- > int rec_func(int x, int y) { > if(y<0) return x; > return y + rec_func(x, y-1); // should we really push x? > } Probably not, at least not in the near future. At some point I have had thoughts about implementing a tail recursion
2003 Aug 26
0
[LLVMdev] repeated recursion with "frozen" arguments
The optimization you are describing is called procedure cloning, where the body of a procedure is copied and then specialized for particular call sites. It is usually driven by interprocedural constant propagation, and often by profiling to find which cases are frequent enough to make it worthwhile (here the recursive calls would make both cases -- x=1 and x=2 -- worthwhile). LLVM would be very
2003 Aug 27
0
[LLVMdev] repeated recursion with "frozen" arguments
On Wed, 27 Aug 2003, [koi8-r] "������� ������" wrote: > funny, that if even so, I got two similar and concrete > answers already: > "it is suitable for LLVM, though not implemented yet" > :) :) > S2. Theoretically this redundant copy might be eliminated. > The idea is simple: at first (i.e. non-recursive) call > generate `rec_func' code which
2003 Dec 24
0
[LLVMdev] RE: repeated recursion with "frozen" arguments
<Chris is cleaning out his inbox> Valery A.Khamenya wrote (in http://mail.cs.uiuc.edu/pipermail/llvmdev/2003-August/000455.html): > there is a very simple using case concerning LLVM and I am wondering > whether it might be optimized at LLVM layer: > int rec_func(int x, int y) { > if(y<0) return x; > return y + rec_func(x, y-1); // should we really push x? > }
2003 Aug 26
0
[LLVMdev] repeated recursion with "frozen" arguments
> CL> Probably not, at least not in the near future. At some point I have had > CL> thoughts about implementing a tail recursion pass, but without prior > CL> transformation, this function would not be a candidate. > > wait... if you break this C-example at the place as you did then it is > absolutely not what I have meant. Indeed, sense of my example comes > iff the
2024 Mar 08
1
Function environments serialize to a lot of data until they don't
Hello R-help, I've noticed that my 'parallel' jobs take too much memory to store and transfer to the cluster workers. I've managed to trace it to the following: # `payload` is being written to the cluster worker. # The function FUN had been created as a closure inside my package: payload$data$args$FUN # function (l, ...) # withCallingHandlers(fun(l$x, ...), error =
2003 Oct 26
2
[LLVMdev] redhat 9, compiling llvm-1.0.tar.gz
Hi all, compilation of package llvm-1.0.tar.gz under redhat 9 is failed with following output: ------- make[3]: *** No rule to make target `/home/vak/llvm/llvm/runtime/GCCLibraries/crtend/BytecodeObj/C++-Exception.bc', needed by `/home/vak/llvm/llvm/lib/BytecodeLibs/libcrtend.bc'. Stop. make[3]: Leaving directory `/home/vak/llvm/llvm/runtime/GCCLibraries/crtend' ...skipped -------
2004 Jan 07
2
[LLVMdev] 9 Ideas To Better Support Source Language Developers
On Wed, 7 Jan 2004, Valery A.Khamenya wrote: > just imagine, that we have Linux cluster, and we have two functions in > one module (`f' and `g'). If they are about to be executed at one host, > then one is allowed to do very aggressive interprocedural > optimizations between these `f' and `g'. However if `g' should be > "outsourced to" (i.e.
2004 Jan 08
2
[LLVMdev] Re: idea 10
Just a few notes from the peanut gallery... note that I can't really say what is and is not possible with LLVM, I can just talk about our plans (which we believe to be possible). If you guys are really interested in this stuff, try hacking something together and see if it works! :) On Thu, 8 Jan 2004, [koi8-r] "Valery A.Khamenya[koi8-r] " wrote: > > Indeed, LLVM will
2004 Jan 07
2
[LLVMdev] 9 Ideas To Better Support Source Language Developers
On Wed, 7 Jan 2004, Valery A.Khamenya wrote: > Hello Reid and LLVMers, > 10. Basic support for distributed computations. What kind of support? What do you think should be included in LLVM directly, as opposed to being built on top of it? -Chris -- http://llvm.cs.uiuc.edu/ http://www.nondot.org/~sabre/Projects/
2011 Nov 07
1
Accessing ENVSXP and CLOSXP while processing parsed R code
Hello Guys, Following up my earlier mail where I am trying to write an alternative front-end for R, I had a question about accessing the closures and environments in R code. Here's the function taken and modified a little from "*Lexical Scope and Statistical Computing*" ===================================================================== f<-function(){
2003 Oct 26
2
[LLVMdev] redhat 9, compiling llvm-1.0.tar.gz
Hello Chris, Sunday, October 26, 2003, 8:06:03 PM, you wrote: CL> Makes sure that you have the C front-end installed correctly, and that CL> the configure script found it (you have to provide the path to the C CL> frontend to the configure script). hm... why cross-dependency?.. I thought llvm itself doesn't use cfront-end. P.S. Chris, I guess you know, but to be sure: your
2019 Jul 20
2
[libnbd] More thoughts on callbacks and more
More thoughts on callbacks, etc. following on from: https://www.redhat.com/archives/libguestfs/2019-July/thread.html#00184 Closure lifetimes ----------------- Closures could have a lifetime if we had a little bit of support from the C library. We would generate (from C only): nbd_set_free_<fn>_<closure> (nbd, free_closure); which calls free_closure (user_data) as soon as the
2003 Oct 25
3
[LLVMdev] version 1.0, compiling under cygwin
Hello llvmdev, (just for fun) I've tried to compile LLVM under cygwin. With "make -k" I got only: ----------------- DynamicLinker.cpp: In function `void* GetAddressOfSymbol(const char*)': DynamicLinker.cpp:40: error: `RTLD_DEFAULT' undeclared (first use this function) DynamicLinker.cpp:40: error: (Each undeclared identifier is reported only once for each
2008 Nov 17
4
functional (?) programming in r
the following is a trivialized version of some functional code i tried to use in r: (funcs = lapply(1:5, function(i) function() i)) # a list of no-parameter functions, each with its own closure environment, # each supposed to return the corresponding index when applied to no arguments sapply(funcs, function(func) func()) # supposed to return c(1,2,3,4,5) there is absolutely nothing unusual in
2006 Jan 11
2
[LLVMdev] Explicitly Managed Stack Frames
I was wondering what the current state of this (explicitly managed stack frames) is. Is it being worked on? If not, how hard do you think it would be for me to add it? I am more than willing to work on it, but don't have any experience with LLVM, so it might take a while. The reason I ask is because I am starting work on a project to make a language similar to ML with which to experiment,
2006 Apr 10
10
Prototype Ajax - How to pass my own params to onComplete ?
Sorry if this has been covered before, i can''t imagine it hasn''t, but i''ve been unable to find any information on it. Can i pass my own parameters to the onComplete function specified by Ajax.Request ? My basic setup is i have an html element triggering an event (the ajax update). I have additional information encoded into the element about how it should handle
2009 Oct 13
1
unexpected behavior in list of lexical closures (PR#14004)
Full_Name: Elliott Forney Version: 2.9.2 OS: Linux, Fedora 10 Submission from: (NULL) (129.82.47.235) The following code creates a list of functions that are lexically closed over a single argument. If a print statement is included then each function in the list evaluates to a different value. If the print statement is not included then each function evaluates to something different, as