Skip to content
  • Jakob Stoklund Olesen's avatar
    Allow overlaps between virtreg and physreg live ranges. · 866908c4
    Jakob Stoklund Olesen authored
    The RegisterCoalescer understands overlapping live ranges where one
    register is defined as a copy of the other. With this change, register
    allocators using LiveRegMatrix can do the same, at least for copies
    between physical and virtual registers.
    
    When a physreg is defined by a copy from a virtreg, allow those live
    ranges to overlap:
    
      %CL<def> = COPY %vreg11:sub_8bit; GR32_ABCD:%vreg11
      %vreg13<def,tied1> = SAR32rCL %vreg13<tied0>, %CL<imp-use,kill>
    
    We can assign %vreg11 to %ECX, overlapping the live range of %CL.
    
    llvm-svn: 163336
    866908c4
Loading