Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Leaving overflow to the processor is an example of ignoring it with unpredictable results. Deleting overflow checks because you assume, incorrectly, that overflow is impossible is not an example of ignoring with unpredictable effects, it does produce unpredictable effects, though.


How is the compiler supposed to know that a particular operation is intended as an overflow check though? It isn't a human and it doesn't actually comprehend the code it operates on. It just blindly applies rules.

I want the compiler to eliminate redundant operations. That's a large part of the point of doing optimizations in my view! Best effort attempts to avoid eliminating obvious sanity checks are desired of course, but I doubt it's feasible to reliably identify those short of AGI. (And at that point, why are you still writing code?)


You are advocating incorrect code that uses a few less machine operations than correct code.


The compiler should have valid rules, not invalid ones.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: