Eliminating Range Checks using Static Single Assignment Form

John Gough
Faculty of Information Technology, Queensland University of Technology, Brisbane Australia.

Herbert Klaeren
Informatics Institute, University of Tuebingen, Tuebingen, Germany.


We propose a new method of eliminating range checks in connection with array index expressions and assignments to variables of subrange types. Contrary to the approaches documented in the literature, we work on an extended static single assignment form (XSA) very near the target level. This gives significant advantages over previous attempts since many questions don't occur at all or else in a simpler form in the XSA. The technique has been implemented in a family of Modula-2 and Oberon-2 compilers.

Keywords: range-checking, compilers, optimisation, SSA.

Conference Home Page