[LLVMdev] SSI and ABCD for LLVM
Vikram S. Adve
vadve at cs.uiuc.edu
Sat Jun 6 11:31:11 PDT 2009
On Jun 5, 2009, at 9:26 AM, Mai, Haohui wrote:
> By static array bounds checking, I mean eliminating array bounds
> 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
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?
Associate Professor, Computer Science
University of Illinois at Urbana-Champaign
More information about the llvm-dev