Dependency Collapsing In Instruction-Level Parallel Architectures