Skip to content
  • Chris Lattner's avatar
    Various passes before isel split edges and do other CFG-restructuring changes. · c3748562
    Chris Lattner authored
    isel has its own particular features that it wants in the CFG, in order to
    reduce the number of times a constant is computed, etc.  Make sure that we
    clean up the CFG before doing any other things for isel.  Doing so can
    dramatically reduce the number of split edges and reduce the number of
    places that constants get computed.  For example, this shrinks
    CodeGen/Generic/phi-immediate-factoring.ll from 44 to 37 instructions on X86,
    and from 21 to 17 MBB's in the output.  This is primarily a code size win,
    not a performance win.
    
    This implements CodeGen/Generic/phi-immediate-factoring.ll and PR1296.
    
    llvm-svn: 35575
    c3748562
Loading