Get rid of a couple of dynamic_cast.
authorEvan Cheng <evan.cheng@apple.com>
Wed, 20 Aug 2008 00:28:12 +0000 (00:28 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Wed, 20 Aug 2008 00:28:12 +0000 (00:28 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55022 91177308-0d34-0410-b5e6-96231b3b80d8

lib/ExecutionEngine/JIT/JITEmitter.cpp

index 3100f0680b72fffe0fef71973492be62d53fc14e..3b96a78bfc072daa0f12310f8373c2d1c62655a0 100644 (file)
@@ -486,6 +486,12 @@ namespace {
       delete MemMgr;
       if (ExceptionHandling) delete DE;
     }
+
+    /// classof - Methods for support type inquiry through isa, cast, and
+    /// dyn_cast:
+    ///
+    static inline bool classof(const JITEmitter*) { return true; }
+    static inline bool classof(const MachineCodeEmitter*) { return true; }
     
     JITResolver &getJITResolver() { return Resolver; }
 
@@ -1129,8 +1135,8 @@ void *JIT::getPointerToFunctionOrStub(Function *F) {
     return Addr;
   
   // Get a stub if the target supports it.
-  assert(dynamic_cast<JITEmitter*>(MCE) && "Unexpected MCE?");
-  JITEmitter *JE = static_cast<JITEmitter*>(getCodeEmitter());
+  assert(isa<JITEmitter>(MCE) && "Unexpected MCE?");
+  JITEmitter *JE = cast<JITEmitter>(getCodeEmitter());
   return JE->getJITResolver().getFunctionStub(F);
 }
 
@@ -1146,7 +1152,7 @@ void JIT::freeMachineCodeForFunction(Function *F) {
     RemoveFunctionFromSymbolTable(OldPtr);
 
   // Free the actual memory for the function body and related stuff.
-  assert(dynamic_cast<JITEmitter*>(MCE) && "Unexpected MCE?");
-  static_cast<JITEmitter*>(MCE)->deallocateMemForFunction(F);
+  assert(isa<JITEmitter>(MCE) && "Unexpected MCE?");
+  cast<JITEmitter>(MCE)->deallocateMemForFunction(F);
 }