diff options
author | Wei Yi Tee <wyt@google.com> | 2022-06-24 21:39:23 +0200 |
---|---|---|
committer | Dmitri Gribenko <gribozavr@gmail.com> | 2022-06-24 21:52:16 +0200 |
commit | fb88ea62602c90f8f7c80560fd6a14f1c8c6d520 (patch) | |
tree | 61844f6c1938948bf4af93cf9921c11d74d0033a /llvm/tools/llvm-objdump/llvm-objdump.cpp | |
parent | 11a8dd65ec604b59b79f64ee4b4874f439085514 (diff) | |
download | llvm-fb88ea62602c90f8f7c80560fd6a14f1c8c6d520.zip llvm-fb88ea62602c90f8f7c80560fd6a14f1c8c6d520.tar.gz llvm-fb88ea62602c90f8f7c80560fd6a14f1c8c6d520.tar.bz2 |
[clang][dataflow] Store flow condition constraints in a single `FlowConditionConstraints` map.
A flow condition is represented with an atomic boolean token, and it is bound to a set of constraints: `(FC <=> C1 ^ C2 ^ ...)`. \
This was internally represented as `(FC v !C1 v !C2 v ...) ^ (C1 v !FC) ^ (C2 v !FC) ^ ...` and tracked by 2 maps:
- `FlowConditionFirstConjunct` stores the first conjunct `(FC v !C1 v !C2 v ...)`
- `FlowConditionRemainingConjuncts` stores the remaining conjuncts `(C1 v !FC) ^ (C2 v !FC) ^ ...`
This patch simplifies the tracking of the constraints by using a single `FlowConditionConstraints` map which stores `(C1 ^ C2 ^ ...)`, eliminating the use of two maps.
Reviewed By: gribozavr2, sgatev, xazax.hun
Differential Revision: https://reviews.llvm.org/D128357
Diffstat (limited to 'llvm/tools/llvm-objdump/llvm-objdump.cpp')
0 files changed, 0 insertions, 0 deletions