If we encounter a new debug value, describing the same parameter, we should stop tracking
the parameter's Entry Value. At that point, in some cases, the Transfer which uses the parameter's
Entry Value, is already emitted. Thanks to the RemoveRedundantDebugValues pass, many problems with
incorrect instruction order and number of DBG_VALUEs are fixed. However, we still cannot rely on the
rule that each new debug value is set by the previous non-debug instruction in Machine Basic Block.
When new parameter debug value triggers removal of Backup Entry Value for the same parameter,
do the cleanup of Transfers emitted from Backup Entry Values.
Get the Transfer Instruction which created the new debug value and search for debug values already
emitted from the to-be-deleted Backup Entry Value and attached to the Transfer Instruction.
If found, delete the Transfer and remove "primary" Entry Value Var Loc from OpenRanges.
This patch fixes PR47628.
Please add comments describing these types (+ any better name for this type?)