The building blocks of today's and future embedded systems are complex intellectual property components, or cores, many of which are programmable processors. Due to the need for efficient embedded systems, this overhead must be very low in order to make compilers useful in practice.