[llvm-commits] CVS: llvm/lib/ExecutionEngine/ExecutionEngine.cpp

LLVM llvm at cs.uiuc.edu
Sat Jul 17 17:41:37 PDT 2004



Changes in directory llvm/lib/ExecutionEngine:

ExecutionEngine.cpp updated: 1.55 -> 1.56

---
Log message:

bug 122: http://llvm.cs.uiuc.edu/PR122 :
- Replace ConstantPointerRef usage with GlobalValue usage
- Correct isa<Constant> for GlobalValue subclass


---
Diffs of the changes:  (+6 -11)

Index: llvm/lib/ExecutionEngine/ExecutionEngine.cpp
diff -u llvm/lib/ExecutionEngine/ExecutionEngine.cpp:1.55 llvm/lib/ExecutionEngine/ExecutionEngine.cpp:1.56
--- llvm/lib/ExecutionEngine/ExecutionEngine.cpp:1.55	Wed Jul 14 21:47:47 2004
+++ llvm/lib/ExecutionEngine/ExecutionEngine.cpp	Sat Jul 17 19:41:27 2004
@@ -263,19 +263,14 @@
     GET_CONST_VAL(Double , ConstantFP);
 #undef GET_CONST_VAL
   case Type::PointerTyID:
-    if (isa<ConstantPointerNull>(C)) {
+    if (isa<ConstantPointerNull>(C))
       Result.PointerVal = 0;
-    } else if (const ConstantPointerRef *CPR = dyn_cast<ConstantPointerRef>(C)){
-      if (Function *F =
-          const_cast<Function*>(dyn_cast<Function>(CPR->getValue())))
-        Result = PTOGV(getPointerToFunctionOrStub(F));
-      else 
-        Result = PTOGV(getOrEmitGlobalVariable(
-                           cast<GlobalVariable>(CPR->getValue())));
-
-    } else {
+    else if (const Function *F = dyn_cast<Function>(C))
+      Result = PTOGV(getPointerToFunctionOrStub(const_cast<Function*>(F)));
+    else if (const GlobalVariable* GV = dyn_cast<GlobalVariable>(C))
+      Result = PTOGV(getOrEmitGlobalVariable(const_cast<GlobalVariable*>(GV)));
+    else
       assert(0 && "Unknown constant pointer type!");
-    }
     break;
   default:
     std::cout << "ERROR: Constant unimp for type: " << *C->getType() << "\n";





More information about the llvm-commits mailing list