[Salto Home Page]

Functional Specification of Salto: A Retargetable System for Assembly Language Transformation and Optimization

Abstract This document presents, in a user-oriented approach, the basic concepts and a specification of Salto, a retargetable System for Assembly Language Transformation and Optimization. Salto provides a framework for implementing complex manipulations of low-level codes, necessary when tuning performance-critical applications. This is achieved through the use of a detailed description of the target architecture, covering the instruction set, hardware configuration, and resource reservation tables of all instructions. An object-based user interface allows to easily implement complex transformations directly on the abstract representation of assembly programs, making it easy to cope with new hardware configurations, assembly language formats, and optimization techniques. The resulting software infrastructure lets the user concentrate on the implementation of actual optimizations and code instrumentation methods, suppressing the concern about implementing house-keeping tasks.