Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Efficient instruction scheduling for a pipelined architecture
SIGPLAN '86 Proceedings of the 1986 SIGPLAN symposium on Compiler construction
An efficient general iterative algorithm for dataflow analysis
Acta Informatica
A fast algorithm for code movement optimisation
ACM SIGPLAN Notices
Register assignment using code placement techniques
Computer Languages
Global value numbers and redundant computations
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Constant propagation with conditional branches
ACM Transactions on Programming Languages and Systems (TOPLAS)
Global instruction scheduling for superscalar machines
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
Efficiently computing static single assignment form and the control dependence graph
ACM Transactions on Programming Languages and Systems (TOPLAS)
How to analyze large programs efficiently and informatively
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
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
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Effective partial redundancy elimination
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)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Practical adaption of the global optimization algorithm of Morel and Renvoise
ACM Transactions on Programming Languages and Systems (TOPLAS)
The Generation of Optimal Code for Arithmetic Expressions
Journal of the ACM (JACM)
Global Data Flow Analysis and Iterative Algorithms
Journal of the ACM (JACM)
Code Generation for Expressions with Common Subexpressions
Journal of the ACM (JACM)
On Live-Dead Analysis for Global Data Flow Problems
Journal of the ACM (JACM)
Applications of Path Compression on Balanced Trees
Journal of the ACM (JACM)
Global optimization by suppression of partial redundancies
Communications of the ACM
Node listings applied to data flow analysis
POPL '75 Proceedings of the 2nd ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Flow Analysis of Computer Programs
Flow Analysis of Computer Programs
Invariance of Approximate Semantics with Respect to Program Transformations
GI - 11. Jahrestagung in Verbindung mit Third Conference of the European Co-operation in Informatics (ECI)
The design of a global optimizer
SIGPLAN '79 Proceedings of the 1979 SIGPLAN symposium on Compiler construction
Effective partial redundancy elimination
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Optimizing sparse representations for dataflow analysis
IR '95 Papers from the 1995 ACM SIGPLAN workshop on Intermediate representations
The power of assignment motion
PLDI '95 Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
Global code motion/global value numbering
PLDI '95 Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
Caching intermediate results for program improvement
PEPM '95 Proceedings of the 1995 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Parallelism for free: efficient and optimal bitvector analyses for parallel programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Source-level debugging of scalar optimized code
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
Code reuse in an optimizing compiler
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Hot cold optimization of large Windows/NT applications
Proceedings of the 29th annual ACM/IEEE international symposium on Microarchitecture
Partial dead code elimination using slicing transformations
Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation
A new algorithm for partial redundancy elimination based on SSA form
Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation
Efficient dynamic dispatch without virtual function tables: the SmallEiffel compiler
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A framework for balancing control flow and predication
MICRO 30 Proceedings of the 30th annual ACM/IEEE international symposium on Microarchitecture
Resource-sensitive profile-directed data flow analysis for code optimization
MICRO 30 Proceedings of the 30th annual ACM/IEEE international symposium on Microarchitecture
Register promotion by sparse partial redundancy elimination of loads and stores
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Code motion for explicitly parallel programs
Proceedings of the seventh ACM SIGPLAN symposium on Principles and practice of parallel programming
Static single assignment form for machine code
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
The Partial Reverse If-Conversion Framework for Balancing Control Flow and Predication
International Journal of Parallel Programming
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Fusion-based register allocation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Partial method compilation using dynamic profile information
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
Effective sign extension elimination
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Distribution Assignment Placement: Effective Optimization of Redistribution Costs
IEEE Transactions on Parallel and Distributed Systems
Using the heap to eliminate stack accesses
Proceedings of the 4th ACM SIGPLAN international conference on Principles and practice of declarative programming
Flow equations as a generic programming tool for manipulation of attributed graphs
Proceedings of the 2002 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Dynamic dead-instruction detection and elimination
Proceedings of the 10th international conference on Architectural support for programming languages and operating systems
Bidirectional data flow analysis: myths and reality
ACM SIGPLAN Notices
Dead Code Elimination through Dependent Types
PADL '99 Proceedings of the First International Workshop on Practical Aspects of Declarative Languages
Optimization Under the Perspective of Soundness, Completeness, and Reusability
Correct System Design, Recent Insight and Advances, (to Hans Langmaack on the occasion of his retirement from his professorship at the University of Kiel)
From DFA-Frameworks to DFA-Generators: A Unifying Multiparadigm Approach
TACAS '99 Proceedings of the 5th International Conference on Tools and Algorithms for Construction and Analysis of Systems
Partial Dead Code Elimination Using Extended Value Graph
SAS '99 Proceedings of the 6th International Symposium on Static Analysis
Eliminating Dead Code on Recursive Data
SAS '99 Proceedings of the 6th International Symposium on Static Analysis
An Approach to the Obfuscation of Control-Flow of Sequential Computer Programs
ISC '01 Proceedings of the 4th International Conference on Information Security
Eliminating dead code on recursive data
Science of Computer Programming - Special issue on static analysis (SAS'99)
Advanced copy propagation for arrays
Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool for embedded systems
A region-based compilation technique for a Java just-in-time compiler
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Proceedings of the 2nd international conference on Generative programming and component engineering
ACM SIGPLAN Notices - Best of PLDI 1979-1999
A practical adoption of partial redundancy elimination
ACM SIGPLAN Notices
A General Compiler Framework for Speculative Optimizations Using Data Speculative Code Motion
Proceedings of the international symposium on Code generation and optimization
Application of redundant computation in software performance analysis
Proceedings of the 5th international workshop on Software and performance
Effective sign extension elimination for java
ACM Transactions on Programming Languages and Systems (TOPLAS)
A region-based compilation technique for dynamic compilers
ACM Transactions on Programming Languages and Systems (TOPLAS)
A new idiom recognition framework for exploiting hardware-assist instructions
Proceedings of the 12th international conference on Architectural support for programming languages and operating systems
Removing redundant arguments automatically
Theory and Practice of Logic Programming
The effect of unrolling and inlining for Python bytecode optimizations
SYSTOR '09 Proceedings of SYSTOR 2009: The Israeli Experimental Systems Conference
Optimal interprocedural program optimization: a new framework and its application
Optimal interprocedural program optimization: a new framework and its application
Interacting code motion transformations: their impact and their complexity
Interacting code motion transformations: their impact and their complexity
ViDoC- visual design of optimizing compilers
Program analysis and compilation, theory and practice
Quality engineering: leveraging heterogeneous information
VMCAI'11 Proceedings of the 12th international conference on Verification, model checking, and abstract interpretation
JuliusC: a practical approach for the analysis of divide-and-conquer algorithms
LCPC'04 Proceedings of the 17th international conference on Languages and Compilers for High Performance Computing
DeadSpy: a tool to pinpoint program inefficiencies
Proceedings of the Tenth International Symposium on Code Generation and Optimization
Bidirectional data flow analysis for type inferencing
Computer Languages, Systems and Structures
Idiom recognition framework using topological embedding
ACM Transactions on Architecture and Code Optimization (TACO)
Hi-index | 0.00 |
A new aggressive algorithm for the elimination of partially dead code is presented, i.e., of code which is only dead on some program paths. Besides being more powerful than the usual approaches to dead code elimination, this algorithm is optimal in the following sense: partially dead code remaining in the resulting program cannot be eliminated without changing the branching structure or the semantics of the program, or without impairing some program executions.Our approach is based on techniques for partial redundancy elimination. Besides some new technical problems there is a significant difference here: partial dead code elimination introduces second order effects, which we overcome by means of exhaustive motion and elimination steps. The optimality and the uniqueness of the program obtained is proved by means of a new technique which is universally applicable and particularly useful in the case of mutually interdependent program optimizations.