I blogged about compilation time – compiling with -std=c++98 is (sometimes) much faster than -std=c++11
https://kristerw.blogspot.se/2018/04/compilation-time-stdc98-vs-stdc11.html
I blogged about the useful, but little known, libstdc++ debug mode.
https://kristerw.blogspot.se/2018/03/detecting-incorrect-c-stl-usage.html
I blogged about GCC command options for debugging
https://kristerw.blogspot.se/2018/02/gcc-command-options-for-debugging-og.html
Part 6: GCC back end performance tuning
https://kristerw.blogspot.se/2018/01/gcc-back-end-performance-tuning.html
Part 5: More about GCC instruction patterns
https://kristerw.blogspot.se/2017/12/more-about-gcc-instruction-patterns.html
I blogged about why GCC consumes an excessive amount of memory when compiling `std::array<std::bitset<N>, N> elems;`
https://kristerw.blogspot.se/2017/10/excessive-gcc-memory-usage-for-large.html
I blogged about useful GCC warning options not enabled by -Wall -Wextra
https://kristerw.blogspot.se/2017/09/useful-gcc-warning-options-not-enabled.html
I wrote a follow-up post about what may happen for slightly more complex cases.
https://kristerw.blogspot.se/2017/09/follow-up-on-why-undefined-behavior-may.html
I wrote about why undefined behavior may make compilers insert a call to a never-called function
https://kristerw.blogspot.se/2017/09/why-undefined-behavior-may-call-never.html
Part 4: Target description macros and functions
https://kristerw.blogspot.se/2017/08/gcc-target-description-macros-and.html
Part 3: Low-level IR and basic code generation
https://kristerw.blogspot.se/2017/08/gcc-low-level-ir-and-basic-code.html
Part 2: Getting started with a GCC back end
https://kristerw.blogspot.se/2017/08/getting-started-with-gcc-back-end.html
Part 1: The structure of a GCC back end
https://kristerw.blogspot.se/2017/08/the-structure-of-gcc-back-end.html
I have started to write a blog series about how a GCC back end works
https://kristerw.blogspot.se/2017/08/writing-gcc-backend_4.html
I blogged some about the recent Phoronix GCC/LLVM benchmarking results on Ryzen
https://kristerw.blogspot.se/2017/07/phoronix-scimark-benchmarking-results.html
I blogged about store/load dependencies (and ranted about micro benchmarking)
https://kristerw.blogspot.se/2017/07/a-loadstore-performance-corner-case.html
I blogged about the C strict aliasing rules. And some other annoying things in the C standard.
https://kristerw.blogspot.se/2017/07/strict-aliasing-in-c90-vs-c99-and-how.html
I blogged about why GCC generates slow code for a range-v3 example
https://kristerw.blogspot.se/2017/06/a-look-at-range-v3-code-generation.html
I wrote a follow-up post with some more information about what -fipa-pta actually do
https://kristerw.blogspot.se/2017/06/fipa-pta.html
I blogged about what GCCs interprocedural optimizations do
https://kristerw.blogspot.se/2017/05/interprocedural-optimization-in-gcc.html