[PATCH] D153908: [dataflow] Use consistent, symmetrical, non-mutating erased signature for join()

Sam McCall via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Jun 27 11:59:32 PDT 2023


sammccall created this revision.
sammccall added reviewers: ymandel, xazax.hun.
Herald added a subscriber: martong.
Herald added a reviewer: NoQ.
Herald added a project: All.
sammccall requested review of this revision.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.

Mutating join() isn't used and so appears to be an anti-optimization.
Having Lattice vs Environment inconsistent is awkward, particularly when trying
to minimize copies while joining.

This patch eliminates the difference, but doesn't actually change the signature
of join on concrete lattice types (as that's a breaking change).


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D153908

Files:
  clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
  clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
  clang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h
  clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
  clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D153908.535090.patch
Type: text/x-patch
Size: 11587 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20230627/6f893f97/attachment.bin>


More information about the cfe-commits mailing list