Software Practice and Experience · 1986 · 99 citations · 11 references
ComputingComputer EngineeringComputer ScienceCompilersComputer ArchitectureProgramming LanguagesArithmetic FunctionsCompiler ConstructionControl-flow AnalysisInstruction SelectionIntermediate RepresentationRegister AllocationArithmetic Circuit SynthesisArithmetic Unit DesignCompile-time OptimizationCompiler SupportInteger MultiplicationMulti-digit MultiplicationMultiply-accumulate UnitsRegisters
Abstract Methods are given for finding a sequence of ‘add’, ‘subtract’ and ‘shift’ instructions to multiply the contents of a register by an integer constant. Each method generalizes the previous one and requires only a few intermediate or scratch registers. A variation of the last method is used in the PL.8 compiler and uses an unnoticeable amount of the overall compile time. Some statistics roughly indicating the effectiveness of the methods are presented.
11
Register allocation & spilling via graph coloring
Gregory J. Chaitin · ACM SIGPLAN Notices · 1982 · 767 citations · Full text
Register allocation via coloring
Gregory J. Chaitin, Marc Auslander, Ashok K. Chandra et al. · Computer Languages · 1981 · 731 citations
Register allocation & spilling via graph coloring
Gregory J. Chaitin · 1982 · 668 citations