LASL-P code: an intermediate level vector language
Linda Zucconi · University of North Texas Digital Library (University of North Texas) · 1979
LASL P-code is derived from Pascal P-code, the machine language of the Pascal P-machine. It is used as an intermediate language by the Model and Pascal compilers running on the LASL CRAY-1 computer. Los Alamos Scientific Laboratory (LASL) P-code is also designed for use by a vector syntax Fortran language compiler. The LASL P-code translator runs on the CRAY-1 and generates CAL, Cray Assembly Language. It uses the vector capabilities of the CRAY-1. Vector operations are implicit in P-code. Vector load and vector store are explicit P-code instructions that create a vector descriptor on the P-machine stack. The vector described may be of length and stride not known at compile time. This feature is necessary if P-code is to support vector Fortran. Included in P-code are instructions for use by a global P-code to P-code optimizer. This optimizer accepts P-code from any compiler generating P-code and produces optimized P-code which is then submitted to the P-code translator. The optimizer performs live variable analysis, reallocates P-machine memory, and does common subexpression elimination. It performs interprocedural analysis and folds procedures in line where it is optimal to do so. (RWR)