Because undefined behavior optimizations are necessary for C to be acceptably fast. e.g. signed overflow ruins loop trip count detection.
-
-
-
I don’t want to use C without TBAA rules, for example. It’s needed for all sorts of optimizations that e.g. JVMs can do easily.
- 1 more reply
New conversation -
-
-
worst real world problems are those that bite you once in 3 years, not those that bite you all the time
-
Don’t agree. The worst real-world problems are the security problems that appear constantly.
- 8 more replies
New conversation -
-
-
You misunderstand me. I’m saying that safe Rust depends on UB-based optimizations in LLVM, because our compiler guarantees our IR has no UB.
-
In other words: The Rust compiler *is* the mythical perfect programmer who never writes code with UB. Why not let us have our optimization?
End of conversation
New conversation -
-
-
No, we take advantage of TBAA in safe code, but not in unsafe. (Though we could do more.)
-
For an example of a real-world issue where we depend on alias optzns, see https://github.com/servo/webrender/issues/1501 … (caused by https://github.com/rust-lang/rust/issues/31681 …).
End of conversation
New conversation -
-
-
Until someone fixed the network stack to be actually written in C.
Thanks. Twitter will use this to make your timeline better. UndoUndo
-
-
-
I see plenty of evidence that people choose modern optimizing C compilers over older ones that didn’t do such optimizations :)
Thanks. Twitter will use this to make your timeline better. UndoUndo
-
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.