[llvm-dev] Tail calls and portability

Simon Dardis via llvm-dev llvm-dev at lists.llvm.org
Thu Jan 5 06:01:24 PST 2017

There is some support for tail calls for MIPS, but it is not enabled by default yet.


From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf Of Demi Obenour via llvm-dev
Sent: 05 January 2017 03:08
To: llvm-dev at lists.llvm.org
Subject: [llvm-dev] 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 calls be supported on WebAssembly?  Are they supported on ARM? AArch64? Other backends?

More information about the llvm-dev mailing list