[LLVMdev] GEP instruction change
Artur Pietrek
pietreka at gmail.com
Fri Aug 21 02:02:28 PDT 2009
Hi All,
Since few days I observe weird change.
Consider the following C code
char array[] = "0123456789";
extern int test(char arr[], int size);
int main(void) {
return test(array-1, sizeof(array)-1);
}
using clang frontend i get this:
%call = call i32 @test(i8* getelementptr inbounds ([11 x i8]* @array, i32 0,
i32 -1), i32 10) ; <i32> [#uses=1]
and using LLVM-GCC this:
%1 = call i32 @test(i8* getelementptr ([11 x i8]* @array, i32 1561806289,
i32 4), i32 10) nounwind ; <i32> [#uses=1]
Should the second getelementptr look like this? Is it correct or a bug?
Since that change there's a problem in MSIL backend - it simply triggers
pointer overflow assertion.
Artur
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20090821/acfb1819/attachment.html>
More information about the llvm-dev
mailing list