** Next:** Benchmarking HPJava, Part I:
** Up:** Optimization Strategies for HPJava
** Previous:** Case Study: Laplace Equation
** Contents**

#

Discussion

We have reviewed some optimization schemes such as Partial Redundancy
Elimination (PRE), Strength Reduction (SR), Dead Code Elimination
(DCE), and Loop Unrolling (LU) algorithms to optimize the
subscript expression of a multiarray element access and control
variables for `overall` constructs.
PRE and SR are good candidates to make the natural
complexity of the subscript expression of a multiarray element
access simpler. Moreover, with some compiler information and the help
of the unrolling technique, control variables generated by the naive
translation for the `overall` construct can be hoisted ouside the
outermost `overall` construct. Since the control variables are
often dead, the Dead Code Elimination algorithm can be applied as
well.
We have introduced the HPJava optimization strategy, *HPJOPT2* we
plan to apply. It hoists control variables to the outermost loop by
using compiler information if partially redundant, applies Dead Code
Elimination, and finally applies Partially Redundancy Elimination and
Strength Reduction. HPJOPT2 originally targets the subscript
expressions of a multiarray element access and control variables for
`overall` constructs. However, it will also generally optimize
complex expressions, eliminate some dead codes, and reduce expressions
in strength in HPJava programs.

** Next:** Benchmarking HPJava, Part I:
** Up:** Optimization Strategies for HPJava
** Previous:** Case Study: Laplace Equation
** Contents**
Bryan Carpenter
2004-06-09