Stop building RTTI information for *most* llvm libraries.  Notable
missing ones are libsupport, libsystem and libvmcore.  libvmcore is
currently blocked on bugpoint, which uses EH.  Once it stops using
EH, we can switch it off.

This #if 0's out 3 unit tests, because gtest requires RTTI information.
Suggestions welcome on how to fix this.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94164 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/unittests/ExecutionEngine/JIT/JITTest.cpp b/unittests/ExecutionEngine/JIT/JITTest.cpp
index 7f75afa..bed2d22 100644
--- a/unittests/ExecutionEngine/JIT/JITTest.cpp
+++ b/unittests/ExecutionEngine/JIT/JITTest.cpp
@@ -58,6 +58,7 @@
   return Result;
 }
 
+#if 0
 class RecordingJITMemoryManager : public JITMemoryManager {
   const OwningPtr<JITMemoryManager> Base;
 public:
@@ -178,6 +179,7 @@
     return Base->endExceptionTable(F, TableStart, TableEnd, FrameRegister);
   }
 };
+#endif
 
 bool LoadAssemblyInto(Module *M, const char *assembly) {
   SMDiagnostic Error;
@@ -195,11 +197,15 @@
   virtual void SetUp() {
     M = new Module("<main>", Context);
     MP = new ExistingModuleProvider(M);
+#if 0
     RJMM = new RecordingJITMemoryManager;
     RJMM->setPoisonMemory(true);
+#endif
     std::string Error;
     TheJIT.reset(EngineBuilder(MP).setEngineKind(EngineKind::JIT)
+#if 0
                  .setJITMemoryManager(RJMM)
+#endif
                  .setErrorStr(&Error).create());
     ASSERT_TRUE(TheJIT.get() != NULL) << Error;
   }
@@ -211,7 +217,9 @@
   LLVMContext Context;
   Module *M;  // Owned by MP.
   ModuleProvider *MP;  // Owned by ExecutionEngine.
+#if 0
   RecordingJITMemoryManager *RJMM;
+#endif
   OwningPtr<ExecutionEngine> TheJIT;
 };
 
@@ -430,6 +438,7 @@
   TheJIT->getPointerToFunction(func);
   TheJIT->deleteModuleProvider(MP);
 
+#if 0
   SmallPtrSet<const void*, 2> FunctionsDeallocated;
   for (unsigned i = 0, e = RJMM->deallocateFunctionBodyCalls.size();
        i != e; ++i) {
@@ -463,6 +472,7 @@
   }
   EXPECT_EQ(RJMM->startExceptionTableCalls.size(),
             NumTablesDeallocated);
+#endif
 }
 
 // ARM and PPC still emit stubs for calls since the target may be too far away
@@ -497,14 +507,18 @@
 
   // We should now allocate no more stubs, we have the code to foo
   // and the existing stub for bar.
+#if 0
   int stubsBefore = RJMM->stubsAllocated;
+#endif
   Function *func = M->getFunction("main");
   TheJIT->getPointerToFunction(func);
 
   Function *bar = M->getFunction("bar");
   TheJIT->getPointerToFunction(bar);
 
+#if 0
   ASSERT_EQ(stubsBefore, RJMM->stubsAllocated);
+#endif
 }
 #endif  // !ARM && !PPC