4 ms·
One way of actively looking for compiler bugs is using a tool like Csmith[1]. Another is to compile some known-difficult code (e.g. Libav[2]) with various comb
by mansr 15y ago
One way of actively looking for compiler bugs is using a tool like Csmith[1]. Another is to compile some known-difficult code (e.g. Libav[2]) with various combinations of (optimisation) flags until the test suite fails. Most of the bugs I've found were during routine testing of Libav.
While I don't consider missed optimisations bugs as such, they are easy to find. Simply compile some non-trivial function and look at the output. There's usually something that could be done better, especially if some exotic instruction can be used.
[1] http://embed.cs.utah.edu/csmith/ http://embed.cs.utah.edu/csmith/
[2] http://libav.org/ http://libav.org/
- haberman 15y ago> While I don't consider missed optimisations bugs as such, they are easy to find. Simply compile some non-trivial function and look at the output. Perhaps you'll give me a little credit :) if I mention that I found missed optimization bugs in extremely trivial functions. One of them involved gcc generating several completely useless stores even at -O3: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44194 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44194
- mansr 15y agoThat's not "missed optimisation," that's "generating ridiculous code."