[LLVMdev] llvm-java

Andrew Haley aph at redhat.com
Tue May 19 03:01:32 PDT 2009


Andrew Haley wrote:
> Nicolas Geoffray wrote:
>> Andrew Haley wrote:
>>> Right, so that part should be trivial.  So, does the array bounds check
>>> elimination already work?    If it does, that will considerably reduce
>>> the work that Andre needs to do.  To say the least...
>>>
>>>   
>> Trivial bounds check elimination already work, such as tab[2] = 1; 
>> tab[1] = 2 (the second affectation won't have a bounds checks). Although 
>> I don't know the details,  I believe Andre also targets less trivial 
>> eliminations.
> 
> I should have asked a better question.  By "does it work" I meant something
> like
> 
>   for (int i = 0; i < a.length; i++)
>     System.out.println(a[i]);
> 
> in which the autogenerated check should trivially be removed, but only if
> LLVM knows that a.length is invariant.

Oh, I forgot to mention that a.length should be hoisted into a register
as it's loop invariant.

Andrew.



More information about the llvm-dev mailing list