Skip to content
  • Jakob Stoklund Olesen's avatar
    Also add <imp-use,kill> flags for redefined super-registers. · d5d39bb0
    Jakob Stoklund Olesen authored
    For example:
    
      %vreg10:dsub_0<def,undef> = COPY %vreg1
      %vreg10:dsub_1<def> = COPY %vreg2
    
    is rewritten as:
    
      %D2<def> = COPY %D0, %Q1<imp-def>
      %D3<def> = COPY %D1, %Q1<imp-use,kill>, %Q1<imp-def>
    
    The first COPY doesn't care about the previous value of %Q1, so it
    doesn't read that register.
    
    The second COPY is a partial redefinition of %Q1, so it implicitly kills
    and redefines that register.
    
    This makes it possible to recognize instructions that can harmlessly
    clobber the full super-register.  The write and don't read the
    super-register.
    
    llvm-svn: 141139
    d5d39bb0
Loading