It has never happened that a compiler was able to do static scheduling of general purpose instructions over the long term.

Every CPU changes the cycles it takes for many instructions, adds new instructions etc.

Out of order execution is a huge dividing line in performance for a reason. The CPU itself needs to figure these things out to minimize memory latency, cache latency, pipelining, prefetching and all that stuff.