[PATCH] Allow tail call optimization through multiple/nested struct extractions/insertions

Evan Cheng evan.cheng at apple.com
Thu Apr 18 20:27:24 PDT 2013


Hi Stephen,

Is it possible to rewrite sameNoopInput without recursion?

Thanks,

Evan

Sent from my iPad

On Apr 18, 2013, at 6:13 AM, Stephen Lin <swlin at post.harvard.edu> wrote:

> Hi,
> 
> This patch generalizes target-independent tail call opportunity
> detection to handle cases where a struct is decomposed and recomposed
> multiple times, is nested within another struct, or any combination of
> both along with any combination of other intermediate no-ops. It also
> allows tail calls when structs are partially undefined, as long as all
> defined values have the appropriate origins.
> 
> Finally, it adds an explicit check for the all-zero getelementptr
> case; it seems like the case already works most of the time due to
> other reductions, but I'm adding an explicit check to minimize phase
> ordering issues and because an in-development patch depends on it.
> 
> Please kindly review.
> Stephen
> <tail-call-nested-struct.patch>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits



More information about the llvm-commits mailing list