[LLVMdev] Back ends for instructional use?

Jim Grosbach grosbach at apple.com
Mon Aug 15 11:38:32 PDT 2011


On Aug 15, 2011, at 11:20 AM, Adve, Vikram Sadanand wrote:

> 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?

Would QEMU work, perhaps? Caveat: I haven't used it personally for this sort of thing.

Static code-gen (via llc) may change, but it's production quality and correctness is continually tested, so should stay reasonably so even on top-of-tree. The JIT (used by lli) for ARM is in a bit of a state of flux right now. I wouldn't count on it being very stable.  For projects like you're talking about, I'd think using the JIT would be unneeded complexity, so this is probably OK for your use?

> 2. How stable is the MIPS back end?  We need the whole thing for testing, and as a reference implementation.

I'm much less familiar with the MIPS backend, so I can't really speak to its suitability.

Regards,
  Jim

> Thanks!
> 
> --Vikram
> Professor, Computer Science
> University of Illinois at Urbana-Champaign
> http://llvm.org/~vadve
> 
> 
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev




More information about the llvm-dev mailing list