We present a novel integer programming formulation for basic block instruction
scheduling on single-issue processors. The problem can be considered as a very
general sequential task scheduling problem with delayed precedence constraints.
Our model is based on the linear ordering problem and has, in contrast to the
last IP model proposed, numbers of variables and constraints that are strongly
polynomial in the instance size. Combined with improved preprocessing techniques
and given a time limit of ten minutes of CPU and system time, our branch-andcut
implementation is capable to solve all but eleven of the 369,861 basic blocks of
the SPEC 2000 integer and floating point benchmarks to proven optimality. This is
competitive to the current state-of-the art constraint programming approach that
has also been evaluated on this test suite.
©