Sciweavers

ICFP
1997
ACM

Implementing Bit-addressing with Specialization

13 years 8 months ago
Implementing Bit-addressing with Specialization
General media-processing programs are easily expressed with bitaddressing and variable-sized bit-fields. But the natural implementation of bit-addressing relies on dynamic shift offsets and repeated loads, resulting in slow execution. If the code is specialized to the alignment of the data against word boundaries, the offsets become static and many repeated loads can be removed. We show how introducing modular arithmetic into an automatic compiler generator enables the transformation of a program that uses bit-addressing into a synthesizer of fast specialized programs. In partial-evaluation jargon we say: modular arithmetic is supported by extending the binding time lattice used by the static analysis in a polyvariant compiler generator. The new binding time Cyclic functions like a partially static integer. A software cache combined with a fast, optimistic sharing analysis built into the compilers eliminates repeated loads and stores. The utility of the transformation is demonstrated...
Scott Draves
Added 06 Aug 2010
Updated 06 Aug 2010
Type Conference
Year 1997
Where ICFP
Authors Scott Draves
Comments (0)