Skip to content
  • Chris Lattner's avatar
    Teach loop rotate to hoist trivially invariant instructions · b01c24a9
    Chris Lattner authored
    in the duplicated block instead of duplicating them.  
    
    Duplicating them into the end of the loop and the preheader 
    means that we got a phi node in the header of the loop, 
    which prevented LICM from hoisting them.  GVN would
    usually come around later and merge the duplicated 
    instructions so we'd get reasonable output... except that
    anything dependent on the shoulda-been-hoisted value can't
    be hoisted.  In PR5319 (which this fixes), a memory value
    didn't get promoted.
    
    llvm-svn: 113134
    b01c24a9
Loading