similar to: [LLVMdev] question about tail call elimination pass ..

Displaying 20 results from an estimated 9000 matches similar to: "[LLVMdev] question about tail call elimination pass .."

2008 Aug 04
1
[LLVMdev] Repost: question about tail call elimination pass
NOTE: My original post was MIME mangled. So I'm reposting it. Sorry for that. Hi, createTailCallEliminationPass() is able to turn recursive functions into loops when the functions are written in tail recursive form. However, I'm unable to get it to convert mutually recursive functions to run without a growing stack. For example (in pseudo code)- define fact(n,result) if n < 2
2008 Aug 04
0
[LLVMdev] question about tail call elimination pass ..
Thanks Chris. That works. -Srikumar On 04 Aug 2008, at 12:12 PM, llvmdev-request at cs.uiuc.edu wrote: >> Hi, >> >> createTailCallEliminationPass() is able to turn recursive >> functions into loops when the functions are written >> in tail recursive form. However, I'm unable to get it >> to convert mutually recursive functions to run without >> a
2013 Sep 25
0
[LLVMdev] [Polly] Move Polly's execution later
Here is an update about moving Polly later. 1. Why does Polly generate incorrect code when we move Polly immediately after the loop rotating pass? It is mainly caused by a wrong polly merge block. When Polly detects a valid loop for Polyhedral transformations, it usually introduces a new basic block "polly.merge_new_and_old" after the original loop exit block. This new basic block
2013 Sep 25
3
[LLVMdev] [Polly] Move Polly's execution later
On 09/25/2013 04:55 AM, Star Tan wrote: > Here is an update about moving Polly later. Hi star tan, thanks for your report. > > 1. Why does Polly generate incorrect code when we move Polly immediately after the loop rotating pass? > > It is mainly caused by a wrong polly merge block. When Polly detects a valid loop for Polyhedral transformations, it usually introduces a new basic
2013 Apr 17
0
[LLVMdev] [polly] pass ordering
On 04/17/2013 09:04 PM, Sebastian Pop wrote: > Tobias Grosser wrote: >> As said before, we could probably add it in between those two passes: >> >> MPM.add(createReassociatePass()); // Reassociate expressions >> + addExtensionsToPM(EP_LoopOptimizerStart, MPM); >> MPM.add(createLoopRotatePass()); // Rotate Loop > > As this is in the middle of other
2013 Apr 17
3
[LLVMdev] [polly] pass ordering
Hi, polly is run very early and schedules the following passes before it runs: /// @brief Schedule a set of canonicalization passes to prepare for Polly /// /// The set of optimization passes was partially taken/copied from the /// set of default optimization passes in LLVM. It is used to bring the code /// into a canonical form that simplifies the analysis and optimization passes /// of Polly.
2013 Sep 14
0
[LLVMdev] [Polly] Compile-time and Execution-time analysis for the SCEV canonicalization
Hello all, I have evaluated the compile-time and execution-time performance of Polly canonicalization passes. Details can be referred to http://188.40.87.11:8000/db_default/v4/nts/recent_activity. There are four runs: pollyBasic (run 45): clang -O3 -Xclang -load -Xclang LLVMPolly.so pollyNoGenSCEV (run 44): clang -O3 -Xclang -load -Xclang LLVMPolly.so -mllvm -polly -mllvm -polly-codegen-scev
2013 Apr 17
0
[LLVMdev] [polly] pass ordering
On 04/17/2013 05:53 PM, Sebastian Pop wrote: > Hi, > > polly is run very early and schedules the following passes before it runs: > > /// @brief Schedule a set of canonicalization passes to prepare for Polly > /// > /// The set of optimization passes was partially taken/copied from the > /// set of default optimization passes in LLVM. It is used to bring the code > ///
2013 Sep 22
4
[LLVMdev] [Polly] Move Polly's execution later
Hi Tobias, At 2013-09-19 22:59:25,"Tobias Grosser" <tobias at grosser.es> wrote: >On 09/19/2013 04:46 PM, Star Tan wrote: >> Hi Tobias, >> >> >> I am trying to move Polly later. >> >> >> LLVM provides some predefined ExtensionPointTy: >> EP_EarlyAsPossible, >> EP_ModuleOptimizerEarly, >>
2013 Apr 17
2
[LLVMdev] [polly] pass ordering
Tobias Grosser wrote: > On 04/17/2013 05:53 PM, Sebastian Pop wrote: > >Hi, > > > >polly is run very early and schedules the following passes before it runs: > > > >/// @brief Schedule a set of canonicalization passes to prepare for Polly > >/// > >/// The set of optimization passes was partially taken/copied from the > >/// set of default
2013 Sep 13
2
[LLVMdev] [Polly] Compile-time and Execution-time analysis for the SCEV canonicalization
At 2013-09-09 13:07:07,"Tobias Grosser" <tobias at grosser.es> wrote: >On 09/09/2013 05:18 AM, Star Tan wrote: >> >> At 2013-09-09 05:52:35,"Tobias Grosser" <tobias at grosser.es> wrote: >> >>> On 09/08/2013 08:03 PM, Star Tan wrote: >>> Also, I wonder if your runs include the dependence analysis. If this is >>> the
2013 Apr 17
2
[LLVMdev] [polly] pass ordering
Tobias Grosser wrote: > As said before, we could probably add it in between those two passes: > > MPM.add(createReassociatePass()); // Reassociate expressions > + addExtensionsToPM(EP_LoopOptimizerStart, MPM); > MPM.add(createLoopRotatePass()); // Rotate Loop As this is in the middle of other LNO passes, can you please rename s/EP_LoopOptimizerStart/EP_Polly_LNO/ or
2011 Apr 17
2
Tail Call Elimination?
Dear R-programmers, I am trying to program a Newton-Raphson in R (yes, i will try GSL, not right now), and it would be a real boon if R had tail call elimination, so that a recursive program has a guarantee not to fail due to stack overflows, given how slow loops in R are. I did look at the documentation, but could not find a reason for it. Regards, Mohit Dayal Researcher Applied Statistics
2014 May 08
3
[LLVMdev] Small problem with the tail call elimination pass
Hello everybody, On the documentation page for the tailcallelim pass you can read: "This pass transforms functions that are prevented from being tail recursive by an associative expression to use an accumulator variable, thus compiling the typical naive factorial or fib implementation into efficient code” However, I don’t see this behavior when trying to compile this variant of the
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
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: >
2006 Sep 03
0
[LLVMdev] llvm-gcc4: Enable various optimizations at -O1/-O2
Hi All, I have installed llvm-gcc4 patch to enable various llvm optimizations at -O1/-O2/-O3. This means instead of $ llvm-gcc4 --emit-llvm foo.c -o foo.bc $ opt foo.bc -o foo_optimized.bc $ llc foo_optimized.bc -o foo.o One can directly use $ llvm-gcc4 -O2 foo.c -o foo.o to get optimized foo.o - Devang + + if (optimize > 0) { + + +
2006 Apr 20
1
Mutually Orthogonal Latin Squares
Hi all, The package crossdes could contruct a complete sets of mutually orthogonal latin squares. The construction works for prime powers only. I hope to know whether there is a way to construct a mutually orthogonal Lation square for 10 or other numbers that could not be prime powers. Thanks for any suggestions. Best wishes, Jinsong Zhao
2010 Jan 04
3
[LLVMdev] Tail Call Optimisation
On 04/01/2010, at 3:01 PM, Jon Harrop wrote: > 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
2013 Apr 17
0
[LLVMdev] [polly] pass ordering
On 04/17/2013 08:37 PM, Sebastian Pop wrote: > Tobias Grosser wrote: >> On 04/17/2013 05:53 PM, Sebastian Pop wrote: >>> Hi, >>> >>> polly is run very early and schedules the following passes before it runs: >>> >>> /// @brief Schedule a set of canonicalization passes to prepare for Polly >>> /// >>> /// The set of