[LLVMdev] Disabling rtti on default build - could it be reverted/re-enabled?

Pekka Jääskeläinen pekka.jaaskelainen at tut.fi
Thu Feb 18 01:54:04 PST 2010


On 02/17/2010 09:58 PM, Chris Lattner wrote:
> You should be able to get this by doing "make REQUIRES_RTTI=1" when building LLVM.

What is the main reason RTTI is now disabled by default? We discussed
this briefly in IRC but could not reach a proper conclusion and I was
directed to ask here for the proper reason against it.

Having RTTI support in should not have execution speed penalties, only
using the typeinfo does, and binary size benefit is also very small.

Seems this has been discussed a while ago, but I'd like to ask to
reconsider:
http://lists.cs.uiuc.edu/pipermail/llvmdev/2010-January/028970.html

It would be better to have the support on by default as having it on should
not break the majority of clients (RTTI on is the default for g++ at least) to
the LLVM lib. It now breaks for us, and I have a feeling we are not the only
ones. Especially now that the shared lib generation has been fixed, I predict
use cases like ours won't be all that uncommon (clients to libLLVM*.so that
use also libs like Boost that require RTTI).

Mainly this is about a nuisance to need to ask users of TCE to recompile
LLVM (which might be even installed from a precompiled binary for their 
distro) to be able to compile TCE.

It's not easy to get rid of RTTI requiring code for us as we use Boost
heavily in our derived MachineFunctionPasses.

-- 
Pekka



More information about the llvm-dev mailing list