I wanted to know that - the data flow analysis which is implemented in Clang (include/clang/Analysis) - is incremental analysis or it re-solves the equations at every CFG node?
I will look into the source code, but, meanwhile, I thought of quickly getting “yes/no” answer before I spend time with source code.
To answer your question, I need to understand what you mean by "incremental". That term implies that there can be changes in the analysis results, somehow, when running the analysis multiple times. If you provided a bit of context, I could more precisely answer your question.
Operationally, analyses are typically implemented using a work list algorithm, which computes data flow values until a fix point is reached. This is a kind of incremental analysis, but I'm not certain if this is what you meant by "incremental."
Missed to cc my below reply (to Ted) into clang-dev list.
Clang’s AST is immutable so there isn’t a need for this kind of incremental computation.
Thanks Sean. That’s exactly right.