Things seem to have changed recently.
Things seem to have changed recently.
Just going by the new stuff that you could have taught back in 2004-2006 that you likely didn't, there's SSA construction, SLP vectorization, automatic peephole superoptimization, and that's just things I could name off the top of my head (and were papers for my qualifying exam :-P).
What hasn't changed is the compiler textbooks, which tend to have way too heavy a focus on how to build a parser generator and almost nothing on how you actually architect a compiler, let alone designing modern computer architecture. But this is a gripe which has been around for decades.
[1] https://github.com/rohanpadhye/jqf/wiki/Fuzzing-a-Compiler
I mean, Haskell is also over 30 years old at this point.
Now functional logic languages like Verse, that is definitely new material.