Artigo Acesso aberto Revisado por pares

Beyond induction variables

1995; Association for Computing Machinery; Volume: 17; Issue: 1 Linguagem: Inglês

10.1145/200994.201003

ISSN

1558-4593

Autores

Michael P. Gerlek, Eric Stoltz, Michael Wolfe,

Tópico(s)

Parallel Computing and Optimization Techniques

Resumo

Linear induction variable detection is usually associated with the strength reduction optimization. For restructuring compilers, effective data dependence analysis requires that the compiler detect and accurately describe linear and nonlinear induction variables as well as more general sequences. In this article we present a practical technique for detecting a broader class of linear induction variables than is usually recognized, as well as several other sequence forms, including periodic, polynomial, geometric, monotonic, and wrap-around variables. Our method is based on Factored Use-Def (FUD) chains, a demand-driven representation of the popular Static Single Assignment (SSA) form. In this form, strongly connected components of the associated SSA graph correspond to sequences in the source program: we describe a simple yet efficient algorithm for detecting and classifying these sequences. We have implemented this algorithm in Nascent, our restructuring Fortran 90+ compiler, and we present some results showing the effectiveness of our approach.

Referência(s)