Skip to content
  • Jakob Stoklund Olesen's avatar
    Reuse lowered phi nodes. · ec20a88a
    Jakob Stoklund Olesen authored
    Tail duplication produces lots of identical phi nodes in different basic
    blocks. Teach PHIElimination to reuse the join registers when lowering a phi
    node that is identical to an already lowered node. This saves virtual
    registers, and more importantly it avoids creating copies the the coalescer
    doesn't know how to eliminate.
    
    Teach LiveIntervalAnalysis about the phi joins with multiple uses.
    
    This patch significantly reduces code size produced by -pre-regalloc-taildup.
    
    llvm-svn: 91549
    ec20a88a
Loading