[LLVMdev] Back ends for instructional use?

Anton Korobeynikov anton at korobeynikov.info
Tue Aug 16 14:57:58 PDT 2011


Hello Vikram,

> I'm trying to decide whether to use either the MIPS or ARM back ends for course projects in our introductory compiler class.  I'd like to use something that has a stable back end, so that the students can use the selector, probably without changes, and do a project on register allocation and stack layout.  We don't have MIPS or ARM hardware (other than possibly a few donated Android phones to play with), so a simulator like Spim will be essential.
>
> 1. Is there a similar open-source or free simulator for ARM that would run llc- or lli-generated code on Linux?
>
> 2. How stable is the MIPS back end?  We need the whole thing for testing, and as a reference implementation.
Everything depends on what you want to use the backend for. Actually I
thought MSP430 backend as an example for such "educational" backend
(instruction set it only 25 or something like this instructions, RISC,
etc.), it even works for simple cases, but I don't have time right now
to finish it up to "fully usable" state.

Surely, if you're planning to teach some complex stuff (as Jacob
pointed for ARM case), then surely MSP430 is too simple for such a
purpose :)

-- 
With best regards, Anton Korobeynikov
Faculty of Mathematics and Mechanics, Saint Petersburg State University




More information about the llvm-dev mailing list