[clang] [clang][dataflow] Factor out built-in boolean model into an explicit module. (PR #82950)
via cfe-commits
cfe-commits at lists.llvm.org
Mon Feb 26 00:57:43 PST 2024
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 approach?
> The purpose of this refactoring is to enable us to compare the performance of different boolean models. In particular, we're interested in investigating a very simple semantic domain of just the booleans (and Top).
Can you expand on how we would swap in a different boolean model?
* Just put `#ifdef`s in the various functions in `bool_model`?
* Provide different namespaces containing different boolean models, then in `namespace bool_model`, do `using namespace my_desired_bool_model`?
* Something else?
I would favour a model that's as simple as possible -- I don't think we want to use template parameters, for example -- and what you have here looks like it's intended to be simple. I'm just not sure exactly where this is intended to go?
> In the process, the PR drastically simplifies the handling of terminators. This cleanup can be pulled out into its own PR, to precede the refactoring work.
I like the cleanup, and I think pulling it out into a separate patch is a good idea because a) it's unrelated to the rest of this patch, and b) it can land today, without further discussion needed (IMO).
https://github.com/llvm/llvm-project/pull/82950
More information about the cfe-commits
mailing list