• dias@eecs.harvard.edu's avatar
    Cmm back end upgrades · 25628e27
    dias@eecs.harvard.edu authored
    Several changes in this patch, partially bug fixes, partially new code:
    o bug fixes in ZipDataflow
       - added some checks to verify that facts converge
       - removed some erroneous checks of convergence on entry nodes
       - added some missing applications of transfer functions
    o changed dataflow clients to use ZipDataflow, making ZipDataflow0 obsolete
    o eliminated DFA monad (no need for separate analysis and rewriting monads with ZipDataflow)
    o started stack layout changes
       - no longer generating CopyIn and CopyOut nodes (not yet fully expunged though)
       - still not using proper calling conventions
    o simple new optimizations:
       - common block elimination
          -- have not yet tried to move the Adams opt out of CmmProcPointZ
       - block concatenation
    o piped optimization fuel up to the HscEnv
       - can be limited by a command-line flag
       - not tested, and probably not yet properly used by clients
    o added unique supply to FuelMonad, also lifted unique supply to DFMonad
    25628e27
CmmContFlowOpt.hs 6.65 KB