[图书][B] The compiler design handbook: optimizations and machine code generation

YN Srikant, P Shankar - 2002 - taylorfrancis.com
The widespread use of object-oriented languages and Internet security concerns are just the
beginning. Add embedded systems, multiple memory banks, highly pipelined units …

Register optimizations for stencils on GPUs

PS Rawat, F Rastello, A Sukumaran-Rajam… - Proceedings of the 23rd …, 2018 - dl.acm.org
The recent advent of compute-intensive GPU architecture has allowed application
developers to explore high-order 3D stencils for better computational accuracy. A common …

Linear scan register allocation on SSA form

C Wimmer, M Franz - Proceedings of the 8th annual IEEE/ACM …, 2010 - dl.acm.org
The linear scan algorithm for register allocation provides a good register assignment with a
low compilation overhead and is thus frequently used for just-in-time compilers. Although …

Register allocation by puzzle solving

FM Quintão Pereira, J Palsberg - Proceedings of the 29th ACM SIGPLAN …, 2008 - dl.acm.org
We show that register allocation can be viewed as solving a collection of puzzles. We model
the register file as a puzzle board and the program variables as puzzle pieces; pre-coloring …

Revisiting out-of-SSA translation for correctness, code quality and efficiency

B Boissinot, A Darte, F Rastello… - … Symposium on Code …, 2009 - ieeexplore.ieee.org
Static single assignment (SSA) form is an intermediate program representation in which
many code optimizations can be performed with fast and easy-to-implement algorithms …

Register spilling and live-range splitting for SSA-form programs

M Braun, S Hack - … Construction: 18th International Conference, CC 2009 …, 2009 - Springer
Register allocation decides which parts of a variable's live range are held in registers and
which in memory. The compiler inserts spill code to move the values of variables between …

Rapid: Region-based pointer disambiguation

K Chitre, P Kedia, R Purandare - Proceedings of the ACM on …, 2023 - dl.acm.org
Interprocedural alias analyses often sacrifice precision for scalability. Thus, modern
compilers such as GCC and LLVM implement more scalable but less precise …

Graph-coloring and treescan register allocation using repairing

Q Colombet, B Boissinot, P Brisk, S Hack… - Proceedings of the 14th …, 2011 - dl.acm.org
Graph coloring and linear scan are two appealing techniques for register allocation as the
underlying formalism are extremely clean and simple. This paper advocates a decoupled …

A polynomial time exact solution to the bit-aware register binding problem

M Canesche, R Ferreira, JA Nacif… - Proceedings of the 31st …, 2022 - dl.acm.org
Finding the minimum register bank is an optimization problem related to the synthesis of
hardware. Given a program, the problem asks for the minimum number of registers plus their …

SSA elimination after register allocation

FMQ Pereira, J Palsberg - International Conference on Compiler …, 2009 - Springer
Compilers such as gcc use static-single-assignment (SSA) form as an intermediate
representation and usually perform SSA elimination before register allocation. But the order …