Global Flow Analysis as a Practical Compilation Tool
Manuel Hermenegildo
Richard Warren
Saumya Debray
Abstract
This paper addresses the issue of the practicality of global flow
analysis in logic program compilation, in terms of speed of the
analysis, precision, and usefulness of the information obtained. To
this end, design and implementation aspects are discussed for two
practical abstract interpretation-based flow analysis systems:
MA3, the MCC And-parallel Analyzer and Annotator; and Ms, an
experimental mode inference system developed for SB-Prolog. The paper
also provides performance data obtained from these implementations
and, as an example of an application, a study of the usefulness of the
mode information obtained in reducing run-time checks in independent
and-parallelism. Based on the results obtained, it is concluded that
the overhead of global flow analysis is not prohibitive, while the
results of analysis can be quite precise and useful.