[all-commits] [llvm/llvm-project] 913b56: [Assignment Tracking][6/*] Add trackAssignments fu...

Orlando Cazalet-Hyams via All-commits all-commits at lists.llvm.org
Tue Nov 8 08:52:35 PST 2022


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

  Changed paths:
    M llvm/include/llvm/IR/DIBuilder.h
    M llvm/include/llvm/IR/DebugInfo.h
    M llvm/lib/IR/DIBuilder.cpp
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    A llvm/test/DebugInfo/Generic/assignment-tracking/track-assignments.ll

  Log Message:
  -----------
  [Assignment Tracking][6/*] Add trackAssignments function

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 trackAssignments which adds assignment tracking metadata to a function for
a specified set of variables. The intended callers are the inliner and the
front end - those calls will be added in separate patches.

I've added a pass called declare-to-assign (AssignmentTrackingPass) that
converts dbg.declare intrinsics to dbg.assigns using trackAssignments so that
the function can be easily tested (see
llvm/test/DebugInfo/Generic/track-assignments.ll). The pass could also be used
by front ends to easily test out enabling assignment tracking.

Reviewed By: jmorse

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




More information about the All-commits mailing list