High Speed Compilation of Efficient Object Code

A three-pass compiler with the following properties
is briefly described:  The last two passes 
scan an intermediate language produced by the preceding
pass in essentially the reverse of the order 
in which it was generated, so that the first pass is the
only one which hasto read the bulky problem-oriented 
input.  The double scan, one in either direction, performed
by the first two passes, allows the compiler 
to remove locally constant expressions and recursively
calculable expressions from loops and to do the 
important part of common subexpression recognition.
 Optimization such as the effective use of index 
registers, although as important, is not discussed since
the object code which would be most efficient 
is highly machine dependent.  The discussion is in terms
of a FORTRAN-like language, although the technique 
is applicable to most algebraic languages.

CACM August, 1965

Gear, C. W.

CA650801 JB March 6, 1978  8:45 PM

267	4	1223
1139	4	1223
1141	4	1223
1215	4	1223
1223	4	1223
1223	4	1223
1388	4	1223
1647	4	1223
1781	4	1223
1787	4	1223
1792	4	1223
364	4	1223
405	4	1223
436	4	1223
438	4	1223
763	4	1223
1223	5	1223
1223	5	1223
1223	5	1223
224	5	1223
1781	5	1223
1807	5	1223
1945	5	1223
1947	5	1223
405	5	1223
823	6	1223
123	6	1223
196	6	1223
914	6	1223
915	6	1223
917	6	1223
919	6	1223
984	6	1223
989	6	1223
990	6	1223
990	6	1223
1007	6	1223
1012	6	1223
1046	6	1223
1084	6	1223
1098	6	1223
1122	6	1223
1131	6	1223
1134	6	1223
1138	6	1223
1139	6	1223
1139	6	1223
1140	6	1223
1141	6	1223
1149	6	1223
1198	6	1223
1200	6	1223
1215	6	1223
1223	6	1223
1223	6	1223
1223	6	1223
1223	6	1223
1248	6	1223
1248	6	1223
1265	6	1223
1265	6	1223
1303	6	1223
1323	6	1223
1336	6	1223
1358	6	1223
1366	6	1223
1396	6	1223
1421	6	1223
1455	6	1223
1460	6	1223
1462	6	1223
1463	6	1223
1467	6	1223
1468	6	1223
1477	6	1223
1477	6	1223
1487	6	1223
1491	6	1223
1491	6	1223
1496	6	1223
1496	6	1223
1531	6	1223
1535	6	1223
1551	6	1223
1565	6	1223
1601	6	1223
1602	6	1223
1613	6	1223
1614	6	1223
1626	6	1223
1641	6	1223
1787	6	1223
1788	6	1223
205	6	1223
224	6	1223
249	6	1223
288	6	1223
1947	6	1223
316	6	1223
381	6	1223
398	6	1223
399	6	1223
11	6	1223
404	6	1223
410	6	1223
463	6	1223
464	6	1223
483	6	1223
483	6	1223
3184	6	1223
3188	6	1223
584	6	1223
584	6	1223
600	6	1223
669	6	1223
680	6	1223
680	6	1223
691	6	1223
763	6	1223
763	6	1223
799	6	1223