Next: , Previous: , Up: Project Layout   [Contents][Index]


3.2.24 The src/target/mips Directory

Namespace target::mips, delivered for TC-7. Code generation for MIPS R2000.

File: cpu.* (src/target/mips/)

The description of the MIPS (actually, SPIM/Nolimips) CPU.

File: spim-assembly.* (src/target/mips/)

Our assembly language (syntax, opcodes and layout); it abstracts the generation of MIPS R2000 instructions. target::mips::SpimAssembly derives from target::Assembly.

File: spim-layout.* (src/target/mips/)

How MIPS (and SPIM/Nolimips) fragments are to be displayed. In other words, that’s where the (global) syntax of the target assembly file is selected.

File: codegen.* (src/target/mips/)
File: tree.brg (src/target/mips/)
File: exp.brg (src/target/mips/)
File: binop.brg (src/target/mips/)
File: call.brg (src/target/mips/)
File: temp.brg (src/target/mips/)
File: mem.brg (src/target/mips/)
File: stm.brg (src/target/mips/)
File: move.brg (src/target/mips/)
File: move_load.brg (src/target/mips/)
File: move_store.brg (src/target/mips/)
File: cjump.brg (src/target/mips/)
File: prologue.hh (src/target/mips/)
File: epilogue.cc (src/target/mips/)

A translator from LIR to ASSEM using the MIPS R2000 instruction set defined by target::mips::SpimAssembly. It is implemented as a dynamic programming algorithm generated by MonoBURG from a set of brg files. target::mips::Codegen derives from target::Codegen.

File: target.* (src/target/mips/)

The main back end, based on a MIPS CPU and a MIPS code generator.

File: runtime.s (src/target/mips/)
File: runtime.cc (src/target/mips/)

The Tiger runtime in MIPS assembly language: print etc. The C++ file runtime.cc is built from runtime.s: do not edit the former. See src/target, tiger-runtime.c.