[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

GCCJIT and tail-recursive calls



Hello all,

It is well known that GCC is sometimes able to optimize some calls to tail-recursive calls (or tail calls
https://en.wikipedia.org/wiki/Tail_call ...) which do not consume any stack.

can a GCCJIT application issues such tail calls? I'm not talking of letting GCC decide entirely by itself (GCCJIT is probably doing that already). I was thinking of adding a construct where the GCCJIT client knows for sure that the call should be tail-rec (and if GCCJIT was not able to make a tailcall, that would be an error). Also, even without optimization (i.e. at -O0) that should remain a tailcall...

Perhaps adding a gcc_jit_block_end_with_tail_call function?

Regards.

--
Basile STARYNKEVITCH         http://starynkevitch.net/Basile/
email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359
8, rue de la Faiencerie, 92340 Bourg La Reine, France
*** opinions {are only mine, sont seulement les miennes} ***