Skip to content
  • Jakob Stoklund Olesen's avatar
    Run proper recursive dead code elimination during coalescing. · 82d77e81
    Jakob Stoklund Olesen authored
    Dead copies cause problems because they are trivial to coalesce, but
    removing them gived the live range a dangling end point. This patch
    enables full dead code elimination which trims live ranges to their uses
    so end points don't dangle.
    
    DCE may erase multiple instructions. Put the pointers in an ErasedInstrs
    set so we never risk visiting erased instructions in the work list.
    
    There isn't supposed to be any dead copies entering RegisterCoalescer,
    but they do slip by as evidenced by test/CodeGen/X86/coalescer-dce.ll.
    
    llvm-svn: 157101
    82d77e81
Loading