Update comments, now that CPR's are gone, inline the methods
authorChris Lattner <sabre@nondot.org>
Thu, 18 Nov 2004 17:46:57 +0000 (17:46 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 18 Nov 2004 17:46:57 +0000 (17:46 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17957 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Instructions.h
include/llvm/Support/CallSite.h

index b52ebd9acaacf92ab90700763452669bb14e0188..892feaa2c41dcd0c9b4c2af21d4487bd933ea081 100644 (file)
@@ -481,10 +481,12 @@ public:
   virtual CallInst *clone() const;
   bool mayWriteToMemory() const { return true; }
 
-  // FIXME: These methods should be inline once we eliminate
-  // ConstantPointerRefs!
-  const Function *getCalledFunction() const;
-  Function *getCalledFunction();
+  /// getCalledFunction - Return the function being called by this instruction
+  /// if it is a direct call.  If it is a call through a function pointer,
+  /// return null.
+  Function *getCalledFunction() const {
+    return dyn_cast<Function>(Operands[0]);
+  }
 
   // getCalledValue - Get a pointer to a method that is invoked by this inst.
   inline const Value *getCalledValue() const { return Operands[0]; }
@@ -1088,12 +1090,11 @@ public:
   bool mayWriteToMemory() const { return true; }
 
   /// getCalledFunction - Return the function called, or null if this is an
-  /// indirect function invocation... 
-  ///
-  /// FIXME: These should be inlined once we get rid of ConstantPointerRefs!
+  /// indirect function invocation.
   ///
-  const Function *getCalledFunction() const;
-  Function *getCalledFunction();
+  Function *getCalledFunction() const {
+    return dyn_cast<Function>(Operands[0]);
+  }
 
   // getCalledValue - Get a pointer to a function that is invoked by this inst.
   inline const Value *getCalledValue() const { return Operands[0]; }
index 93442639b544a9842031ec93e1e1ee69bef7aa2e..1efc34e56a85c327306de944c2edad69cbc19486 100644 (file)
@@ -74,8 +74,9 @@ public:
   /// getCalledFunction - Return the function being called if this is a direct
   /// call, otherwise return null (if it's an indirect call).
   ///
-  /// FIXME: This should be inlined once ConstantPointerRefs are gone.  :(
-  Function *getCalledFunction() const;
+  Function *getCalledFunction() const {
+    return dyn_cast<Function>(getCalledValue());
+  }
 
   /// setCalledFunction - Set the callee to the specified value...
   ///