1,205 papers · page 37 of 61
Michael Codish, Anne Mulkers, Maurice Bruynooghe, Maria J. García de la Banda, Manuel V. Hermenegildo
This article considers static analysis based on abstract interpretation of logic programs over combined domains. It is known that analyses over combined domains provide more information potentially than obtained by the independent analyses. However, the construction of a combined…
Ron Cytron, Jeanne Ferrante
Recently, Static Single-Assignment Form and Sparse Evaluation Graphs have been advanced for the efficient solution of program optimization problems. Each method is provided with an initial set of flow graph nodes that inherently affect a problem's solution. Other relevant nodes a…
Saumya K. Debray
It is widely held that there is a correlation between complexity and precision in dataflow analysis, in the sense that the more precise an analysis algorithm, the more computationally expensive it must be. The details of this relationship, however, appear to not have been explore…
Christine Fricker, Olivier Temam, William Jalby
State-of-the art data locality optimizing algorithms are targeted for local memories rather than for cache memories. Recent work on cache interferences seems to indicate that these phenomena can severely affect blocked algorithms cache performance. Because of cache conflicts, it …
Michael P. Gerlek, Eric Stoltz, Michael Wolfe
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 g…
Milind Girkar, Constantine D. Polychronopoulos
Automatic detection of task-level parallelism (also referred to as functional, DAG, unstructured, or thread parallelism) at various levels of program granularity is becoming increasingly important for parallelizing and back-end compilers. Parallelizing compilers detect iteration-…
Pascal Van Hentenryck, Viswanath Ramachandran
Steven M. Kurlander, Todd A. Proebsting, Charles N. Fischer
A fast, optimal code-scheduling algorithm for processors with a delayed load of one instruction cycle is described. The algorithm minimizes both execution time and register use and runs in time proportional to the size of the expression-tree. An extension that spills registers wh…
Jean-Marie Larchevêque
This communication sets the problem of incremental parsing in the context of a complete incremental compiling system. It turns out that, according to the incrementally paradigm of the attribute evaluator and data-flow analyzer to be used, two definitions of optimal incrementality…
Stephen P. Masticola, Thomas J. Marlowe, Barbara G. Ryder
Multisource data flow problems involve information which may enter nodes independently through different classes of edges. In some cases, dissimilar meet operations appear to be used for different types of nodes. These problems include bidirectional and flow-sensitive problems as…
Bruce J. McKenzie, Corey Yeatman, Lorraine De Vere
Local error repair of strings during CFG parsing requires the insertion and deletion of symbols in the region of a syntax error to produce a string that is error free. Rather than precalculating tables at parser generation time to assist in finding such repairs, this article show…
Atsushi Ohori
The motivation of this work is to provide a type-theoretical basis for developing a practical polymorphic programming language with labeled records and labeled variants.Our goal is to establish both a polymorphic type discipline and an efficient compilation method for a calculus …
Jens Palsberg
Flow analyses of untyped higher-order functional programs have in the past decade been presented by Ayers, Bondorf, Consel, Jones, Heintze, Sestoft, Shivers, Steckler, Wand, and others. The analyses are usually defined as abstract interpretations and are used for rather different…
Jens Palsberg, Patrick O'Keefe
Flow-based safety analysis of higher-order languages has been studied by Shivers, and Palsberg and Schwartzbach. Open until now is the problem of finding a type system that accepts exactly the same programs as safety analysis. In this article we prove that Amadio and Cardelli's t…
Jens Palsberg, Cun Xiao, Karl J. Lieberherr
Adaptive programs compute with objects, just like object-oriented programs. Each task to be accomplished is specified by a so-called propagation pattern which traverses the receiver object. The object traversal is a recursive descent via the instance variables where information i…
Todd A. Proebsting
A simple and efficient algorithm for generating bottom-up rewrite system (BURS) tables is described. A small code-generator generator implementation produces BURS tables efficiently, even for complex instruction set descriptions. The algorithm does not require novel data structur…
Anne Rogers, Martin C. Carlisle, John H. Reppy, Laurie J. Hendren
Compiling for distributed-memory machines has been a very active research area in recent years. Much of this work has concentrated on programs that use arrays as their primary data structures. To date, little work has been done to address the problem of supporting programs that u…
R. Sekar, I. V. Ramakrishnan
Strictnessanalysis is a well-known technique used in compilers for optimization of sequential and '90..
Joseph P. Skudlarek
No abstract available.
Anthony M. Sloane
Compilers or language translators can be generated using a variety of formal specification techniques. Whether generation is worthwhile depends on the effort required to specify the translation task and the quality of the generated compiler. A systematic comparison was conducted …