(** This module performs a transformation of a [Clight] program with potentially
32 and 16 bits integers to an equivalent [Clight] program that only uses 8
bits integers.
The main changes are: defining two types that represent 32 and 16 bits
integers with a structure of 8 bits integers, making the substitution,
replacing primitive integer operations on 32 and 16 bits integers with new
functions emulating them on the new types, and finally defining a global
variable for each 32 and 16 bits integer constant, which is then replaced by
its associated variable. *)
val translate : Clight.program -> Clight.program