Until 2015, LLVM just unconditionally put the function prologue at the beginning of each function, even when it wasn't needed! A friendly introduction to the shrink-wrap pass here:
miniblog.
Related Posts
I've never seen a good design philosophy on how to sort compiler errors for the best UX.
Do you order by line, or by severity? Do you put the most actionable at the end (because that's most visible when the terminal scrolls) or at the beginning?
I'm beginning to suspect that the act of writing a blogging engine is just to trick yourself into writing a few blog posts.
I'm writing some docs in markdown, and I'm really glad I can use arbitrary HTML when I need to. It's so handy when you hit the limits of markdown (e.g. tables, named anchors, custom styling).
It's dangerous when you have untrusted input, but I'm beginning to appreciate it.