Undefined behaviour is a complex issue, but compiler devs seem alarmingly unaware that optimising for performance is one choice among many.
@stephenrkell I don't see unawareness at all here. They have ubsan, language dialect options to allow common mistakes, etc.
-
-
@RichFelker Okay, but the bottom line is still: "your bugs => your problem; UB = optimisation opportunity". How about "-Oonly-known-good"? -
@stephenrkell A safety/hardening-oriented -O level would probably be welcome if someone wants to develop it. -
@stephenrkell However lots of UB is nearly as dangerous even without optimizations that actively 'exploit' it. It's undefined for a reason. -
@RichFelker I'd say "many reasons", which is why this issue is so complex... (hmm, perhaps I should blog about this soonish). -
@stephenrkell Also, if you write a proper optimizing compiler, you have to go out of your way NOT to "exploit UB" or else badly pessimize. -
@RichFelker That's the conventional wisdom. Problem is I'm a serial doubter. Do you know any experiments that measure this effect? -
@stephenrkell I don't know how to measure the effect, but many historical aliasing/etc hacks I saw were obviously working around bad codegen -
@stephenrkell To quantify you'd need a tool to find such hacks in code from times when compilers were that bad, then guess motive by hand. - 3 more replies
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.