PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
A variation of Knoop, Rüthing, and Steffen's Lazy Code Motion
ACM SIGPLAN Notices
Frameworks for abstract interpretation
Acta Informatica
Object-oriented type systems
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Optimal code motion: theory and practice
ACM Transactions on Programming Languages and Systems (TOPLAS)
The power of assignment motion
PLDI '95 Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
Parallelism for free: efficient and optimal bitvector analyses for parallel programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Computing Surveys (CSUR)
ACM Computing Surveys (CSUR)
Eliminating partially dead code in explicitly parallel programs
Theoretical Computer Science - Special issue on parallel computing
Advanced compiler design and implementation
Advanced compiler design and implementation
Building an optimizing compiler
Building an optimizing compiler
Code motion for explicitly parallel programs
Proceedings of the seventh ACM SIGPLAN symposium on Principles and practice of parallel programming
Global optimization by suppression of partial redundancies
Communications of the ACM
A unified approach to global program optimization
POPL '73 Proceedings of the 1st annual ACM SIGACT-SIGPLAN symposium on Principles of programming languages
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Flow Analysis of Computer Programs
Flow Analysis of Computer Programs
Systematic design of program analysis frameworks
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Program Flow Analysis: Theory and Application
Program Flow Analysis: Theory and Application
Code Motion and Code Placement: Just Synonyms?
ESOP '98 Proceedings of the 7th European Symposium on Programming: Programming Languages and Systems
Parallelism for Free: Bitvector Analyses - No State Explosion!
TACAS '95 Proceedings of the First International Workshop on Tools and Algorithms for Construction and Analysis of Systems
DFA&OPT-METAFrame: A Tool Kit for Program Analysis and Optimazation
TACAs '96 Proceedings of the Second International Workshop on Tools and Algorithms for Construction and Analysis of Systems
Bidirectional Data Flow Analysis in Code Motion: Myth and Reality
SAS '98 Proceedings of the 5th International Symposium on Static Analysis
The Interprocedural Coincidence Theorem
CC '92 Proceedings of the 4th International Conference on Compiler Construction
Basic-Block Graphs: Living Dinosaurs?
CC '98 Proceedings of the 7th International Conference on Compiler Construction
Optimal Distribution Assignment Placement
Euro-Par '97 Proceedings of the Third International Euro-Par Conference on Parallel Processing
An overview of the PL.8 compiler
SIGPLAN '82 Proceedings of the 1982 SIGPLAN symposium on Compiler construction
PACT '97 Proceedings of the 1997 International Conference on Parallel Architectures and Compilation Techniques
Optimal Code Motion in the Presence of Large Expressions
ICCL '98 Proceedings of the 1998 International Conference on Computer Languages
Formal Callability and its Relevance and Application to Interprocedural Data-flow Analysis
ICCL '98 Proceedings of the 1998 International Conference on Computer Languages
Interacting code motion transformations: their impact and their complexity
Interacting code motion transformations: their impact and their complexity
Hi-index | 0.00 |
While soundness and completeness are unchallengedly the surveyor's rod for evaluating the worthiness of proof calculi in program verification, it is not common to refer to these terms for rating the worthiness of performance improving transformations in program optimization. In this article we reconsider optimization under the perspective of soundness, completeness, and, additionally, reusability. Soundness can here be interpreted as semantics preservation, completeness as optimality in a specific, well-defined sense, and reusability as paradigm-transcending robustness of the rationale guaranteeing soundness and completeness of an optimization for a specific setting. Using partial redundancy elimination (PRE) for illustration, we demonstrate that these rationales are usually quite sensitive to paradigm changes. Neither completeness nor soundness are generally preserved. Hence, the reuse of optimization strategies in new paradigms requires usually paradigm-specific adaptations in order to accommodate their specifics. We exemplify this for PRE, and demonstrate that it is generally worth the effort, and an effective means for mastering the complexity of compiler construction in the specific field of code optimization.