[LLVMdev] APInt with uint64_t comparison

Paweł Bylica chfast at gmail.com
Wed Jun 24 02:18:17 PDT 2015


On Tue, Jun 23, 2015 at 1:27 PM Paweł Bylica <chfast at gmail.com> wrote:

> Hi LLVM,
>
> I have painfully found out that APInt comparison with uint64_t using
> methods like .ult() is done with the precision of the APInt instance. The
> uint64_t argument is usually silently truncated then. E.g. APInt{8,
> 1}.ult(256) is false.
>
> I propose to change that and do the comparison with 64 bit precision. I
> think it is much more useful as APInts representing the value of a constant
> is often compared with the size of a type.
>
> There are no unit tests for APInt comparisons. I've changed the
> implementation locally and haven't spot any regressions.
>

I haven't found any issues in self-hosted check-all and test-suite.
Patch: http://reviews.llvm.org/D10655

If the proposal is accepted I will send the patch for review and do
> self-hosted testing.
>
> Cheers,
> - Paweł
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150624/84b2cf05/attachment.html>


More information about the llvm-dev mailing list