[all-commits] [llvm/llvm-project] a9025f: [Assignment Tracking][8/*] Add DIAssignID merging ...

Orlando Cazalet-Hyams via All-commits all-commits at lists.llvm.org
Wed Nov 9 02:47:38 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a9025f57bac1121a2aa5ac05f48f611cd2b3a64f
      https://github.com/llvm/llvm-project/commit/a9025f57bac1121a2aa5ac05f48f611cd2b3a64f
  Author: OCHyams <orlando.hyams at sony.com>
  Date:   2022-11-09 (Wed, 09 Nov 2022)

  Changed paths:
    M llvm/include/llvm/IR/Instruction.h
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/unittests/IR/DebugInfoTest.cpp

  Log Message:
  -----------
  [Assignment Tracking][8/*] Add DIAssignID merging utilities

The Assignment Tracking debug-info feature is outlined in this RFC:

https://discourse.llvm.org/t/
rfc-assignment-tracking-a-better-way-of-specifying-variable-locations-in-ir

Add method:

  Instruction::mergeDIAssignID(
      ArrayRef<const Instruction* > SourceInstructions)

which merges the DIAssignID metadata attachments on `SourceInstructions` and
`this` and replaces uses of the original IDs with the new shared one.

This is used when stores are merged, for example sinking stores out of a
if-diamond CFG or vectorizing contiguous stores.

Reviewed By: jmorse

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




More information about the All-commits mailing list