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

Mahesha S mahesha.llvm at gmail.com
Tue Feb 11 00:06:49 PST 2014


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20140211/f5fb3f71/attachment.html>


More information about the cfe-dev mailing list