[LLVMdev] Summer of Code

John Criswell criswell at uiuc.edu
Fri Mar 19 12:27:29 PDT 2010


douglas at dcc.ufmg.br wrote:
> Dear LLVMers,
>
> [snip]
> Well, there are many other applications. In short, I would like to know if
> the LLVM community would be interested in such a project. I have been
> working on this for two months, and I am pretty confident I can implement
> a good range analysis. I am basing my work on a paper by Zhendong and
> Wagner: "A class of polynomially solvable range constraints for interval
> analysis without widenings". I have opted for this work, instead of
> Stephenson's more well known paper because I found Zhendong's easier to
> understand and implement. As I told you, I can already infer correct
> ranges on very simple loops, such as:
>   

I believe the SAFECode project (http://safecode.cs.illinois.edu) could 
benefit from a strong range analysis since we want to do better static 
array bounds checking.  Range analysis could also benefit our points-to 
analysis algorithm.

I have a few questions about your proposed analysis:

1) Would your range analysis be more accurate or work in more scenarios 
than the current SCEV pass?  Is it primarily designed for finding value 
ranges within loops, or can it find accurate value ranges for values 
outside of loops, too?

2) Would your analysis be intra-procedural or inter-procedural?

-- John T.

> for (int i = 0; i < 10; i++) {
>   printf("%d\n", i);
> }
>
> In this case, I can find out that i is in [0, 0] before the loop, and is
> in [0, 9] inside, and in [10, +INF] outside. There is, of course, a lot of
> work to be done: handling loops limited by variables, nested loops, nested
> conditionals, etc, but I think that, with the help of a mentor, plus the
> help of the past Summer of Coders in my lab, I can do a good job.
>
> Thanks a lot,
>
> Douglas
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>   




More information about the llvm-dev mailing list