__builtin_ia32_movntdqa reads memory
[oota-llvm.git] / include / llvm / Intrinsics.h
index 47662501d69d4a114ad5a5ce74d55c7471c0d594..2027383dbfc50fecbe14768c865ebaca52a3c8a0 100644 (file)
@@ -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.
 //
 //===----------------------------------------------------------------------===//
 //
@@ -22,7 +22,7 @@ class Type;
 class FunctionType;
 class Function;
 class Module;
-class ParamAttrsList;
+class PAListPtr;
 
 /// Intrinsic Namespace - This namespace contains an enum with a value for
 /// every intrinsic/builtin function known by LLVM.  These enum values are
@@ -49,10 +49,16 @@ namespace Intrinsic {
 
   /// Intrinsic::getParamAttrs(ID) - Return the attributes for an intrinsic.
   ///
-  const ParamAttrsList *getParamAttrs(ID id);
+  PAListPtr getParamAttrs(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);