diff --git a/lib/Analysis/IPA/CallGraph.cpp b/lib/Analysis/IPA/CallGraph.cpp
index 98dfbf7..63bb968 100644
--- a/lib/Analysis/IPA/CallGraph.cpp
+++ b/lib/Analysis/IPA/CallGraph.cpp
@@ -100,10 +100,10 @@
       Instruction *I = *II;
 
       if (CallInst *CI = dyn_cast<CallInst>(I)) {
-        if (CI->getCalledMethod() == 0)
+        if (CI->getCalledFunction() == 0)
           Node->addCalledMethod(ExternalNode);
       } else if (InvokeInst *II = dyn_cast<InvokeInst>(I)) {
-        if (II->getCalledMethod() == 0)
+        if (II->getCalledFunction() == 0)
           Node->addCalledMethod(ExternalNode);
       }
     }
diff --git a/lib/Transforms/IPO/InlineSimple.cpp b/lib/Transforms/IPO/InlineSimple.cpp
index 9ca23f7..51cde2e 100644
--- a/lib/Transforms/IPO/InlineSimple.cpp
+++ b/lib/Transforms/IPO/InlineSimple.cpp
@@ -69,7 +69,7 @@
   assert((*CIIt)->getParent()->getParent() && "Instruction not in method!");
 
   CallInst *CI = cast<CallInst>(*CIIt);
-  const Method *CalledMeth = CI->getCalledMethod();
+  const Function *CalledMeth = CI->getCalledFunction();
   if (CalledMeth == 0 ||   // Can't inline external method or indirect call!
       CalledMeth->isExternal()) return false;
 
@@ -242,8 +242,8 @@
   for (BasicBlock::iterator I = BB->begin(); I != BB->end(); ++I) {
     if (CallInst *CI = dyn_cast<CallInst>(*I)) {
       // Check to see if we should inline this method
-      Method *M = CI->getCalledMethod();
-      if (M && ShouldInlineMethod(CI, M))
+      Method *F = CI->getCalledFunction();
+      if (F && ShouldInlineMethod(CI, F))
 	return InlineMethod(I);
     }
   }
