(** * Semantic properties of the code transformation *)
(** ** The ``less defined than'' relation between register states *)
(** A call followed by a return without an argument can be turned into a tail call.  In this case, the original function returns [Vundef], while the transformed function can return any value. We account for this situation by using the ``less defined than'' relation between values and between memory states.  We need to extend it pointwise to register states. *)

Lemma regs_lessdef_init_regs:
forall params vl vl',
Val.lessdef_list vl vl' ->
regs_lessdef (init_regs vl params) (init_regs vl' params).