Google Summer of Code FP Range checks

Hi,

I am interested in applying to LLVM as part Google Summer of Code 2015. I have been going through LLVM code since about 4 months now, and while going though mailing list discussions I found particular interest in the point raised by Arch Robinson in January about the development of a floating point range check pass in LLVM.

I have been in touch with Arch as well as Hal Finkel about this and I wanted to know the feedback from the general community about this project, especially as being part of Summer of Code.

I have currently looked at integer range analysis papers and also the David Goldberg paper on floating point arithmetic. I have also gone through the rough code that was posted on the mailing list by Arch, which sets up a basic lattice for the range checks. I feel that with enough effort during the course of the Summer of Code program I should be able to get a good enough implementation in LLVM.

Please let me know your thoughts on the same.

Thank You

Aditya V Kamath
Undergraduate Student,
IIT Hyderabad ODF Medak,
Yeddumailaram,
Hyderabad 502205

From: "Aditya Kamath" <cs11b001+llvmdev@iith.ac.in>
To: llvmdev@cs.uiuc.edu
Sent: Thursday, March 12, 2015 2:01:08 PM
Subject: [LLVMdev] Google Summer of Code FP Range checks

Hi,

I am interested in applying to LLVM as part Google Summer of Code
2015. I have been going through LLVM code since about 4 months now,
and while going though mailing list discussions I found particular
interest in the point raised by Arch Robinson in January about the
development of a floating point range check pass in LLVM.

I have been in touch with Arch as well as Hal Finkel about this and I
wanted to know the feedback from the general community about this
project, especially as being part of Summer of Code.

I have currently looked at integer range analysis papers and also the
David Goldberg paper on floating point arithmetic. I have also gone
through the rough code that was posted on the mailing list by Arch,
which sets up a basic lattice for the range checks. I feel that with
enough effort during the course of the Summer of Code program I
should be able to get a good enough implementation in LLVM.

This is essentially enhancing LVI (and the passes that use it, JumpThreading and CorrelatedValuePropagation) to handle floating-point ranges, correct? Or do you have something else in mind?

-Hal

Hi,

Yes I will be enhancing LVI and the passes that use it.I am currently going through the code of LVI and have a basic understanding at this point of time.

Also I will be sending a draft of my GSoC proposal to the mailing list for comments.

Thanks

Aditya V Kamath
Undergraduate Student,
IIT Hyderabad ODF Medak,
Yeddumailaram,
Hyderabad 502205