Optimizing bit-time computer simulation
Communications of the ACM
Programming: An Introduction to Computer Techniques
Programming: An Introduction to Computer Techniques
A code optimization package for REDUCE
ISSAC '89 Proceedings of the ACM-SIGSAM 1989 international symposium on Symbolic and algebraic computation
Code Generation for Expressions with Common Subexpressions
Journal of the ACM (JACM)
Reducibility Among Floating-Point Graphs
Journal of the ACM (JACM)
Subexpression ordering in the execution of arithmetic expressions
Communications of the ACM
Off-line and on-line algorithms for deducing equalities
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A unified approach to global program optimization
POPL '73 Proceedings of the 1st annual ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Complete register allocation problems
STOC '73 Proceedings of the fifth annual ACM symposium on Theory of computing
Breuer's grow factor algorithm in computer algebra
SYMSAC '81 Proceedings of the fourth ACM symposium on Symbolic and algebraic computation
SYMSAC '81 Proceedings of the fourth ACM symposium on Symbolic and algebraic computation
Code generation for expressions with common subexpressions (Extended Abstract)
POPL '76 Proceedings of the 3rd ACM SIGACT-SIGPLAN symposium on Principles on programming languages
Factoring and eliminating common subexpressions in polynomial expressions
Proceedings of the 2004 IEEE/ACM International conference on Computer-aided design
Automating processor customisation: optimised memory access and resource sharing
Proceedings of the conference on Design, automation and test in Europe: Proceedings
Redundancy elimination revisited
Proceedings of the 17th international conference on Parallel architectures and compilation techniques
Improved heuristics for finite word-length polynomial datapath optimization
Proceedings of the 2009 International Conference on Computer-Aided Design
Modular datapath optimization and verification based on modular-HED
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
Efficient evaluation of large polynomials
ICMS'10 Proceedings of the Third international congress conference on Mathematical software
Fast profile-based partial redundancy elimination
JMLC'06 Proceedings of the 7th joint conference on Modular Programming Languages
Polynomial datapath optimization using constraint solving and formal modelling
Proceedings of the International Conference on Computer-Aided Design
Hi-index | 48.23 |
Given a set of expressions which are to be compiled, methods are presented for increasing the efficiency of the object code produced by first factoring the expressions, i.e. finding a set of subexpressions each of which occurs in two or more other expressions or subexpressions. Once all the factors have been ascertained, a sequencing procedure is applied which orders the factors and expressions such that all information is computed in the correct sequence and factors need be retained in memory a minimal amount of time. An assignment algorithm is then executed in order to minimize the total number of temporary storage cells required to hold the results of evaluating the factors. In order to make these techniques computationally feasible, heuristic procedures are applied, and hence global optimal results are not necessarily generated. The factorization algorithms are also applicable to the problem of factoring Boolean switching expressions and of factoring polynomials encountered in symbol manipulating systems.