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

3.2.25 The src/target/ia32 Directory

Namespace target::ia32, delivered for TC-7. Code generation for IA-32. This is not part of the student project, but it is left to satisfy their curiosity. In addition its presence is a sane invitation to respect the constraints of a multi-back-end compiler.

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

Description of the i386 CPU.

File: gas-assembly.* (src/target/ia32/)

The IA-32 assembly language (syntax, opcodes and layout); it abstracts the generation of IA-32 instructions using the GNU Assembler (Gas) syntax. target::ia32::GasAssembly derives from target::Assembly.

File: gas-layout.* (src/target/ia32/)

How IA-32 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/ia32/)
File: tree.brg (src/target/ia32/)
File: exp.brg (src/target/ia32/)
File: binop.brg (src/target/ia32/)
File: call.brg (src/target/ia32/)
File: temp.brg (src/target/ia32/)
File: mem.brg (src/target/ia32/)
File: stm.brg (src/target/ia32/)
File: move.brg (src/target/ia32/)
File: move_load.brg (src/target/ia32/)
File: move_store.brg (src/target/ia32/)
File: cjump.brg (src/target/ia32/)
File: prologue.hh (src/target/ia32/)
File: (src/target/ia32/)

A translator from LIR to ASSEM using the IA-32 instruction set defined by target::ia32::GasAssembly. It is implemented as a dynamic programming algorithm generated by MonoBURG from a set of brg files. target::ia32::Codegen derives from target::Codegen.

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

The IA-32 back-end, based on an IA-32 CPU and an IA-32 code generator.

File: runtime-gnu-linux.s (src/target/ia32/)
File: runtime-freebsd.s (src/target/ia32/)

The GNU/Linux and FreeBSD Tiger runtimes in IA-32 assembly language: print etc. The C++ files and are built from runtime-gnu-linux.s and runtime-freebsd.s: do not edit the former. See src/target, tiger-runtime.c.

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