This is an archive of the discontinued LLVM Phabricator instance.

[dataflow] document & test determinism of formula structure
AcceptedPublic

Authored by sammccall on Jun 21 2023, 3:33 PM.

Details

Summary

This doesn't depend on object addresses, even though they are used
in canonicalization. This is important & subtle, so add a comment+test.

Diff Detail

Event Timeline

sammccall created this revision.Jun 21 2023, 3:33 PM
Herald added a project: Restricted Project. · View Herald Transcript
sammccall requested review of this revision.Jun 21 2023, 3:33 PM
Herald added a project: Restricted Project. · View Herald TranscriptJun 21 2023, 3:33 PM
Herald added a subscriber: cfe-commits. · View Herald Transcript
xazax.hun accepted this revision.Jun 23 2023, 2:01 AM
xazax.hun added inline comments.
clang/lib/Analysis/FlowSensitive/Arena.cpp
13
This revision is now accepted and ready to land.Jun 23 2023, 2:01 AM
gribozavr2 added inline comments.
clang/unittests/Analysis/FlowSensitive/ArenaTest.cpp
165–169
169

Shouldn't these lines use "A.make...()"?

169

Sorry, I meant, shouldn't these lines use "B.make...()"?

sammccall updated this revision to Diff 534107.Jun 23 2023, 3:55 PM
sammccall marked 3 inline comments as done.

fix busted test

sammccall added inline comments.Jun 23 2023, 3:57 PM
clang/unittests/Analysis/FlowSensitive/ArenaTest.cpp
169

oops, good catch!

(this was the test I expected to fail, which convinced me the code being tested was correct. so a bit ironic that the test was wrong and would have passed either way...)

sammccall updated this revision to Diff 534120.Jun 23 2023, 4:32 PM
sammccall marked an inline comment as done.

typo fix

gribozavr2 accepted this revision.Jun 23 2023, 5:13 PM