I blogged some random notes about compiler optimizations, branches, and conditional moves.
I have written a Valgrind tool to find potentially useless memory operations
I blogged about scalar evolution, and how LLVM is using it to optimize geometric sums
It is surprisingly easy to get GCC 1.27 (released 1988) working on a modern system
And it is fast. It can build itself in 0.2s on my desktop computer!
A follow-up post with more results and analyses: https://hubicka.blogspot.com/2018/12/even-more-fun-with-building-and.html
I blogged about some #C64 programming I have done over the holidays.
Honza wrote a good blog post about the differences in performance/size/etc. between Firefox built using gcc and clang
I blogged some more about problems with determining which implementation is the fastest
Interesting analysis of how GCC's optimizations affect debugging.
Hmm. Supporting C++ modules will need to modify the compiler/build system in annoying/magic ways...
My talk “How compilers take advantage of undefined behavior” from the Malmö C++ User Group meeting 0x3 is now available on YouTube
I blogged some more about how microbenchmarks may give misleading results
I blogged about how GCC optimizes a benchmark so it (probably) fails to measure what was intended
I blogged about four useful address sanitizer checks that are not enabled by default when using -fsanitize=address.
I blogged about why the compiler cannot optimize one of the examples from Matt Godbolt’s C++Now 2018 talk.
I blogged about compilation time – compiling with -std=c++98 is (sometimes) much faster than -std=c++11
Compilers / GPUs / NetBSD / Lindy Hop (not necessarily in that order)
Mastodon server focused on game development and related topics.