[cfe-commits] TableGen: Goodbye RTTI!

Chris Lattner sabre at nondot.org
Tue Oct 9 20:53:39 PDT 2012

On Oct 8, 2012, at 9:10 AM, Sean Silva <silvas at purdue.edu> wrote:

> This patch set removes the last traces of RTTI from TableGen (both in
> LLVM and Clang) and removes the crutch for enabling RTTI when building
> it.

This all sounds fine to me, if it's ok with Jakob, go for it!


> Every step of the way the generated .inc file are identical and the
> TableGen tests pass. I would appreciate if someone familiar with the
> build system double-checked patches 0006 and 0007 where I remove
> support from the corresponding Makefile and CMakeLists.txt for RTTI;
> it looked pretty obvious, but just in case there is something I don't
> understand about the build system.
> Patches 0001-0004 and 0007 are for LLVM. Patches 0005,0006 are for Clang.
> Patch descriptions:
> 0001-tblgen-Put-dyn_cast-machinery-in-place-for-Init-hier.patch
> This patch sets up the Init hierarchy for LLVM-style RTTI.
> 0002-tblgen-Mechanically-move-dynamic_cast-to-dyn_cast.patch
> 0003-tblgen-Use-semantically-correct-RTTI-functions.patch
> These two patches migrate LLVM's TableGen code to use LLVM-style RTTI.
> 0004-tblgen-Move-mini-Type-hierarchy-to-LLVM-style-RTTI.patch
> I found this mini Type hierarchy inside TableGen which uses RTTI.
> Since it is so small, move it to use LLVM-style RTTI in one fell
> swoop.
> 0005-tblgen-Use-LLVM-style-RTTI-in-clang-tblgen.patch
> Move to LLVM-style RTTI in Clang's TableGen.
> 0006-tblgen-Build-clang-tblgen-without-RTTI.patch
> Remove build support for RTTI in Clang's TableGen.
> 0007-tblgen-Compile-TableGen-without-RTTI.patch
> Remove build support for RTTI in LLVM's TableGen
> Feedback and review welcome.
> -- Sean Silva
> <0001-tblgen-Put-dyn_cast-machinery-in-place-for-Init-hier.patch><0002-tblgen-Mechanically-move-dynamic_cast-to-dyn_cast.patch><0003-tblgen-Use-semantically-correct-RTTI-functions.patch><0004-tblgen-Move-mini-Type-hierarchy-to-LLVM-style-RTTI.patch><0005-tblgen-Use-LLVM-style-RTTI-in-clang-tblgen.patch><0006-tblgen-Build-clang-tblgen-without-RTTI.patch><0007-tblgen-Compile-TableGen-without-RTTI.patch>

More information about the cfe-commits mailing list