Type-Based Alias Analysis

I should have been more specific in my earlier post about slicing and pointer casting. I come from a C++ background where pointer casting is particularly dangerous because the compiler is allowed to assume that unrelated pointers never address the same location in memory. Even doing a "safe" array slice (e.g., casting int(*)[5] to int(*)[3]) results in undefined behavior. Is this an issue with LLVM?


No, LLVM doesn't use TBAA.