[LLVMdev] Possible instruction combine bug with pointer icmp?
Richard Osborne
richard at xmos.com
Fri Jun 28 06:13:44 PDT 2013
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?
--
Richard Osborne | XMOS
http://www.xmos.com
More information about the llvm-dev
mailing list