[LLVMdev] SSI and ABCD for LLVM

Andre Tavares andrelct at dcc.ufmg.br
Tue Jun 16 12:55:01 PDT 2009

Vikram S. Adve wrote:
> On Jun 5, 2009, at 9:26 AM, Mai, Haohui wrote:
>> By static array bounds checking, I mean eliminating array bounds  
>> checking
>> which can be proved ``safe'' at compile-time.
> Even though SAFECode does have such a pass, there are some tradeoffs  
> with the current version:
> 1. It uses an external solver (Omega), which is one more dependence  
> for LLVM in general.  I don't have a problem with this myself but some  
> users may.
> 2. The existing algorithm for propagating constraints (inequalities)  
> on variables is interprocedural (good) and inefficient (bad).
> ABCD has different tradeoffs.  IIRC, ABCD doesn't use an external  
> solver, though only because it only handles simple sets of  
> inequalities.  The original ABCD algorithm is also intraprocedural,  
> which seems extremely limiting in practice.  Is there any plan of  
> extending this to work interprocedurally?
> --Vikram
> Associate Professor, Computer Science
> University of Illinois at Urbana-Champaign
> http://llvm.org/~vadve
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Dear Vikram,

we chose ABCD because it is a fast approach to solve the problem. It has 
the drawback that it is intra-procedural. For the Summer of Code 
project, we will stick to the original ABCD algorithm. But we can study 
modifications to make it inter-procedural for later research. Any ideas 
and contributions you might have will be welcome.

Andre Tavares
Master Student in Computer Science - UFMG - Brasil

More information about the llvm-dev mailing list