[clang] [TBAA] Emit "omnipotent char" for intrinsics with type cast (PR #107793)

via cfe-commits cfe-commits at lists.llvm.org
Sun Sep 8 23:19:16 PDT 2024


huhu233 wrote:

> I don't understand this. The code is a strict aliasing violation, so why should clang work around it?

Hi, @arsenm, the violation is due to the compiler emitting different TBAA for `svst1` (long) and other users of `res2` (long long). TBAA is invisible to ACLE users, and the compiler should tell them that this kind of code may cause errors, or work around it (e.g., emit `omnipotent char` to `svst1` if there is bitcast). 

https://github.com/llvm/llvm-project/pull/107793


More information about the cfe-commits mailing list