[llvm-dev] LLVM Backend for a platform with no (normal) stack

Bruce Hoult via llvm-dev llvm-dev at lists.llvm.org
Mon Dec 17 06:28:21 PST 2018

On Mon, Dec 17, 2018 at 6:14 AM Mendell, Mark P <mark.p.mendell at intel.com>

> For a machine like an FPGA with no stack, you have to ensure that you have
> an optimization that rewrites the alloca into either registers (such as
> PromoteMem2Reg) or that you rewrite the alloca by declaring a static local,
> and rewriting the code to use that instead of the alloca result.

You'll then have to make sure programs never have recursion.

When it comes down to it, nothing we run programs on actually has a true
unbounded stack. We just have a region of memory that we calculate or hope
will be big enough. But over a million people (mostly amateurs) happily and
regularly run C++ programs (with virtual functions and all) compiled by gcc
on machines with only 2 KB of RAM: the ATmega328 in most Arduinos.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20181217/29589480/attachment.html>

More information about the llvm-dev mailing list