aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
diff options
context:
space:
mode:
authorSam McCall <sam.mccall@gmail.com>2023-03-21 15:34:31 +0100
committerSam McCall <sam.mccall@gmail.com>2023-03-22 10:57:21 +0100
commitee2cd606abd98380bc71974863354a0d54ccfab3 (patch)
tree07788f58caf81d6985efecbb885bd8da608fe629 /clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
parentb7165fdc7ecaa5fa77849066d4307d45ac026a9d (diff)
downloadllvm-ee2cd606abd98380bc71974863354a0d54ccfab3.zip
llvm-ee2cd606abd98380bc71974863354a0d54ccfab3.tar.gz
llvm-ee2cd606abd98380bc71974863354a0d54ccfab3.tar.bz2
[dataflow] Log flow condition to the correct stream.
Differential Revision: https://reviews.llvm.org/D146527
Diffstat (limited to 'clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp')
-rw-r--r--clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp b/clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
index 4405324..a1b8139 100644
--- a/clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
+++ b/clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
@@ -342,7 +342,8 @@ BoolValue &DataflowAnalysisContext::buildAndSubstituteFlowConditionWithCache(
return substituteBoolValue(*ConstraintsIt->second, SubstitutionsCache);
}
-void DataflowAnalysisContext::dumpFlowCondition(AtomicBoolValue &Token) {
+void DataflowAnalysisContext::dumpFlowCondition(AtomicBoolValue &Token,
+ llvm::raw_ostream &OS) {
llvm::DenseSet<BoolValue *> Constraints = {&Token};
llvm::DenseSet<AtomicBoolValue *> VisitedTokens;
addTransitiveFlowConditionConstraints(Token, Constraints, VisitedTokens);
@@ -350,7 +351,7 @@ void DataflowAnalysisContext::dumpFlowCondition(AtomicBoolValue &Token) {
llvm::DenseMap<const AtomicBoolValue *, std::string> AtomNames = {
{&getBoolLiteralValue(false), "False"},
{&getBoolLiteralValue(true), "True"}};
- llvm::dbgs() << debugString(Constraints, AtomNames);
+ OS << debugString(Constraints, AtomNames);
}
const ControlFlowContext *