Из http://llvm.org/docs/CodingStandards.html#ci_rtti_exceptions
LLVM действительно широко использует свернутые вручную формы RTTI, которые используют такие шаблоны, как isa , cast и dyn_cast . Эта форма RTTI подписаться и может быть добавлен в любой класс. Это также существенно больше эффективнее, чем dynamic_cast .
Как реализована isa и другие?