A method for statically allocating a procedure return address includes
separating a software program including multiple procedures into a cyclic
part and an acyclic part, allocating a static address for the return
address of a procedure in the acyclic part and modifying at least one of
the procedures to refer to the static address for the procedure return
address.