[all-commits] [llvm/llvm-project] ae4303: [DebugInstrRef][2/3] Track PHI values through regi...

Jeremy Morse via All-commits all-commits at lists.llvm.org
Thu Jun 3 09:07:29 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ae4303b42cfa5c8c14e3fff67d73af2f154aea9a
      https://github.com/llvm/llvm-project/commit/ae4303b42cfa5c8c14e3fff67d73af2f154aea9a
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2021-06-03 (Thu, 03 Jun 2021)

  Changed paths:
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    A llvm/test/DebugInfo/MIR/InstrRef/phi-coalesce-subreg.mir
    A llvm/test/DebugInfo/MIR/InstrRef/phi-coalescing.mir

  Log Message:
  -----------
  [DebugInstrRef][2/3] Track PHI values through register coalescing

In the instruction referencing variable location model, we store variable
locations that point at PHIs in MachineFunction during register
allocation. Unfortunately, register coalescing can substantially change
the locations of registers, and so that PHI-variable-location side table
needs maintenence during the pass.

This patch builds an index from the side table, and whenever a vreg gets
coalesced into another vreg, update the index to record the new vreg that
the PHI happens in. It also accepts a limited range of subregister
coalescing, for example merging a subregister into a larger class.

Differential Revision: https://reviews.llvm.org/D86813




More information about the All-commits mailing list