In their pursuit of faster code, compilers invoke increasingly more complex optimizations. Along with the increase in complexity the difficulty to identify missed optimizations and performance regressions also increases. Most existing work does not focus on finding such missed opportunities. It either concentrates on correctness, does not pinpoint the precise missed optimization, or only finds missed optimizations for specific components of a compiler. We built DEAD, a tool that leverages Dead Code Elimination and Differential Testing to find regressions, and generate corresponding bug reports. We conducted an empirical study on the 647 regressions found by DEAD and developed a new analysis to assess the evolution of LLVM and GCC. With DEAD...