GNU Tools Cauldron 2014 - Proposal for Type-Safe RTL
Channel: Embecosm
Date: 2014-09-05

Presenter: David Malcolm

Abstract:
The backend code's ENABLE_RTL_CHECKING ensures that only valid combinations of RTL are constructed, but this option is painfully slow
to use, so AFAIK very few people with it, and only when close to release time.

I'll talk about an approach I've been experimenting with in which the
RTL codes are expressed in a simple way in the C++ type-system, so that this checking can be done when the compiler is built, rather than at run-time, allowing the checking to be on for all developers, throughout
the development cycle. As a further benefit, I believe it makes the backend code significantly more readable.