For Fortran, "IMPLICIT NONE" is generated in the declaration part by default (the same as the -I1 option). You can avoid this by the -I0 option (the same as -I). The -I2 option gives you SPARC Fortran syntax "IMPLICIT UNDEFINED(A-Z)". Note that "IMPLICIT NONE" is not Fortran77 but Fortran8x. Alliant Fx/Fortran, f77(DEC OSF/1 2.0) and f77(ULTRIX 4.3) are confirmed to accept "IMPLICIT NONE". As of Oct. 25, 1994, this paragraph is not applicable to sites other than CSRD.
The user can control the effort of Parafrase-2 in finding induction expressions. This is done via a switch, "-v", that specifies the highest degree of interpolating polynomials for induction expressions. For example, "-v2" causes Parafrase-2 to find all induction expressions up to degree two. This includes loop invariant expressions, linear induction expressions, and quadratic induction expressions. The default is "-v1", i.e. only loop invariants and linear induction expressions are recognized by default. In some cases, however, Parafrase-2 can detect induction expressions of degrees higher than that specified by the "-v" switch, although its effort is restricted by the switch "-v".
This pass normalizes the loops bounds when this is more appropriate. It also forward substitutes all the values, when this is legal. Symbolic constant propagation is also done in this pass. Also, all array subscript expressions will be normalized by this pass. A dead code elimination is also performed by this pass to eliminate unused scalar computations. This elimination is necessary for elimination of the intermediate computations of induction variables which otherwise prevents loop parallelization.
builddep
hier -klsv
dotodoall
Click here to see an example. Click here for usage.