Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.compilers > #175 > unrolled thread

Implementation of range analyses

Started byDouglas do Couto Teixeira <douglasdocouto@gmail.com>
First post2011-06-27 14:20 -0300
Last post2011-07-01 15:11 -0700
Articles 3 — 3 participants

Back to article view | Back to comp.compilers


Contents

  Implementation of range analyses Douglas do Couto Teixeira <douglasdocouto@gmail.com> - 2011-06-27 14:20 -0300
    Re: Implementation of range analyses Diego Novillo <dnovillo@acm.org> - 2011-06-29 14:58 -0400
    Re: Implementation of range analyses Nikolaos Kavvadias <nikolaos.kavvadias@gmail.com> - 2011-07-01 15:11 -0700

#175 — Implementation of range analyses

FromDouglas do Couto Teixeira <douglasdocouto@gmail.com>
Date2011-06-27 14:20 -0300
SubjectImplementation of range analyses
Message-ID<11-06-049@comp.compilers>
Dear all,

    could anyone point me to an implementation of range analysis? I am
working on one, that we have running on LLVM, and now I would like to
compare it with other approaches. Yet, I do not know where to find an
open-source implementation. Just to give you context, the range
analysis associates an integer interval to the integer variables in
the program.

Regards,

Douglas.

[toc] | [next] | [standalone]


#179

FromDiego Novillo <dnovillo@acm.org>
Date2011-06-29 14:58 -0400
Message-ID<11-07-003@comp.compilers>
In reply to#175
On Mon, Jun 27, 2011 at 13:20, Douglas do Couto Teixeira
<douglasdocouto@gmail.com> wrote:

>    could anyone point me to an implementation of range analysis?

You can try GCC's VRP pass:
http://gcc.gnu.org/viewcvs/trunk/gcc/tree-vrp.c?content-type=text%2Fplain&vie
w=co
Part of VRP is finding out range of values taken by scalars in the
program.

GCC implements a variant of J. R. C. Patterson's "Accurate Static
Branch Prediction by Value Range Propagation".


Diego.

[toc] | [prev] | [next] | [standalone]


#183

FromNikolaos Kavvadias <nikolaos.kavvadias@gmail.com>
Date2011-07-01 15:11 -0700
Message-ID<11-07-007@comp.compilers>
In reply to#175
Hi Douglas

bitwidth analysis (BA) is a related problem. It has been treated e.g.
in Stephenson's contemporary classic: "Bitwidth Analysis with
Application to Silicon Compilation"
http://groups.csail.mit.edu/cag/bitwise/bitwise-pldi2k.pdf

This is a highly-referenced, yet accessible work. The "bitwise"
implementation (the name of the project), however was never open-
sourced.

The FLEX/Harpoon compiler infrastructure (by C. Scott Ananian, written
in Java) provides an implementation of BA.
The code is out there, available both at http://cscott.net and
somewhere at github.

Interval arithmetic (IA) and affine arithmetic (AA) provide
mathematical foundations for propagating ranges (and handling
precision in the latter case) of values. There exist open-source
implementations of libraries for both.

I have seen your work on Google Code. Looks like a nice addition to
LLVM (if i recall correctly).

Best regards
Nikolaos Kavvadias

[toc] | [prev] | [standalone]


Back to top | Article view | comp.compilers


csiph-web