The Compiler Design Handbook: Optimizations and Machine Code Generation
Y.N. Srikant, Priti Shankar
CRC Press, Sep 25, 2002 - Computers - 928 pages
The widespread use of object-oriented languages and Internet security concerns are just the beginning. Add embedded systems, multiple memory banks, highly pipelined units operating in parallel, and a host of other advances and it becomes clear that current and future computer architectures pose immense challenges to compiler designers-challenges that already exceed the capabilities of traditional compilation techniques.
The Compiler Design Handbook: Optimizations and Machine Code Generation is designed to help you meet those challenges. Written by top researchers and designers from around the world, it presents detailed, up-to-date discussions on virtually all aspects of compiler optimizations and code generation. It covers a wide range of advanced topics, focusing on contemporary architectures such as VLIW, superscalar, multiprocessor, and digital signal processing. It also includes detailed presentations that highlight the different techniques required for optimizing programs written in parallel and those written in object-oriented languages. Each chapter is self-contained, treats its topic in depth, and includes a section of future research directions.
Compiler design has always been a highly specialized subject with a fine blend of intricate theory and difficult implementation. Yet compilers play an increasingly vital role in the quest for improved performance. With its careful attention to the most researched, difficult, and widely discussed topics in compiler design, The Compiler Design Handbook offers a unique opportunity for designers and researchers to update their knowledge, refine their skills, and prepare for future innovations.
What people are saying - Write a review
We haven't found any reviews in the usual places.
Chapter 2 Automatic Generation of Code Optimizers from Formal Specifications
Chapter 3 Scalar Compiler Optimizations on the Static Single Assignment Form and the Flow Graph
Chapter 4 ProfileGuided Complier Optimizations
Chapter 5 Shape Analysis and Applications
Chapter 6 Optimizations for ObjectOriented Languages
Chapter 7 Data Flow Testing
Chapter 8 Program Slicing
Chapter 9 Debuggers for Programming Languages
Chapter 14 Architecture Description Languages for Retargetable Compilation
Chapter 15 Instruction Selection Using Tree Parsing
Chapter 16 Retargetable Very Long Instruction Word Compiler Framework for Digital Signal Processors
Chapter 17 Instruction Scheduling
Chapter 18 Software Pipelining
Chapter 19 Dynamic Complication
Chapter 20 Compiling Safe Mobile Code
Chapter 21 Type Systems in Programming Languages
abstract ACM SIGPLAN algorithm approach architecture array assignment basic block binary break point cache called code motion computation Conference on Programming constant propagation constraints construct control flow control flow graph corresponding cost cycle data dependence data flow analysis debugger defined definition denoted distributed dynamic compilation edge elimination equations evaluation example execution expression flow functions flow graph framework global input instruction scheduling integer iteration layout linear live range load loop machine memory module node operands operation operational semantics optimization parallel partitioning path performed phase pointer predicate problem Proceedings processors program point Programming Languages reduce reference region register allocation register pressure represents resource result retargetable rules runtime scheduling method Section semantics sequence shown in Figure slicing software pipelining specification spill statement static subtyping Symposium techniques term transformations tree value number variable vector VLIW