<div dir="ltr"><div>Hi all,</div><div><br></div><div>We would like to contribute a new backend for the Lanai processor (derived from the processor described in [1]).</div><div><br></div><div>Lanai is a simple in-order 32-bit processor with:</div><div>  * 32 32-bit registers, including:</div><div>    * 2 registers with fixed values;</div><div>    * 4 used for program state tracking (PC, SP, FP, RCA);</div><div>    * 2 reserved for explicit usage by user (R10 and R11), used in threading library;</div><div>    * Up to 4 used for argument passing;</div><div>    * No callee-saved registers</div><div>  * No floating point support</div><div><br></div><div>Backend development is focused primarily on compiling C99 code (no exception support). The patches implement all the parts required for code generation:</div><div><br></div><div>* LLVM triple: <a href="http://reviews.llvm.org/D17003">http://reviews.llvm.org/D17003</a></div><div>* Clang support: <!--
--><a href="http://reviews.llvm.org/D17002">http://reviews.llvm.org/D17002</a></div><div>* MCExpr & ELF: <a href="http://reviews.llvm.org/D17008">http://reviews.llvm.org/D17008</a></div><div>* Lanai backend (lib/Target/Lanai): <a href="http://reviews.llvm.org/D17011">http://reviews.llvm.org/D17011</a></div><div><br></div><div>We are still actively developing the backend and have many optimizations in mind.</div><div><br></div><div>I'll be the maintainer of this backend.</div><div><br></div><div>Please leave code comments on the Phab patches, while discussing high-level comments about the backend on this llvm-dev thread.</div><div><br></div><div>Thanks,</div><div><br></div><div>Jacques</div><div><br></div><div>[1] David E. Culler, Anoop Gupta, and Jaswinder Pal Singh. 1997. Parallel Computer Architecture: A Hardware/Software Approach (1st ed.). Morgan Kaufmann Publishers Inc., San Francisco, CA, USA.</div></div>