Next: src/target/arm, Previous: src/target/mips, Up: Project Layout [Contents][Index]
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.
Description of the i386 CPU.
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
.
How IA-32 fragments are to be displayed. In other words, that’s where the (global) syntax of the target assembly file is selected.
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
.
The IA-32 back-end, based on an IA-32 CPU and an IA-32 code generator.
The GNU/Linux and FreeBSD Tiger runtimes in IA-32
assembly language: print
etc. The C++ files
runtime-gnu-linux.cc and runtime-freebsd.cc are built from
runtime-gnu-linux.s and runtime-freebsd.s: do not edit the
former. See src/target, tiger-runtime.c.
Next: src/target/arm, Previous: src/target/mips, Up: Project Layout [Contents][Index]