[cfe-dev] Fwd: A question on data flow analysis in clang

Sean Silva chisophugis at gmail.com
Tue Feb 11 08:21:42 PST 2014


Clang's AST is immutable so there isn't a need for this kind of incremental
computation.
On Feb 11, 2014 3:11 AM, "Mahesha S" <mahesha.llvm at gmail.com> wrote:

> Missed to cc my below reply (to Ted) into clang-dev list.
>
>
> --
> mahesha
>
>
> ---------- Forwarded message ----------
> From: Mahesha S <mahesha.llvm at gmail.com>
> Date: Tue, Feb 11, 2014 at 9:45 AM
> Subject: Re: [cfe-dev] A question on data flow analysis in clang
> To: Ted Kremenek <kremenek at apple.com>
>
>
> Hi Ted,
>
> I am sorry for my late reply. When I said "incremental", I meant it as
> follows.
>
> ========================================
> When a program undergoes change during development or compilation (i.e.
> during the is optimisation phase), the data flow information can be updated
> either by repeating the original exhaustive analysis, or by using
> incremental techniques that attempt to reuse the old inforĀ­mation and
> recompute only the information affected by the change. Presuming that a
> change  typically has a localised effect, or at least does not affect all
> of the program's data flow.
>
> In one sentence I meant:  incremental computation of data flow values by
> considering the old computed data flow values (on old program) and new
> additional changes to program.
>
> Mathematically I meant:   DFA(current_program)  = DFA(old_program) +
> DFA(new_additional_changes_to_old_program)
> ========================================
>
>
> --
> mahesha
>
>
> On Wed, Jan 22, 2014 at 5:10 AM, Ted Kremenek <kremenek at apple.com> wrote:
>
>> Hi Mahesha,
>>
>> 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."
>>
>> Ted
>>
>> > On Jan 12, 2014, at 9:56 PM, Mahesha S <mahesha.llvm at gmail.com> wrote:
>> >
>> > Hello all,
>> >
>> > 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.
>> >
>> >
>> > --
>> > mahesha
>> > _______________________________________________
>> > cfe-dev mailing list
>> > cfe-dev at cs.uiuc.edu
>> > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>>
>
>
>
> --
> mahesha
>
>
>
> --
> mahesha
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20140211/476f4ca5/attachment.html>


More information about the cfe-dev mailing list