Month: August 2016

  • Compilation and Hyperthreading

    Hyperthreading (HT) may or may not be a performance win, depending on the workload. I had poor luck with HT in the Pentium 4 era and ever since then have just disabled it in the BIOS on the idea that the kind of software that I typically wait around for—compilers and SMT solvers—is going to…

  • Isolating a Free-Range Miscompilation

    If we say that a compiler is buggy, we need to be able to back up that claim with reproducible, compelling, and understandable evidence. Usually, this evidence centers on a test case that triggers the buggy behavior; we’ll say something like “given this test case, compiler A produces an executable that prints 0 whereas compiler…

  • Obelisk

    Classes start next week so I sneaked out for a quick hike on Tuesday, climbing a minor local peak that is informally called The Obelisk. This one had eluded me for years so it felt nice to finally stand on top. Summitpost says “Obelisk is rarely climbed during the summer and provides ample solitude,” and…

  • A Month of Invalid GCC Bug Reports, and How to Eliminate Some of Them

    During July 2016 the GCC developers marked 38 bug reports as INVALID. Here’s the full list. They fall into these (subjective) categories: 8 bug reports stemmed from undefined behavior in the test case (71753, 71780, 71803, 71813, 71885, 71955, 71957, 71746) 1 bug report was complaining about UB exploitation in general (71892) 15 bug reports…

  • Perseids

    Matthew Flatt, my 9 year old son, and I stayed out last night watching the Perseid meteor shower. To find some dark skies we drove out to the Utah-Nevada border, along the way passing a sign that said “NEXT GAS 130 MILES” — always a good sign on a road trip. We arrived around 12:30…