aboutsummaryrefslogtreecommitdiff
path: root/flang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorWei Yi Tee <wyt@google.com>2022-06-27 11:18:01 +0200
committerDmitri Gribenko <gribozavr@gmail.com>2022-06-27 11:37:46 +0200
commitbdfe556dd837007c5671f33384d26e9ea315db53 (patch)
tree2a63de0f475e1d6c6d5456f78e0399f91bbb0a48 /flang/lib/Frontend/CompilerInvocation.cpp
parent88c4a4a6beb57c10dfa9de8bd8bb886fd1a08093 (diff)
downloadllvm-bdfe556dd837007c5671f33384d26e9ea315db53.zip
llvm-bdfe556dd837007c5671f33384d26e9ea315db53.tar.gz
llvm-bdfe556dd837007c5671f33384d26e9ea315db53.tar.bz2
[clang][dataflow] Implement functionality for flow condition variable substitution.
This patch introduces `buildAndSubstituteFlowCondition` - given a flow condition token, this function returns the expression of constraints defining the flow condition, with values substituted where specified. As an example: Say we have tokens `FC1`, `FC2`, `FC3`: ``` FlowConditionConstraints: { FC1: C1, FC2: C2, FC3: (FC1 v FC2) ^ C3, } ``` `buildAndSubstituteFlowCondition(FC3, /*Substitutions:*/{{C1 -> C1'}})` returns a value corresponding to `(C1' v C2) ^ C3`. Note: This function returns the flow condition expressed directly as its constraints, which differs to how we currently represent the flow condition as a token bound to a set of constraints and dependencies. Making the representation consistent may be an option to consider in the future. Depends On D128357 Reviewed By: gribozavr2, xazax.hun Differential Revision: https://reviews.llvm.org/D128363
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions