Skip to content

Commit

Permalink
[RemoveDIs] Account for DPVAssigns in isIdenticalToWhenDefined (#82257)
Browse files Browse the repository at this point in the history
AddressExpression wasn't included in the comparison.
  • Loading branch information
OCHyams committed Feb 19, 2024
1 parent 73f76cd commit bb56f05
Showing 1 changed file with 4 additions and 5 deletions.
9 changes: 4 additions & 5 deletions llvm/include/llvm/IR/DebugProgramInstruction.h
Original file line number Diff line number Diff line change
Expand Up @@ -271,16 +271,15 @@ class DPValue : public ilist_node<DPValue>, private DebugValueUser {
std::optional<uint64_t> getFragmentSizeInBits() const;

bool isEquivalentTo(const DPValue &Other) {
return std::tie(Type, DebugValues, Variable, Expression, DbgLoc) ==
std::tie(Other.Type, Other.DebugValues, Other.Variable,
Other.Expression, Other.DbgLoc);
return DbgLoc == Other.DbgLoc && isIdenticalToWhenDefined(Other);
}
// Matches the definition of the Instruction version, equivalent to above but
// without checking DbgLoc.
bool isIdenticalToWhenDefined(const DPValue &Other) {
return std::tie(Type, DebugValues, Variable, Expression) ==
return std::tie(Type, DebugValues, Variable, Expression,
AddressExpression) ==
std::tie(Other.Type, Other.DebugValues, Other.Variable,
Other.Expression);
Other.Expression, Other.AddressExpression);
}

/// @name DbgAssign Methods
Expand Down

0 comments on commit bb56f05

Please sign in to comment.