X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=include%2Fllvm%2FIntrinsics.h;h=243359953bcbe18f2876123aa32578017392e15b;hb=0f123cf732ad249117b7471e37bf819633b76a6e;hp=3a97b33358d87e17501a4bf2fba591392decd329;hpb=d4d68ba4b80d0ef48409d822617e345adc855287;p=oota-llvm.git diff --git a/include/llvm/Intrinsics.h b/include/llvm/Intrinsics.h index 3a97b33358d..243359953bc 100644 --- a/include/llvm/Intrinsics.h +++ b/include/llvm/Intrinsics.h @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file was developed by the LLVM research group and is distributed under -// the University of Illinois Open Source License. See LICENSE.TXT for details. +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // @@ -16,12 +16,15 @@ #ifndef LLVM_INTRINSICS_H #define LLVM_INTRINSICS_H +#include + namespace llvm { class Type; class FunctionType; class Function; class Module; +class AttrListPtr; /// Intrinsic Namespace - This namespace contains an enum with a value for /// every intrinsic/builtin function known by LLVM. These enum values are @@ -46,10 +49,23 @@ namespace Intrinsic { /// const FunctionType *getType(ID id, const Type **Tys = 0, unsigned numTys = 0); + /// Intrinsic::getAttributes(ID) - Return the attributes for an intrinsic. + /// + AttrListPtr getAttributes(ID id); + /// Intrinsic::getDeclaration(M, ID) - Create or insert an LLVM Function /// declaration for an intrinsic, and return it. + /// + /// The Tys and numTys parameters are for intrinsics with overloaded types + /// (i.e., those using iAny or fAny). For a declaration for an overloaded + /// intrinsic, Tys should point to an array of numTys pointers to Type, + /// and must provide exactly one type for each overloaded type in the + /// intrinsic. Function *getDeclaration(Module *M, ID id, const Type **Tys = 0, unsigned numTys = 0); + + /// Map a GCC builtin name to an intrinsic ID. + ID getIntrinsicForGCCBuiltin(const char *Prefix, const char *BuiltinName); } // End Intrinsic namespace