Conversation

twitter.com/comex/status/1 Noalias optimizations have always been so thoroughly broken in LLVM. It's sad. How many times has Rust tried communicating noalias info to LLVM just to end up needing to disable it? It's broken for restrict in C. Mitigated by no one using that feature...
Quote Tweet
So you know how Rust recently re-enabled LLVM noalias (i.e. optimizing based on no-aliasing assumptions), after having it disabled due to longstanding bugs in LLVM? Well… github.com/rust-lang/rust
1
6
Replying to
When you ran into these kinds of issues in C, it can take significant effort to determine it isn't the fault of the code. C alias analysis and pointer provenance optimization are based around playing subjective games around vague and unclear wording in a poorly written standard.
1
3
It's not simply that LLVM and GCC have a bunch of mistakes in their implementations of optimizations and alias analysis... Hitting issues of C being miscompiled leads to needing to figure out if the standard allows the compiler to be broken, which it probably does, so WONTFIX.
2