[LLVMdev] Possible instruction combine bug with pointer icmp?
Richard Osborne
richard at xmos.com
Fri Jun 28 08:20:51 PDT 2013
On 28/06/13 15:56, Eli Friedman wrote:
> On Fri, Jun 28, 2013 at 6:13 AM, Richard Osborne <richard at xmos.com
> <mailto:richard at xmos.com>> wrote:
>
> If I give instcombine the following IR:
>
> define i1 @f([1 x i8]* %a, [1 x i8]* %b) {
> %c = getelementptr [1 x i8]* %a, i32 0, i32 0
> %d = getelementptr [1 x i8]* %b, i32 0, i32 0
> %cmp = icmp ult i8* %c, %d
> ret i1 %cmp
> }
>
> It optimizes it into:
>
> define i1 @f([1 x i8]* %a, [1 x i8]* %b) {
> %cmp = icmp slt [1 x i8]* %a, %b
> ret i1 %cmp
> }
>
> Is this a bug, or are there some semantics of icmp or
> getelementptr I'm missing that mean it's OK to change this from an
> unsigned comparison to a signed comparison?
>
>
> Looks like a bug to me.
>
> -Eli
Thanks for confirming this, I've filed it as PR16483:
http://llvm.org/PR16483
--
Richard Osborne | XMOS
http://www.xmos.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130628/112c1a35/attachment.html>
More information about the llvm-dev
mailing list