[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
Loading
Please sign in to comment