[clang] [clang][dataflow] Factor out built-in boolean model into an explicit module. (PR #82950)

2024-02-25 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand created https://github.com/llvm/llvm-project/pull/82950 Draft to demo how we can pull out the boolean model. Let's discuss specifics of namings, location, etc. The purpose of this refactoring is to enable us to compare the performance of different boolean models. In part

[clang] [clang][dataflow] Factor out built-in boolean model into an explicit module. (PR #82950)

2024-02-26 Thread via cfe-commits
martinboehme wrote: > Draft to demo how we can pull out the boolean model. Let's discuss specifics > of namings, location, etc. Not sure -- do you mean let's wordsmith names now, or do you mean we should discuss naming and location, but that should happen after we've talked about the general

[clang] [clang][dataflow] Factor out built-in boolean model into an explicit module. (PR #82950)

2024-03-21 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand updated https://github.com/llvm/llvm-project/pull/82950 >From 33f753d99bbb477ad37614d29658e964aa590a80 Mon Sep 17 00:00:00 2001 From: Yitzhak Mandelbaum Date: Fri, 23 Feb 2024 20:15:36 + Subject: [PATCH 1/3] [clang][dataflow] Factor out built-in boolean model into a

[clang] [clang][dataflow] Factor out built-in boolean model into an explicit module. (PR #82950)

2024-03-21 Thread Yitzhak Mandelbaum via cfe-commits
@@ -1059,9 +1066,16 @@ void Environment::assume(const Formula &F) { DACtx->addFlowConditionConstraint(FlowConditionToken, F); } +#if 0 bool Environment::proves(const Formula &F) const { return DACtx->flowConditionImplies(FlowConditionToken, F); } +#else +bool Environmen

[clang] [clang][dataflow] Factor out built-in boolean model into an explicit module. (PR #82950)

2024-03-21 Thread Yitzhak Mandelbaum via cfe-commits
ymand wrote: Martin, I've thoroughly updated the refactoring, exactly as you suggested -- all of the interesting differences are actually just in how we handle the logical operations, so most of the changes are now in DataflowEnvironment.cpp. I've left the factoring in Transfer because we may

[clang] [clang][dataflow] Factor out built-in boolean model into an explicit module. (PR #82950)

2024-03-21 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand updated https://github.com/llvm/llvm-project/pull/82950 >From 33f753d99bbb477ad37614d29658e964aa590a80 Mon Sep 17 00:00:00 2001 From: Yitzhak Mandelbaum Date: Fri, 23 Feb 2024 20:15:36 + Subject: [PATCH 1/3] [clang][dataflow] Factor out built-in boolean model into a

[clang] [clang][dataflow] Factor out built-in boolean model into an explicit module. (PR #82950)

2024-03-21 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand updated https://github.com/llvm/llvm-project/pull/82950 >From 33f753d99bbb477ad37614d29658e964aa590a80 Mon Sep 17 00:00:00 2001 From: Yitzhak Mandelbaum Date: Fri, 23 Feb 2024 20:15:36 + Subject: [PATCH 1/3] [clang][dataflow] Factor out built-in boolean model into a

[clang] [clang][dataflow] Factor out built-in boolean model into an explicit module. (PR #82950)

2024-03-21 Thread Yitzhak Mandelbaum via cfe-commits
@@ -50,29 +50,206 @@ const Environment *StmtToEnvMap::getEnvironment(const Stmt &S) const { return &State->Env; } -static BoolValue &evaluateBooleanEquality(const Expr &LHS, const Expr &RHS, - Environment &Env) { - Value *LHSValue =

[clang] [clang][dataflow] Factor out built-in boolean model into an explicit module. (PR #82950)

2024-03-08 Thread Yitzhak Mandelbaum via cfe-commits
ymand wrote: > > Draft to demo how we can pull out the boolean model. Let's discuss > > specifics of namings, location, etc. > > Not sure -- do you mean let's wordsmith names now, or do you mean we should > discuss naming and location, but that should happen after we've talked about > the gen

[clang] [clang][dataflow] Factor out built-in boolean model into an explicit module. (PR #82950)

2024-03-08 Thread Yitzhak Mandelbaum via cfe-commits
ymand wrote: Terminator cleanup split out into https://github.com/llvm/llvm-project/pull/84499 https://github.com/llvm/llvm-project/pull/82950 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-

[clang] [clang][dataflow] Factor out built-in boolean model into an explicit module. (PR #82950)

2024-03-11 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand updated https://github.com/llvm/llvm-project/pull/82950 >From 3b20e1823753ab46e3e259d3d8c727dea91ce1d4 Mon Sep 17 00:00:00 2001 From: Yitzhak Mandelbaum Date: Fri, 8 Mar 2024 15:19:14 + Subject: [PATCH 1/3] [clang][dataflow] Refactor processing of terminator element

[clang] [clang][dataflow] Factor out built-in boolean model into an explicit module. (PR #82950)

2024-03-11 Thread via cfe-commits
github-actions[bot] wrote: :warning: C/C++ code formatter, clang-format found issues in your code. :warning: You can test this locally with the following command: ``bash git-clang-format --diff cb6f657a70f7a8d6ecd4fcc2101550a7400f94a7 16cdcfa9471a089af7e87b0dbea5941d3975c8b9 --

[clang] [clang][dataflow] Factor out built-in boolean model into an explicit module. (PR #82950)

2024-03-12 Thread via cfe-commits
@@ -1059,9 +1066,16 @@ void Environment::assume(const Formula &F) { DACtx->addFlowConditionConstraint(FlowConditionToken, F); } +#if 0 bool Environment::proves(const Formula &F) const { return DACtx->flowConditionImplies(FlowConditionToken, F); } +#else +bool Environmen

[clang] [clang][dataflow] Factor out built-in boolean model into an explicit module. (PR #82950)

2024-03-12 Thread via cfe-commits
@@ -1059,9 +1066,16 @@ void Environment::assume(const Formula &F) { DACtx->addFlowConditionConstraint(FlowConditionToken, F); } +#if 0 bool Environment::proves(const Formula &F) const { return DACtx->flowConditionImplies(FlowConditionToken, F); } +#else +bool Environmen

[clang] [clang][dataflow] Factor out built-in boolean model into an explicit module. (PR #82950)

2024-03-12 Thread via cfe-commits
@@ -50,29 +50,206 @@ const Environment *StmtToEnvMap::getEnvironment(const Stmt &S) const { return &State->Env; } -static BoolValue &evaluateBooleanEquality(const Expr &LHS, const Expr &RHS, - Environment &Env) { - Value *LHSValue =