[all-commits] [llvm/llvm-project] f86694: [InstrRef][AArch64][1/4] Accept constant physreg v...

Jeremy Morse via All-commits all-commits at lists.llvm.org
Mon Jul 26 07:27:03 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f86694cb808f22253e00742ccd279760ef0c688d
      https://github.com/llvm/llvm-project/commit/f86694cb808f22253e00742ccd279760ef0c688d
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2021-07-26 (Mon, 26 Jul 2021)

  Changed paths:
    M llvm/lib/CodeGen/MachineFunction.cpp
    A llvm/test/DebugInfo/AArch64/instr-ref-const-physreg.ll

  Log Message:
  -----------
  [InstrRef][AArch64][1/4] Accept constant physreg variable locations

Late in SelectionDAG we join up instruction numbers with their defining
instructions, if it couldn't be done during the main part of SelectionDAG.
One exception is function arguments, where we have to point a DBG_PHI
instruction at the incoming live register, as they don't have a defining
instruction. This patch adds another exception, for constant physregs, like
aarch64 has.

It may seem wasteful to use two instructions where we could use a single
DBG_VALUE, however the whole point of instruction referencing is to
decouple the identification of values from the specification of where
variable location ranges start.

(Part of my aarch64 work to ease adoption of  instruction referencing, as
in the meta comment on D104520)

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




More information about the All-commits mailing list