[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
http://dcc.ufmg.br/~andrelct
More information about the llvm-dev
mailing list