For PR1297:
authorReid Spencer <rspencer@reidspencer.com>
Sun, 1 Apr 2007 07:26:35 +0000 (07:26 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Sun, 1 Apr 2007 07:26:35 +0000 (07:26 +0000)
Change the interface to the getName, getType, getDeclaration methods to
include the "actual" types of the result/arguments. This is necessary to
support overloaded intrinsics.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35542 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Intrinsics.h

index 8275b72676fcc2d5ac541ef12e6106450b089c38..3a97b33358d87e17501a4bf2fba591392decd329 100644 (file)
@@ -18,6 +18,7 @@
 
 namespace llvm {
 
+class Type;
 class FunctionType;
 class Function;
 class Module;
@@ -39,15 +40,16 @@ namespace Intrinsic {
   
   /// Intrinsic::getName(ID) - Return the LLVM name for an intrinsic, such as
   /// "llvm.ppc.altivec.lvx".
-  const char *getName(ID id);
+  std::string getName(ID id, const Type **Tys = 0, unsigned numTys = 0);
   
   /// Intrinsic::getType(ID) - Return the function type for an intrinsic.
   ///
-  const FunctionType *getType(ID id);
+  const FunctionType *getType(ID id, const Type **Tys = 0, unsigned numTys = 0);
 
   /// Intrinsic::getDeclaration(M, ID) - Create or insert an LLVM Function
   /// declaration for an intrinsic, and return it.
-  Function *getDeclaration(Module *M, ID id);
+  Function *getDeclaration(Module *M, ID id, const Type **Tys = 0, 
+                           unsigned numTys = 0);
   
 } // End Intrinsic namespace