Taming the IXP Network Processor

01 January 2003

New Image

We compile Nova, a new language designed for writing network processing applications, using an aggressive optimizer based on integer-linear programming (ILP) for register allocation, optimal bank assignment, and spills. The compiler's optimizer employs CPS as its intermediate representation; some of the invariants that this IR guarantees are essential for the formulation of a practical ILP model.