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
class FunctionType;
class Function;
class Module;
class FunctionType;
class Function;
class Module;
/// Intrinsic::getName(ID) - Return the LLVM name for an intrinsic, such as
/// "llvm.ppc.altivec.lvx".
/// 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.
///
/// 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.
/// 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
} // End Intrinsic namespace