Changes between Version 13 and Version 14 of Commentary/Compiler/IntegratedCodeGen


Ignore:
Timestamp:
Jun 6, 2008 10:24:36 AM (6 years ago)
Author:
dias
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Commentary/Compiler/IntegratedCodeGen

    v13 v14  
    3131 
    3232  0. Build two big hammers, and hit as many nails as possible.  (The big hammers are the '''dataflow rewriting engine''' and a '''coalescing register allocator.''')  The hammer itself may be big and complicated, but '''using a big hammer should be easy''' and should give easily predictable results. 
    33   0. Load all back ends into every instance of the compiler, and '''treat every compilation as a cross-compilation.'''  Despite having been used in production compilers for at least twenty years, this technique is still seen as somewhat unorthodox, but it removes many {{{#ifdef}}}s and saves significant complexity at compiler-configuration time. 
     33  0. Load all back ends into every instance of the compiler, and '''treat every compilation as a cross-compilation.'''  Despite having been used in production compilers for at least twenty years, this technique is still seen as somewhat unorthodox, but it removes many {{{#ifdef}}}s and saves significant complexity at compiler-configuration time. Removing {{{#ifdef}}}s also mitigates problems with  validating the compiler under different build configurations. 
    3434 
    3535== Design philosophy ==