[LLVMdev] GSoC - Range Analysis

Hal Finkel hfinkel at anl.gov
Mon Apr 23 19:50:27 PDT 2012


On Sat, 31 Mar 2012 18:44:39 +0200
Duncan Sands <baldrick at free.fr> wrote:

> Hi John,
> 
> > Regarding your comment about Java, I think you're correct that your
> > range analysis would be better at optimizing Java code.  However,
> > LLVM really isn't used for Java, so I'm not sure if that's a strong
> > argument for your proposal.  To get the best bang for the buck, I
> > think your analysis will need to work well in optimizing
> > C/C++/Objective-C[++] code.
> 
> I use LLVM for compiling Ada.  Ada turns into LLVM IR which is
> chock-a-block full of range checks, so this analysis might be helpful
> for Ada.
> 
> > One thing you could do to mitigate that problem is to do an
> > experiment that *shows* that your analysis has the potential to
> > find more optimization opportunities than what LLVM does today.
> > For example, for dead code elimination, you could run your analysis
> > on optimized LLVM bitcode and find the percentage of icmp/fcmp
> > instructions that can be changed into constants.  If you find a
> > large percentage, then it is more likely that your analysis will
> > help dead code elimination or other optimizations.
> 
> In short, if you can speed up important programs using your analysis
> then that would be a great selling point.

Is it possible to use something like your range analysis on
floating-point values? I can certainly see a large performance benefit
coming from showing that some instructions will always have finite
values, thus allowing 'finite math' optimizations.

 -Hal

> 
> Ciao, Duncan.
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev



-- 
Hal Finkel
Postdoctoral Appointee
Leadership Computing Facility
Argonne National Laboratory



More information about the llvm-dev mailing list