[LLVMdev] "icmp sgt" when it should be "ugt" ?

Eli Friedman eli.friedman at gmail.com
Tue Aug 2 08:27:52 PDT 2011


On Tue, Aug 2, 2011 at 3:47 AM, Duncan Sands <baldrick at free.fr> wrote:
> Hi Chris,
>
>> Icmp sgt is correct.
>
> while ugt would be wrong, I think sgt is too!
>
> For example, suppose %buf is 0 and %bufLen is ~0U.  Then %add.ptr is ~0U, and
> %cmp is true, so control branches to %if.then.  However in the optimized version
> %cmp is false and control branches to %if.end.
>
> The GEP does have an inbounds attribute, I'm not sure if that is relevant here.

It is relevant: in your proposed scenario, the GEP returns undef.

-Eli




More information about the llvm-dev mailing list