Lol that’s hilariously false. Well defined languages get optimized much better than -O0. It’s just not true that defining OOB and races would prevent meaningful optimizations.
-
-
Replying to @filpizlo @whitequark and
Maybe
@whitequark is confusing “load elimination under strict aliasing” with “all optimizations”. In my experience those are not the same thing although a subset relation exists.1 reply 0 retweets 0 likes -
I'm not saying anything about strict aliasing. maybe you're using a different definition of "defined". If some behavior is defined, can compiler optimizations change observations of it?
1 reply 0 retweets 1 like -
The answer does not have to be “yes”. Java and JS both have well defined semantics except timing, and compilers optimize those a lot.
1 reply 0 retweets 0 likes -
I'm being consistent: I said I want OOB read/write to read/write to any object, under -O0 or any optimization level. Even every execution of the -O0 program could write to a different object (and that can happen today).
0 replies 0 retweets 0 likes -
Replying to @johnregehr @filpizlo and
Sadly we don’t even have the developer bandwidth to implement safe Rust optimizations anytime soon, much less unsafe ones :(
1 reply 0 retweets 2 likes
Our optimization story for unsafe code is gonna be “whatever LLVM does ¯\_(ツ)_/¯” for quite a while
-
-
Replying to @BRIAN_____ @johnregehr and
I don’t mean that we specify what LLVM does as part of the official semantics. Rust’s compatibility guarantee doesn’t and can’t extend to UB, because otherwise even changing the register allocator could be considered a breaking change…
1 reply 0 retweets 1 like - 1 more reply
New conversation -
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.