Single thread performance of a processor is limited by the length of the critical path. The critical path is a path of a software program that is longest in terms of latency, e.g., the chain of instructions that slow down the program or stall its processing. These instructions are decoded into what are referred to as micro-operations (or μops). The dynamic instances of micro-operations that lie on this critical path limit the performance of an out-of-order (OOO) processor. Micro-operations that do not lie on the critical path do not affect performance. Hence, correctly identifying these critical μops and devoting additional resources to accelerating only this potentially small subset of critical μops can substantially improve the performance of execution, as compared to accelerating all μops.