The Generation of Optimal Code for Arithmetic Expressions
Journal of the ACM (JACM)
An axiomatic approach to code optimization for expressions
Journal of the ACM (JACM)
The Generation of Optimal Code for Stack Machines
Journal of the ACM (JACM)
On arithmetic expressions and trees
Communications of the ACM
On compiling algorithms for arithmetic expressions
Communications of the ACM
The Design and Analysis of Computer Algorithms
The Design and Analysis of Computer Algorithms
Characterizations of flowchartable recursions short version
STOC '72 Proceedings of the fourth annual ACM symposium on Theory of computing
The complexity of theorem-proving procedures
STOC '71 Proceedings of the third annual ACM symposium on Theory of computing
A compiler writing system with optimization capabilities for complex object order structures
A compiler writing system with optimization capabilities for complex object order structures
Code Generation for a One-Register Machine
Journal of the ACM (JACM)
On the Simplification and Equivalence Problems for Straight-Line Programs
Journal of the ACM (JACM)
Retrospective on high-level language computer architecture
ISCA '80 Proceedings of the 7th annual symposium on Computer Architecture
The complexity of the equivalence problem for straight-line programs
STOC '80 Proceedings of the twelfth annual ACM symposium on Theory of computing
Code generation for expressions with common subexpressions (Extended Abstract)
POPL '76 Proceedings of the 3rd ACM SIGACT-SIGPLAN symposium on Principles on programming languages
Efficient Selection of Vector Instructions Using Dynamic Programming
MICRO '43 Proceedings of the 2010 43rd Annual IEEE/ACM International Symposium on Microarchitecture
Fast, memory-efficient regular expression matching with NFA-OBDDs
Computer Networks: The International Journal of Computer and Telecommunications Networking
Treegraph-based Instruction Scheduling for Stack-based Virtual Machines
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 0.00 |
We discuss the problem of generating code for a wide class of machines, restricting ourselves to the computation of expression trees. After defining a broad class of machines and discussing the properties of optimal programs on these machines, we derive a necessary and sufficient condition which can be used to prove the optimality of any code generation algorithm for expression trees on this class. We then present a dynamic programming algorithm which produces optimal code for any machine in the class; this algorithm runs in time which is linearly proportional to the number of vertices in an expression tree.