[LLVMdev] PredicateSimplifier questions

John Regehr regehr at cs.utah.edu
Mon Feb 16 08:00:05 PST 2009


Chris do you have a sense for how the definedness of signed overflow in 
LLVM would play out in the context of bounds check elimination?  That is, 
would it cause lots of failure to eliminate checks that could be seen to 
be unnecessary at the C level?

John


On Sun, 15 Feb 2009, Chris Lattner wrote:

>
> On Feb 15, 2009, at 10:08 PM, John Regehr wrote:
>
>>> Predsimplify is believed to have bugs (it results in miscompiled
>>> programs) and certainly isn't efficient (it was written before much
>>> of
>>> include/ADT). Finally, predsimplify is likely to go away once I or
>>> someone else writes a proper VRP pass.
>>
>> Whoever does this, I strongly encourage looking into using (or at
>> least
>> providing optional support for) the Apron library:
>>
>>   http://apron.cri.ensmp.fr/library/
>>
>> No sense reinventing these wheels.
>
> In my experience, starting with a very simple and very cheap approach
> will get most of the benefit.  For those who really want to eliminate
> every check possible, a more expensive approach can be used on top of
> it.  If someone is interested in array bound check elimination, I'd
> suggest starting with the ABCD (array bounds check elimination on
> deman) paper.  I believe that vmkit would hugely benefit from this as
> well.
>
> -Chris
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>



More information about the llvm-dev mailing list