Hi guys, I’m new to LLVM and trying demo with the following C code:
int main()
{
int a = 65535;
*(1+(char *)a) = 0;
return a;
}
unfortunately it generates the wrong IR:
define i32 @main() nounwind {
entry:
store i8 0, i8* inttoptr (i64 65536 to i8*), align 65536
ret i32 65535
}
seems SSA not applied on memory but incorrectly ‘acrossed’ by scalar values.
Is it a bug?