Skip to content

Value comparison doesn't take properties into account. #76459

Open
@ymand

Description

@ymand

Function areEquivalentValues doesn't account for differences in properties. This causes problems with analyses which use properties where values differing only in properties are considered equivalent.

bool areEquivalentValues(const Value &Val1, const Value &Val2) {
return &Val1 == &Val2 || (Val1.getKind() == Val2.getKind() &&
(isa<TopBoolValue>(&Val1) ||
areEquivalentIndirectionValues(Val1, Val2)));
}

Metadata

Metadata

Assignees

Labels

clang:dataflowClang Dataflow Analysis framework - https://clang.llvm.org/docs/DataFlowAnalysisIntro.html

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions