Compiler "optimizations" aren't necessarily improvements. Optimization patterns, however, can be nicely enumerated. This is from 1971, Frances Allen and John Cocke. It looks like a classic paper. See previously https://news.ycombinator.com/item?id=24067436
A Catalogue of Optimizing Transformations (1971) [pdf] - https://news.ycombinator.com/item?id=24397560 - Sept 2020 (7 comments)