[LLVMdev] Back ends for instructional use?

Vikram Adve vadve at illinois.edu
Sat Aug 20 08:14:06 PDT 2011


Thank you, all, for the responses to my question -- they have been very helpful.  What I'm teaching this Fall is an introductory compiler class and the complexity of ARM is a more than what I am looking for.  The goal of this project is not to deal with a lot of bells and whistles but to understand the general principles of writing (part of) a back-end.

Given that the MIPS back-end seems to be in reasonably good shape, I'll go with a MIPS project.

--Vikram
Professor, Computer Science
University of Illinois at Urbana-Champaign
http://llvm.org/
http://llvm.cs.illinois.edu/~vadve





On Aug 16, 2011, at 4:57 PM, Anton Korobeynikov wrote:

> 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