[all-commits] [llvm/llvm-project] 489856: [Assignment Tracking][11/*] Update RemoveRedundant...
Orlando Cazalet-Hyams via All-commits
all-commits at lists.llvm.org
Wed Nov 16 04:28:47 PST 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 4898568caa9f8f1e4d10ec415b46966a8dc19bd9
https://github.com/llvm/llvm-project/commit/4898568caa9f8f1e4d10ec415b46966a8dc19bd9
Author: OCHyams <orlando.hyams at sony.com>
Date: 2022-11-16 (Wed, 16 Nov 2022)
Changed paths:
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
A llvm/test/DebugInfo/Generic/assignment-tracking/remove-redundant-fwd-scan-linked.ll
A llvm/test/DebugInfo/Generic/assignment-tracking/remove-redundant.ll
Log Message:
-----------
[Assignment Tracking][11/*] Update RemoveRedundantDbgInstrs
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
Update the RemoveRedundantDbgInstrs utility to avoid sometimes losing
information when deleting dbg.assign intrinsics.
removeRedundantDbgInstrsUsingBackwardScan - treat dbg.assign intrinsics that
are not linked to any instruction just like dbg.values. That is, in a block of
contiguous debug intrinsics, delete all other than the last definition for a
fragment. Leave linked dbg.assign intrinsics in place.
removeRedundantDbgInstrsUsingForwardScan - Don't delete linked dbg.assign
intrinsics and don't delete the next intrinsic found even if it would otherwise
be eligible for deletion.
remomveUndefDbgAssignsFromEntryBlock - Delete undef and unlinked dbg.assign
intrinsics encountered in the entry block that come before non-undef
non-unlinked intrinsics for the same variable.
Reviewed By: jmorse
Differential Revision: https://reviews.llvm.org/D133294
More information about the All-commits
mailing list