[llvm-dev] Addition to list of projects that use LLVM etc.

Richard Kenner via llvm-dev llvm-dev at lists.llvm.org
Mon Jul 19 11:35:43 PDT 2021


> Hi, I am a developer that loves to work in Ada.  Mostly recently,
> LLVM was added as a supported backend/frontend. I'm not sure whether
> to call it a front end or back end, since LLVM is in the middle
> between Ada/other-language and native executable.

What's "it" here?  The AdaCore Ada compiler (GNAT Pro) that's been
available for decades was based on the GCC compiler.  The front end is a
very large (over 700K lines of code) Ada program that generates a quite
complex tree.  There's about 38K lines of C code to traverse that tree and
make calls to GCC.

After a small "proof of concept" done in early 2013, I started working on
this in early 2018 and it now supports the full Ada language.  The strategy
is similar to what's done with GCC: there's code to traverse the tree
generated by the Ada front end and make calls to LLVM to generate the IR
corresponding to the Ada code.  This piece is about the same length (44K
lines) as the piece that talks to GCC, but is in Ada instead of C.

As you probably know, you can get this at:

https://github.com/AdaCore/gnat-llvm


More information about the llvm-dev mailing list