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