[all-commits] [llvm/llvm-project] a17b71: [NFC] Add DebugVariableAggregate class

Orlando Cazalet-Hyams via All-commits all-commits at lists.llvm.org
Wed Mar 22 07:19:47 PDT 2023

  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a17b71d17f853350dcd6c72ab141b196d7caec2a
  Author: OCHyams <orlando.hyams at sony.com>
  Date:   2023-03-22 (Wed, 22 Mar 2023)

  Changed paths:
    M llvm/include/llvm/IR/DebugInfoMetadata.h
    M llvm/lib/IR/DebugInfoMetadata.cpp

  Log Message:
  [NFC] Add DebugVariableAggregate class

A DebugVariableAggregate is a DebugVariable that discards FragmentInfo; it
represents a whole variable instance.

Reviewed By: StephenTozer

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

  Commit: f2252726c40a77d83982932cfc647f459a4c5c69
  Author: OCHyams <orlando.hyams at sony.com>
  Date:   2023-03-22 (Wed, 22 Mar 2023)

  Changed paths:
    M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
    A llvm/test/DebugInfo/Generic/assignment-tracking/mem2reg/store-to-part-of-alloca.ll
    M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/vec-2.ll

  Log Message:
  [Assignment Tracking] Fix mem2reg misidentifying unlinked stores

updateForDeletedStore updates the assignment tracking debug info for a store
that is about to be deleted by mem2reg. For each variable backed by the target
alloca, if a dbg.assign exists it is kept (well - it's downgraded to a
dbg.value). A dbg.value is inserted if there's not a linked dbg.assign for a
variable which is backed by the target alloca. This patch fixes a bug whereby a
store with a linked dbg.assign that describes a fragment different to the one
linked to the alloca was not counted for the variable, leading to both keeping
the dbg.assign (downgrading it) and inserting a new dbg.value.

Reviewed By: StephenTozer

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

Compare: https://github.com/llvm/llvm-project/compare/d4eb996e6fff...f2252726c40a

More information about the All-commits mailing list