C compiler design for a network processor
Jens Wagner, Rainer Leupers · IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems · 2001
One important problem in code generation for embedded processors is the design of efficient compilers for target machines with application-specific architectures. This paper outlines the design of a C compiler for an industrial application-specific instruction-set processor (ASIP) for telecom applications. The target ASIP is a, network processor with special instructions for bit-level access to data registers, which is required for packet-oriented communication protocol processing. From a practical viewpoint, we describe the main challenges in exploiting these application-specific features in a C compiler and we show how a compiler backend has been designed that accommodates these features by means of compiler intrinsics and a dedicated register allocator. The compiler is fully operational and first experimental results indicate that C-level programming of the ASIP leads to good code quality without the need for time-consuming assembly programming.