[all-commits] [llvm/llvm-project] 7cf20f: [clang][dataflow] Eliminate `RecordValue::getChild...

martinboehme via All-commits all-commits at lists.llvm.org
Tue Sep 12 00:17:52 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 7cf20f156f6c6133456fb7bcf2f7b88e87fa5ff5
      https://github.com/llvm/llvm-project/commit/7cf20f156f6c6133456fb7bcf2f7b88e87fa5ff5
  Author: martinboehme <mboehme at google.com>
  Date:   2023-09-12 (Tue, 12 Sep 2023)

  Changed paths:
    M clang/include/clang/Analysis/FlowSensitive/Value.h
    M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp
    M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp

  Log Message:
  -----------
  [clang][dataflow] Eliminate `RecordValue::getChild()`. (#65586)

We want to eliminate the `RecordStorageLocation` from `RecordValue` and,
ultimately, eliminate `RecordValue` entirely (see the discussion linked
in the
`RecordValue` class comment). This is one step in that direction.

To eliminate `RecordValue::getChild()`, we also eliminate the last
remaining
caller, namely the `getFieldValue(const RecordValue *, ...)` overload.
Calls
to this overload have been rewritten to use the
`getFieldValue(const RecordStorageLocation *, ...)` overload. Note that
this
also makes the code slightly simpler in many cases.




More information about the All-commits mailing list